diff --git a/build/asset-manifest.json b/build/asset-manifest.json index fb09703f23778e1a1d9890b4efa9f9902006b6a0..d6970501b20a16244a5853190231db87e528105b 100644 --- a/build/asset-manifest.json +++ b/build/asset-manifest.json @@ -1,23 +1,23 @@ { "files": { - "main.css": "/presentation/static/css/main.223f5e23.chunk.css", - "main.js": "/presentation/static/js/main.87f9ffce.chunk.js", - "main.js.map": "/presentation/static/js/main.87f9ffce.chunk.js.map", - "runtime-main.js": "/presentation/static/js/runtime-main.e846712f.js", - "runtime-main.js.map": "/presentation/static/js/runtime-main.e846712f.js.map", - "static/js/2.3525fa8e.chunk.js": "/presentation/static/js/2.3525fa8e.chunk.js", - "static/js/2.3525fa8e.chunk.js.map": "/presentation/static/js/2.3525fa8e.chunk.js.map", - "index.html": "/presentation/index.html", - "static/css/main.223f5e23.chunk.css.map": "/presentation/static/css/main.223f5e23.chunk.css.map", - "static/js/2.3525fa8e.chunk.js.LICENSE.txt": "/presentation/static/js/2.3525fa8e.chunk.js.LICENSE.txt", - "static/media/catload.d22d6312.gif": "/presentation/static/media/catload.d22d6312.gif", - "static/media/dogload.7fd39847.gif": "/presentation/static/media/dogload.7fd39847.gif", - "static/media/platyload.ad32cb95.gif": "/presentation/static/media/platyload.ad32cb95.gif" + "main.css": "/autosubmittest/static/css/main.223f5e23.chunk.css", + "main.js": "/autosubmittest/static/js/main.0fbed5c1.chunk.js", + "main.js.map": "/autosubmittest/static/js/main.0fbed5c1.chunk.js.map", + "runtime-main.js": "/autosubmittest/static/js/runtime-main.c125d10d.js", + "runtime-main.js.map": "/autosubmittest/static/js/runtime-main.c125d10d.js.map", + "static/js/2.e9eebe2e.chunk.js": "/autosubmittest/static/js/2.e9eebe2e.chunk.js", + "static/js/2.e9eebe2e.chunk.js.map": "/autosubmittest/static/js/2.e9eebe2e.chunk.js.map", + "index.html": "/autosubmittest/index.html", + "static/css/main.223f5e23.chunk.css.map": "/autosubmittest/static/css/main.223f5e23.chunk.css.map", + "static/js/2.e9eebe2e.chunk.js.LICENSE.txt": "/autosubmittest/static/js/2.e9eebe2e.chunk.js.LICENSE.txt", + "static/media/catload.d22d6312.gif": "/autosubmittest/static/media/catload.d22d6312.gif", + "static/media/dogload.7fd39847.gif": "/autosubmittest/static/media/dogload.7fd39847.gif", + "static/media/platyload.ad32cb95.gif": "/autosubmittest/static/media/platyload.ad32cb95.gif" }, "entrypoints": [ - "static/js/runtime-main.e846712f.js", - "static/js/2.3525fa8e.chunk.js", + "static/js/runtime-main.c125d10d.js", + "static/js/2.e9eebe2e.chunk.js", "static/css/main.223f5e23.chunk.css", - "static/js/main.87f9ffce.chunk.js" + "static/js/main.0fbed5c1.chunk.js" ] } \ No newline at end of file diff --git a/build/index.html b/build/index.html index da0f452be1c2c37d041e8abeab84f18e3a15fbcb..9aafe84919ffb627ae69370ebe086edc2deaf22a 100644 --- a/build/index.html +++ b/build/index.html @@ -1 +1 @@ -Autosubmit GUI
\ No newline at end of file +Autosubmit GUI
\ No newline at end of file diff --git a/build/static/js/2.3525fa8e.chunk.js b/build/static/js/2.3525fa8e.chunk.js deleted file mode 100644 index d48488014f767abba58a87696e54312c99353e70..0000000000000000000000000000000000000000 --- a/build/static/js/2.3525fa8e.chunk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see 2.3525fa8e.chunk.js.LICENSE.txt */ -(this.webpackJsonpautosubmitgui=this.webpackJsonpautosubmitgui||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(55)},function(e,t,n){"use strict";e.exports=n(51)},function(e,t,n){"use strict";function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;tt?1:e>=t?0:NaN},r=function(e){var t;return 1===e.length&&(t=e,e=function(e,n){return i(t(e),n)}),{left:function(t,n,i,r){for(null==i&&(i=0),null==r&&(r=t.length);i>>1;e(t[o],n)<0?i=o+1:r=o}return i},right:function(t,n,i,r){for(null==i&&(i=0),null==r&&(r=t.length);i>>1;e(t[o],n)>0?r=o:i=o+1}return i}}};var o=r(i),s=o.right,a=(o.left,s);var l=function(e){return null===e?NaN:+e},u=function(e,t){var n,i,r,o=e.length,s=-1;if(null==t){for(;++s=n)for(i=r=n;++sn&&(i=n),r=n)for(i=r=n;++sn&&(i=n),r0)return[e];if((i=t0)for(e=Math.ceil(e/s),t=Math.floor(t/s),o=new Array(r=Math.ceil(t-e+1));++a=0?(o>=d?10:o>=h?5:o>=f?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(o>=d?10:o>=h?5:o>=f?2:1)}function g(e,t,n){var i=Math.abs(t-e)/Math.max(0,n),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),o=i/r;return o>=d?r*=10:o>=h?r*=5:o>=f&&(r*=2),t=n)for(i=n;++oi&&(i=n)}else for(;++o=n)for(i=n;++oi&&(i=n);return i},m=function(e,t){var n,i=e.length,r=i,o=-1,s=0;if(null==t)for(;++o=0;)for(t=(i=e[r]).length;--t>=0;)n[--s]=i[t];return n},_=function(e,t){var n,i,r=e.length,o=-1;if(null==t){for(;++o=n)for(i=n;++on&&(i=n)}else for(;++o=n)for(i=n;++on&&(i=n);return i};var w=Array.prototype.slice,x=function(e){return e},k=1e-6;function S(e){return"translate("+(e+.5)+",0)"}function E(e){return"translate(0,"+(e+.5)+")"}function T(e){return function(t){return+e(t)}}function C(e){var t=Math.max(0,e.bandwidth()-1)/2;return e.round()&&(t=Math.round(t)),function(n){return+e(n)+t}}function O(){return!this.__axis}function D(e,t){var n=[],i=null,r=null,o=6,s=6,a=3,l=1===e||4===e?-1:1,u=4===e||2===e?"x":"y",c=1===e||3===e?S:E;function d(d){var h=null==i?t.ticks?t.ticks.apply(t,n):t.domain():i,f=null==r?t.tickFormat?t.tickFormat.apply(t,n):x:r,p=Math.max(o,0)+a,v=t.range(),g=+v[0]+.5,y=+v[v.length-1]+.5,m=(t.bandwidth?C:T)(t.copy()),b=d.selection?d.selection():d,_=b.selectAll(".domain").data([null]),w=b.selectAll(".tick").data(h,t).order(),S=w.exit(),E=w.enter().append("g").attr("class","tick"),D=w.select("line"),M=w.select("text");_=_.merge(_.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),w=w.merge(E),D=D.merge(E.append("line").attr("stroke","#000").attr(u+"2",l*o)),M=M.merge(E.append("text").attr("fill","#000").attr(u,l*p).attr("dy",1===e?"0em":3===e?"0.71em":"0.32em")),d!==b&&(_=_.transition(d),w=w.transition(d),D=D.transition(d),M=M.transition(d),S=S.transition(d).attr("opacity",k).attr("transform",(function(e){return isFinite(e=m(e))?c(e):this.getAttribute("transform")})),E.attr("opacity",k).attr("transform",(function(e){var t=this.parentNode.__axis;return c(t&&isFinite(t=t(e))?t:m(e))}))),S.remove(),_.attr("d",4===e||2==e?"M"+l*s+","+g+"H0.5V"+y+"H"+l*s:"M"+g+","+l*s+"V0.5H"+y+"V"+l*s),w.attr("opacity",1).attr("transform",(function(e){return c(m(e))})),D.attr(u+"2",l*o),M.attr(u,l*p).text(f),b.filter(O).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===e?"start":4===e?"end":"middle"),b.each((function(){this.__axis=m}))}return d.scale=function(e){return arguments.length?(t=e,d):t},d.ticks=function(){return n=w.call(arguments),d},d.tickArguments=function(e){return arguments.length?(n=null==e?[]:w.call(e),d):n.slice()},d.tickValues=function(e){return arguments.length?(i=null==e?null:w.call(e),d):i&&i.slice()},d.tickFormat=function(e){return arguments.length?(r=e,d):r},d.tickSize=function(e){return arguments.length?(o=s=+e,d):o},d.tickSizeInner=function(e){return arguments.length?(o=+e,d):o},d.tickSizeOuter=function(e){return arguments.length?(s=+e,d):s},d.tickPadding=function(e){return arguments.length?(a=+e,d):a},d}function M(e){return D(1,e)}function N(e){return D(3,e)}function P(e){return D(4,e)}var A={value:function(){}};function F(){for(var e,t=0,n=arguments.length,i={};t=0&&(n=e.slice(i+1),e=e.slice(0,i)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function I(e,t){for(var n,i=0,r=e.length;i0)for(var n,i,r=new Array(n),o=0;o=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),B.hasOwnProperty(t)?{space:B[t],local:e}:e};function W(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===H&&t.documentElement.namespaceURI===H?t.createElement(e):t.createElementNS(n,e)}}function U(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}var V=function(e){var t=Y(e);return(t.local?U:W)(t)};function q(){}var G=function(e){return null==e?q:function(){return this.querySelector(e)}};function $(){return[]}var X=function(e){return null==e?$:function(){return this.querySelectorAll(e)}},K=function(e){return function(){return this.matches(e)}};if("undefined"!==typeof document){var Z=document.documentElement;if(!Z.matches){var Q=Z.webkitMatchesSelector||Z.msMatchesSelector||Z.mozMatchesSelector||Z.oMatchesSelector;K=function(e){return function(){return Q.call(this,e)}}}}var J=K,ee=function(e){return new Array(e.length)};function te(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}te.prototype={constructor:te,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function ne(e,t,n,i,r,o){for(var s,a=0,l=t.length,u=o.length;at?1:e>=t?0:NaN}function oe(e){return function(){this.removeAttribute(e)}}function se(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ae(e,t){return function(){this.setAttribute(e,t)}}function le(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function ue(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function ce(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}var de=function(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView};function he(e){return function(){this.style.removeProperty(e)}}function fe(e,t,n){return function(){this.style.setProperty(e,t,n)}}function pe(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function ve(e,t){return e.style.getPropertyValue(t)||de(e).getComputedStyle(e,null).getPropertyValue(t)}function ge(e){return function(){delete this[e]}}function ye(e,t){return function(){this[e]=t}}function me(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function be(e){return e.trim().split(/^|\s+/)}function _e(e){return e.classList||new we(e)}function we(e){this._node=e,this._names=be(e.getAttribute("class")||"")}function xe(e,t){for(var n=_e(e),i=-1,r=t.length;++i=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Ce(){this.textContent=""}function Oe(e){return function(){this.textContent=e}}function De(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function Me(){this.innerHTML=""}function Ne(e){return function(){this.innerHTML=e}}function Pe(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function Ae(){this.nextSibling&&this.parentNode.appendChild(this)}function Fe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Re(){return null}function je(){var e=this.parentNode;e&&e.removeChild(this)}function Ie(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function Le(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var ze={},He=null;"undefined"!==typeof document&&("onmouseenter"in document.documentElement||(ze={mouseenter:"mouseover",mouseleave:"mouseout"}));function Be(e,t,n){return e=Ye(e,t,n),function(t){var n=t.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||e.call(this,t)}}function Ye(e,t,n){return function(i){var r=He;He=i;try{e.call(this,this.__data__,t,n)}finally{He=r}}}function We(e){return e.trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}function Ue(e){return function(){var t=this.__on;if(t){for(var n,i=0,r=-1,o=t.length;i=w&&(w=_+1);!(b=y[w])&&++w=0;)(i=r[o])&&(s&&s!==i.nextSibling&&s.parentNode.insertBefore(i,s),s=i);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=re);for(var n=this._groups,i=n.length,r=new Array(i),o=0;o1?this.each((null==t?he:"function"===typeof t?pe:fe)(e,t,null==n?"":n)):ve(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?ge:"function"===typeof t?me:ye)(e,t)):this.node()[e]},classed:function(e,t){var n=be(e+"");if(arguments.length<2){for(var i=_e(this.node()),r=-1,o=n.length;++r>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):(t=ft.exec(e))?xt(parseInt(t[1],16)):(t=pt.exec(e))?new Tt(t[1],t[2],t[3],1):(t=vt.exec(e))?new Tt(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=gt.exec(e))?kt(t[1],t[2],t[3],t[4]):(t=yt.exec(e))?kt(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=mt.exec(e))?Ct(t[1],t[2]/100,t[3]/100,1):(t=bt.exec(e))?Ct(t[1],t[2]/100,t[3]/100,t[4]):_t.hasOwnProperty(e)?xt(_t[e]):"transparent"===e?new Tt(NaN,NaN,NaN,0):null}function xt(e){return new Tt(e>>16&255,e>>8&255,255&e,1)}function kt(e,t,n,i){return i<=0&&(e=t=n=NaN),new Tt(e,t,n,i)}function St(e){return e instanceof st||(e=wt(e)),e?new Tt((e=e.rgb()).r,e.g,e.b,e.opacity):new Tt}function Et(e,t,n,i){return 1===arguments.length?St(e):new Tt(e,t,n,null==i?1:i)}function Tt(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function Ct(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Mt(e,t,n,i)}function Ot(e){if(e instanceof Mt)return new Mt(e.h,e.s,e.l,e.opacity);if(e instanceof st||(e=wt(e)),!e)return new Mt;if(e instanceof Mt)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),o=Math.max(t,n,i),s=NaN,a=o-r,l=(o+r)/2;return a?(s=t===o?(n-i)/a+6*(n0&&l<1?0:s,new Mt(s,a,l,e.opacity)}function Dt(e,t,n,i){return 1===arguments.length?Ot(e):new Mt(e,t,n,null==i?1:i)}function Mt(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function Nt(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}rt(st,wt,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),rt(Tt,Et,ot(st,{brighter:function(e){return e=null==e?lt:Math.pow(lt,e),new Tt(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?at:Math.pow(at,e),new Tt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}})),rt(Mt,Dt,ot(st,{brighter:function(e){return e=null==e?lt:Math.pow(lt,e),new Mt(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?at:Math.pow(at,e),new Mt(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new Tt(Nt(e>=240?e-240:e+120,r,i),Nt(e,r,i),Nt(e<120?e+240:e-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var Pt=Math.PI/180,At=180/Math.PI,Ft=.95047,Rt=1.08883,jt=4/29,It=6/29,Lt=3*It*It;function zt(e){if(e instanceof Bt)return new Bt(e.l,e.a,e.b,e.opacity);if(e instanceof $t){var t=e.h*Pt;return new Bt(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}e instanceof Tt||(e=St(e));var n=Vt(e.r),i=Vt(e.g),r=Vt(e.b),o=Yt((.4124564*n+.3575761*i+.1804375*r)/Ft),s=Yt((.2126729*n+.7151522*i+.072175*r)/1);return new Bt(116*s-16,500*(o-s),200*(s-Yt((.0193339*n+.119192*i+.9503041*r)/Rt)),e.opacity)}function Ht(e,t,n,i){return 1===arguments.length?zt(e):new Bt(e,t,n,null==i?1:i)}function Bt(e,t,n,i){this.l=+e,this.a=+t,this.b=+n,this.opacity=+i}function Yt(e){return e>.008856451679035631?Math.pow(e,1/3):e/Lt+jt}function Wt(e){return e>It?e*e*e:Lt*(e-jt)}function Ut(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Vt(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function qt(e){if(e instanceof $t)return new $t(e.h,e.c,e.l,e.opacity);e instanceof Bt||(e=zt(e));var t=Math.atan2(e.b,e.a)*At;return new $t(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function Gt(e,t,n,i){return 1===arguments.length?qt(e):new $t(e,t,n,null==i?1:i)}function $t(e,t,n,i){this.h=+e,this.c=+t,this.l=+n,this.opacity=+i}rt(Bt,Ht,ot(st,{brighter:function(e){return new Bt(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new Bt(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return e=1*Wt(e),new Tt(Ut(3.2404542*(t=Ft*Wt(t))-1.5371385*e-.4985314*(n=Rt*Wt(n))),Ut(-.969266*t+1.8760108*e+.041556*n),Ut(.0556434*t-.2040259*e+1.0572252*n),this.opacity)}})),rt($t,Gt,ot(st,{brighter:function(e){return new $t(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker:function(e){return new $t(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb:function(){return zt(this).rgb()}}));var Xt=-.14861,Kt=1.78277,Zt=-.29227,Qt=-.90649,Jt=1.97294,en=-1.7884503806,tn=3.5172982438,nn=-.6557636667999999;function rn(e){if(e instanceof sn)return new sn(e.h,e.s,e.l,e.opacity);e instanceof Tt||(e=St(e));var t=e.r/255,n=e.g/255,i=e.b/255,r=(nn*i+en*t-tn*n)/(nn+en-tn),o=i-r,s=(Jt*(n-r)-Zt*o)/Qt,a=Math.sqrt(s*s+o*o)/(Jt*r*(1-r)),l=a?Math.atan2(s,o)*At-120:NaN;return new sn(l<0?l+360:l,a,r,e.opacity)}function on(e,t,n,i){return 1===arguments.length?rn(e):new sn(e,t,n,null==i?1:i)}function sn(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function an(e,t,n,i,r){var o=e*e,s=o*e;return((1-3*e+3*o-s)*t+(4-6*o+3*s)*n+(1+3*e+3*o-3*s)*i+s*r)/6}rt(sn,on,ot(st,{brighter:function(e){return e=null==e?lt:Math.pow(lt,e),new sn(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?at:Math.pow(at,e),new sn(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*Pt,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),i=Math.cos(e),r=Math.sin(e);return new Tt(255*(t+n*(Xt*i+Kt*r)),255*(t+n*(Zt*i+Qt*r)),255*(t+n*(Jt*i)),this.opacity)}}));var ln=function(e){return function(){return e}};function un(e,t){return function(n){return e+n*t}}function cn(e,t){var n=t-e;return n?un(e,n>180||n<-180?n-360*Math.round(n/360):n):ln(isNaN(e)?t:e)}function dn(e){return 1===(e=+e)?hn:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}(t,n,e):ln(isNaN(t)?n:t)}}function hn(e,t){var n=t-e;return n?un(e,n):ln(isNaN(e)?t:e)}var fn=function e(t){var n=dn(t);function i(e,t){var i=n((e=Et(e)).r,(t=Et(t)).r),r=n(e.g,t.g),o=n(e.b,t.b),s=hn(e.opacity,t.opacity);return function(t){return e.r=i(t),e.g=r(t),e.b=o(t),e.opacity=s(t),e+""}}return i.gamma=e,i}(1);function pn(e){return function(t){var n,i,r=t.length,o=new Array(r),s=new Array(r),a=new Array(r);for(n=0;n=1?(n=1,t-1):Math.floor(n*t),r=e[i],o=e[i+1],s=i>0?e[i-1]:2*r-o,a=io&&(r=t.slice(o,r),a[s]?a[s]+=r:a[++s]=r),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:yn(n,i)})),o=_n.lastIndex;return o180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(r(n)+"rotate(",null,i)-2,x:yn(e,t)})):t&&n.push(r(n)+"rotate("+t+i)}(o.rotate,s.rotate,a,l),function(e,t,n,o){e!==t?o.push({i:n.push(r(n)+"skewX(",null,i)-2,x:yn(e,t)}):t&&n.push(r(n)+"skewX("+t+i)}(o.skewX,s.skewX,a,l),function(e,t,n,i,o,s){if(e!==n||t!==i){var a=o.push(r(o)+"scale(",null,",",null,")");s.push({i:a-4,x:yn(e,n)},{i:a-2,x:yn(t,i)})}else 1===n&&1===i||o.push(r(o)+"scale("+n+","+i+")")}(o.scaleX,o.scaleY,s.scaleX,s.scaleY,a,l),o=s=null,function(e){for(var t,n=-1,i=l.length;++n=0&&t._call.call(null,e),t=t._next;--Hn}()}finally{Hn=0,function(){var e,t,n=In,i=1/0;for(;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:In=t);Ln=e,ei(i)}(),Un=0}}function Jn(){var e=qn.now(),t=e-Wn;t>1e3&&(Vn-=t,Wn=e)}function ei(e){Hn||(Bn&&(Bn=clearTimeout(Bn)),e-Un>24?(e<1/0&&(Bn=setTimeout(Qn,e-qn.now()-Vn)),Yn&&(Yn=clearInterval(Yn))):(Yn||(Wn=qn.now(),Yn=setInterval(Jn,1e3)),Hn=1,Gn(Qn)))}Kn.prototype=Zn.prototype={constructor:Kn,restart:function(e,t,n){if("function"!==typeof e)throw new TypeError("callback is not a function");n=(null==n?$n():+n)+(null==t?0:+t),this._next||Ln===this||(Ln?Ln._next=this:In=this,Ln=this),this._call=e,this._time=n,ei()},stop:function(){this._call&&(this._call=null,this._time=1/0,ei())}};var ti=function(e,t,n){var i=new Kn;return t=null==t?0:+t,i.restart((function(n){i.stop(),e(n+t)}),t,n),i},ni=z("start","end","interrupt"),ii=[],ri=function(e,t,n,i,r,o){var s=e.__transition;if(s){if(n in s)return}else e.__transition={};!function(e,t,n){var i,r=e.__transition;function o(e){n.state=1,n.timer.restart(s,n.delay,n.time),n.delay<=e&&s(e-n.delay)}function s(o){var u,c,d,h;if(1!==n.state)return l();for(u in r)if((h=r[u]).name===n.name){if(3===h.state)return ti(s);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[u]):+u0)throw new Error("too late; already scheduled");return n}function si(e,t){var n=ai(e,t);if(n.state>2)throw new Error("too late; already started");return n}function ai(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}var li=function(e,t){var n,i,r,o=e.__transition,s=!0;if(o){for(r in t=null==t?null:t+"",o)(n=o[r]).name===t?(i=n.state>2&&n.state<5,n.state=6,n.timer.stop(),i&&n.on.call("interrupt",e,e.__data__,n.index,n.group),delete o[r]):s=!1;s&&delete e.__transition}};function ui(e,t){var n,i;return function(){var r=si(this,e),o=r.tween;if(o!==n)for(var s=0,a=(i=n=o).length;s=0&&(e=e.slice(0,t)),!e||"start"===e}))}(t)?oi:si;return function(){var s=o(this,e),a=s.on;a!==i&&(r=(i=a).copy()).on(t,n),s.on=r}}var Ci=Qe.prototype.constructor;function Oi(e,t,n){function i(){var i=this,r=t.apply(i,arguments);return r&&function(t){i.style.setProperty(e,r(t),n)}}return i._value=t,i}var Di=0;function Mi(e,t,n,i){this._groups=e,this._parents=t,this._name=n,this._id=i}function Ni(){return++Di}var Pi=Qe.prototype;function Ai(e){return+e}Mi.prototype=function(e){return Qe().transition(e)}.prototype={constructor:Mi,select:function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=G(e));for(var i=this._groups,r=i.length,o=new Array(r),s=0;sBi)if(Math.abs(c*a-l*u)>Bi&&r){var h=n-o,f=i-s,p=a*a+l*l,v=h*h+f*f,g=Math.sqrt(p),y=Math.sqrt(d),m=r*Math.tan((zi-Math.acos((p+d-v)/(2*g*y)))/2),b=m/y,_=m/g;Math.abs(b-1)>Bi&&(this._+="L"+(e+b*u)+","+(t+b*c)),this._+="A"+r+","+r+",0,0,"+ +(c*h>u*f)+","+(this._x1=e+_*a)+","+(this._y1=t+_*l)}else this._+="L"+(this._x1=e)+","+(this._y1=t);else;},arc:function(e,t,n,i,r,o){e=+e,t=+t;var s=(n=+n)*Math.cos(i),a=n*Math.sin(i),l=e+s,u=t+a,c=1^o,d=o?i-r:r-i;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Bi||Math.abs(this._y1-u)>Bi)&&(this._+="L"+l+","+u),n&&(d<0&&(d=d%Hi+Hi),d>Yi?this._+="A"+n+","+n+",0,1,"+c+","+(e-s)+","+(t-a)+"A"+n+","+n+",0,1,"+c+","+(this._x1=l)+","+(this._y1=u):d>Bi&&(this._+="A"+n+","+n+",0,"+ +(d>=zi)+","+c+","+(this._x1=e+n*Math.cos(r))+","+(this._y1=t+n*Math.sin(r))))},rect:function(e,t,n,i){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var Vi="$";function qi(){}function Gi(e,t){var n=new qi;if(e instanceof qi)e.each((function(e,t){n.set(t,e)}));else if(Array.isArray(e)){var i,r=-1,o=e.length;if(null==t)for(;++r=o?l=!0:10===(i=e.charCodeAt(s++))?u=!0:13===i&&(u=!0,10===e.charCodeAt(s)&&++s),e.slice(r+1,t-1).replace(/""/g,'"')}for(;s=(o=(v+y)/2))?v=o:y=o,(c=n>=(s=(g+m)/2))?g=s:m=s,r=f,!(f=f[d=c<<1|u]))return r[d]=p,e;if(a=+e._x.call(null,f.data),l=+e._y.call(null,f.data),t===a&&n===l)return p.next=f,r?r[d]=p:e._root=p,e;do{r=r?r[d]=new Array(4):e._root=new Array(4),(u=t>=(o=(v+y)/2))?v=o:y=o,(c=n>=(s=(g+m)/2))?g=s:m=s}while((d=c<<1|u)===(h=(l>=s)<<1|a>=o));return r[h]=f,r[d]=p,e}var ar=function(e,t,n,i,r){this.node=e,this.x0=t,this.y0=n,this.x1=i,this.y1=r};function lr(e){return e[0]}function ur(e){return e[1]}function cr(e,t,n){var i=new dr(null==t?lr:t,null==n?ur:n,NaN,NaN,NaN,NaN);return null==e?i:i.addAll(e)}function dr(e,t,n,i,r,o){this._x=e,this._y=t,this._x0=n,this._y0=i,this._x1=r,this._y1=o,this._root=void 0}function hr(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var fr=cr.prototype=dr.prototype;fr.copy=function(){var e,t,n=new dr(this._x,this._y,this._x0,this._y0,this._x1,this._y1),i=this._root;if(!i)return n;if(!i.length)return n._root=hr(i),n;for(e=[{source:i,target:n._root=new Array(4)}];i=e.pop();)for(var r=0;r<4;++r)(t=i.source[r])&&(t.length?e.push({source:t,target:i.target[r]=new Array(4)}):i.target[r]=hr(t));return n},fr.add=function(e){var t=+this._x.call(null,e),n=+this._y.call(null,e);return sr(this.cover(t,n),t,n,e)},fr.addAll=function(e){var t,n,i,r,o=e.length,s=new Array(o),a=new Array(o),l=1/0,u=1/0,c=-1/0,d=-1/0;for(n=0;nc&&(c=i),rd&&(d=r));for(ce||e>r||i>t||t>o))return this;var s,a,l=r-n,u=this._root;switch(a=(t<(i+o)/2)<<1|e<(n+r)/2){case 0:do{(s=new Array(4))[a]=u,u=s}while(o=i+(l*=2),e>(r=n+l)||t>o);break;case 1:do{(s=new Array(4))[a]=u,u=s}while(o=i+(l*=2),(n=r-l)>e||t>o);break;case 2:do{(s=new Array(4))[a]=u,u=s}while(i=o-(l*=2),e>(r=n+l)||i>t);break;case 3:do{(s=new Array(4))[a]=u,u=s}while(i=o-(l*=2),(n=r-l)>e||i>t)}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=i,this._x1=r,this._y1=o,this},fr.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},fr.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},fr.find=function(e,t,n){var i,r,o,s,a,l,u,c=this._x0,d=this._y0,h=this._x1,f=this._y1,p=[],v=this._root;for(v&&p.push(new ar(v,c,d,h,f)),null==n?n=1/0:(c=e-n,d=t-n,h=e+n,f=t+n,n*=n);l=p.pop();)if(!(!(v=l.node)||(r=l.x0)>h||(o=l.y0)>f||(s=l.x1)=y)<<1|e>=g)&&(l=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=l)}else{var m=e-+this._x.call(null,v.data),b=t-+this._y.call(null,v.data),_=m*m+b*b;if(_=(a=(p+g)/2))?p=a:g=a,(c=s>=(l=(v+y)/2))?v=l:y=l,t=f,!(f=f[d=c<<1|u]))return this;if(!f.length)break;(t[d+1&3]||t[d+2&3]||t[d+3&3])&&(n=t,h=d)}for(;f.data!==e;)if(i=f,!(f=f.next))return this;return(r=f.next)&&delete f.next,i?(r?i.next=r:delete i.next,this):t?(r?t[d]=r:delete t[d],(f=t[0]||t[1]||t[2]||t[3])&&f===(t[3]||t[2]||t[1]||t[0])&&!f.length&&(n?n[h]=f:this._root=f),this):(this._root=r,this)},fr.removeAll=function(e){for(var t=0,n=e.length;t1?i[0]+i.slice(2):i,+e.slice(n+1)]},gr=function(e){return(e=vr(Math.abs(e)))?e[1]:NaN},yr=function(e,t){var n=vr(e,t);if(!n)return e+"";var i=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")},mr={"":function(e,t){e:for(var n,i=(e=e.toPrecision(t)).length,r=1,o=-1;r0&&(o=0)}return o>0?e.slice(0,o)+e.slice(n+1):e},"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.round(e).toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return yr(100*e,t)},r:yr,s:function(e,t){var n=vr(e,t);if(!n)return e+"";var i=n[0],r=n[1],o=r-(pr=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,s=i.length;return o===s?i:o>s?i+new Array(o-s+1).join("0"):o>0?i.slice(0,o)+"."+i.slice(o):"0."+new Array(1-o).join("0")+vr(e,Math.max(0,t+o-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}},br=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;function _r(e){return new wr(e)}function wr(e){if(!(t=br.exec(e)))throw new Error("invalid format: "+e);var t,n=t[1]||" ",i=t[2]||">",r=t[3]||"-",o=t[4]||"",s=!!t[5],a=t[6]&&+t[6],l=!!t[7],u=t[8]&&+t[8].slice(1),c=t[9]||"";"n"===c?(l=!0,c="g"):mr[c]||(c=""),(s||"0"===n&&"="===i)&&(s=!0,n="0",i="="),this.fill=n,this.align=i,this.sign=r,this.symbol=o,this.zero=s,this.width=a,this.comma=l,this.precision=u,this.type=c}_r.prototype=wr.prototype,wr.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var xr,kr,Sr,Er=function(e){return e},Tr=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];xr=function(e){var t,n,i=e.grouping&&e.thousands?(t=e.grouping,n=e.thousands,function(e,i){for(var r=e.length,o=[],s=0,a=t[0],l=0;r>0&&a>0&&(l+a+1>i&&(a=Math.max(1,i-l)),o.push(e.substring(r-=a,r+a)),!((l+=a+1)>i));)a=t[s=(s+1)%t.length];return o.reverse().join(n)}):Er,r=e.currency,o=e.decimal,s=e.numerals?function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(e.numerals):Er,a=e.percent||"%";function l(e){var t=(e=_r(e)).fill,n=e.align,l=e.sign,u=e.symbol,c=e.zero,d=e.width,h=e.comma,f=e.precision,p=e.type,v="$"===u?r[0]:"#"===u&&/[boxX]/.test(p)?"0"+p.toLowerCase():"",g="$"===u?r[1]:/[%p]/.test(p)?a:"",y=mr[p],m=!p||/[defgprs%]/.test(p);function b(e){var r,a,u,b=v,_=g;if("c"===p)_=y(e)+_,e="";else{var w=(e=+e)<0;if(e=y(Math.abs(e),f),w&&0===+e&&(w=!1),b=(w?"("===l?l:"-":"-"===l||"("===l?"":l)+b,_=("s"===p?Tr[8+pr/3]:"")+_+(w&&"("===l?")":""),m)for(r=-1,a=e.length;++r(u=e.charCodeAt(r))||u>57){_=(46===u?o+e.slice(r+1):e.slice(r))+_,e=e.slice(0,r);break}}h&&!c&&(e=i(e,1/0));var x=b.length+e.length+_.length,k=x>1)+b+e+_+k.slice(x);break;default:e=k+b+e+_}return s(e)}return f=null==f?p?6:12:/[gprs]/.test(p)?Math.max(1,Math.min(21,f)):Math.max(0,Math.min(20,f)),b.toString=function(){return e+""},b}return{format:l,formatPrefix:function(e,t){var n=l(((e=_r(e)).type="f",e)),i=3*Math.max(-8,Math.min(8,Math.floor(gr(t)/3))),r=Math.pow(10,-i),o=Tr[8+i/3];return function(e){return n(r*e)+o}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),kr=xr.format,Sr=xr.formatPrefix;var Cr=function(){return new Or};function Or(){this.reset()}Or.prototype={constructor:Or,reset:function(){this.s=this.t=0},add:function(e){Mr(Dr,e,this.t),Mr(this,Dr.s,this.s),this.s?this.t+=Dr.t:this.s=Dr.t},valueOf:function(){return this.s}};var Dr=new Or;function Mr(e,t,n){var i=e.s=t+n,r=i-t,o=i-r;e.t=t-o+(n-r)}var Nr=1e-6,Pr=Math.PI,Ar=Pr/2,Fr=Pr/4,Rr=2*Pr,jr=Pr/180,Ir=Math.abs,Lr=Math.atan,zr=Math.atan2,Hr=Math.cos,Br=(Math.ceil,Math.exp),Yr=(Math.floor,Math.log),Wr=(Math.pow,Math.sin),Ur=(Math.sign,Math.sqrt),Vr=Math.tan;function qr(e){return e>1?0:e<-1?Pr:Math.acos(e)}function Gr(e){return e>1?Ar:e<-1?-Ar:Math.asin(e)}function $r(){}Cr(),Cr();function Xr(e){var t=e[0],n=e[1],i=Hr(n);return[i*Hr(t),i*Wr(t),Wr(n)]}function Kr(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function Zr(e){var t=Ur(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}Cr();function Qr(e,t){return[e>Pr?e-Rr:e<-Pr?e+Rr:e,t]}Qr.invert=Qr;var Jr=function(){var e,t=[];return{point:function(t,n){e.push([t,n])},lineStart:function(){t.push(e=[])},lineEnd:$r,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}},eo=function(e,t){return Ir(e[0]-t[0])=0;--o)r.point((c=u[o])[0],c[1]);else i(h.x,h.p.x,-1,r);h=h.p}u=(h=h.o).z,f=!f}while(!h.v);r.lineEnd()}}};function io(e){if(t=e.length){for(var t,n,i=0,r=e[0];++i=0?1:-1,S=k*x,E=S>Pr,T=p*_;if(ro.add(zr(T*k*Wr(S),v*w+T*Hr(S))),o+=E?x+k*Rr:x,E^h>=n^m>=n){var C=Kr(Xr(d),Xr(y));Zr(C);var O=Kr(r,C);Zr(O);var D=(E^x>=0?-1:1)*Gr(O[2]);(i>D||i===D&&(C[0]||C[1]))&&(s+=E^x>=0?1:-1)}}return(o<-1e-6||o0){for(d||(r.polygonStart(),d=!0),r.lineStart(),e=0;e1&&2&l&&h.push(h.pop().concat(h.shift())),s.push(h.filter(ao))}return h}};function ao(e){return e.length>1}function lo(e,t){return((e=e.x)[0]<0?e[1]-Ar-Nr:Ar-e[1])-((t=t.x)[0]<0?t[1]-Ar-Nr:Ar-t[1])}so((function(){return!0}),(function(e){var t,n=NaN,i=NaN,r=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(o,s){var a=o>0?Pr:-Pr,l=Ir(o-n);Ir(l-Pr)0?Ar:-Ar),e.point(r,i),e.lineEnd(),e.lineStart(),e.point(a,i),e.point(o,i),t=0):r!==a&&l>=Pr&&(Ir(n-r)Nr?Lr((Wr(t)*(o=Hr(i))*Wr(n)-Wr(i)*(r=Hr(t))*Wr(e))/(r*o*s)):(t+i)/2}(n,i,o,s),e.point(r,i),e.lineEnd(),e.lineStart(),e.point(a,i),t=0),e.point(n=o,i=s),r=a},lineEnd:function(){e.lineEnd(),n=i=NaN},clean:function(){return 2-t}}}),(function(e,t,n,i){var r;if(null==e)r=n*Ar,i.point(-Pr,r),i.point(0,r),i.point(Pr,r),i.point(Pr,0),i.point(Pr,-r),i.point(0,-r),i.point(-Pr,-r),i.point(-Pr,0),i.point(-Pr,r);else if(Ir(e[0]-t[0])>Nr){var o=e[0]Nr&&--r>0);return[e/(.8707+(o=i*i)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),i]};function ko(e,t){return[Hr(t)*Wr(e),Wr(t)]}ko.invert=go(Gr);function So(e,t){var n=Hr(t),i=1+Hr(e)*n;return[n*Wr(e)/i,Wr(t)/i]}So.invert=go((function(e){return 2*Lr(e)}));function Eo(e,t){return[Yr(Vr((Ar+t)/2)),-e]}Eo.invert=function(e,t){return[-t,2*Lr(Br(e))-Ar]};function To(e){var t=0,n=e.children,i=n&&n.length;if(i)for(;--i>=0;)t+=n[i].value;else t=1;e.value=t}function Co(e,t){var n,i,r,o,s,a=new No(e),l=+e.value&&(a.value=e.value),u=[a];for(null==t&&(t=Oo);n=u.pop();)if(l&&(n.value=+n.data.value),(r=t(n.data))&&(s=r.length))for(n.children=new Array(s),o=s-1;o>=0;--o)u.push(i=n.children[o]=new No(r[o])),i.parent=n,i.depth=n.depth+1;return a.eachBefore(Mo)}function Oo(e){return e.children}function Do(e){e.data=e.data.data}function Mo(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function No(e){this.data=e,this.depth=this.height=0,this.parent=null}No.prototype=Co.prototype={constructor:No,count:function(){return this.eachAfter(To)},each:function(e){var t,n,i,r,o=this,s=[o];do{for(t=s.reverse(),s=[];o=t.pop();)if(e(o),n=o.children)for(i=0,r=n.length;i=0;--n)r.push(t[n]);return this},sum:function(e){return this.eachAfter((function(t){for(var n=+e(t.data)||0,i=t.children,r=i&&i.length;--r>=0;)n+=i[r].value;t.value=n}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),i=t.ancestors(),r=null;e=n.pop(),t=i.pop();for(;e===t;)r=e,e=n.pop(),t=i.pop();return r}(t,e),i=[t];t!==n;)t=t.parent,i.push(t);for(var r=i.length;e!==n;)i.splice(r,0,e),e=e.parent;return i},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){var e=[];return this.each((function(t){e.push(t)})),e},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},copy:function(){return Co(this).eachBefore(Do)}};Array.prototype.slice;var Po=function(e,t,n,i,r){for(var o,s=e.children,a=-1,l=s.length,u=e.value&&(i-t)/e.value;++ah&&(h=a),g=c*c*v,(f=Math.max(h/g,g/d))>p){c-=a;break}p=f}y.push(s={value:c,dice:l1?t:1)},n})(Ro),function e(t){function n(e,n,i,r,o){if((s=e._squarify)&&s.ratio===t)for(var s,a,l,u,c,d=-1,h=s.length,f=e.value;++d1?t:1)},n}(Ro);var Io=[].slice,Lo={};function zo(e){this._size=e,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function Ho(e){if(!e._start)try{!function(e){for(;e._start=e._waiting&&e._active=0;)if((n=e._tasks[i])&&(e._tasks[i]=null,n.abort))try{n.abort()}catch(t){}e._active=NaN,Wo(e)}function Wo(e){if(!e._active&&e._call){var t=e._data;e._data=void 0,e._call(e._error,t)}}zo.prototype=function(e){if(null==e)e=1/0;else if(!((e=+e)>=1))throw new Error("invalid concurrency");return new zo(e)}.prototype={constructor:zo,defer:function(e){if("function"!==typeof e)throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(null!=this._error)return this;var t=Io.call(arguments,1);return t.push(e),++this._waiting,this._tasks.push(t),Ho(this),this},abort:function(){return null==this._error&&Yo(this,new Error("abort")),this},await:function(e){if("function"!==typeof e)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=function(t,n){e.apply(null,[t].concat(n))},Wo(this),this},awaitAll:function(e){if("function"!==typeof e)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=e,Wo(this),this}};var Uo=function(){return Math.random()},Vo=(function e(t){function n(e,n){return e=null==e?0:+e,n=null==n?1:+n,1===arguments.length?(n=e,e=0):n-=e,function(){return t()*n+e}}return n.source=e,n}(Uo),function e(t){function n(e,n){var i,r;return e=null==e?0:+e,n=null==n?1:+n,function(){var o;if(null!=i)o=i,i=null;else do{i=2*t()-1,o=2*t()-1,r=i*i+o*o}while(!r||r>1);return e+n*o*Math.sqrt(-2*Math.log(r)/r)}}return n.source=e,n}(Uo)),qo=(function e(t){function n(){var e=Vo.source(t).apply(this,arguments);return function(){return Math.exp(e())}}return n.source=e,n}(Uo),function e(t){function n(e){return function(){for(var n=0,i=0;i=200&&i<300||304===i){if(r)try{t=r.call(n,l)}catch(o){return void s.call("error",n,o)}else t=l;s.call("load",n,t)}else s.call("error",n,e)}if("undefined"!==typeof XDomainRequest&&!("withCredentials"in l)&&/^(http(s)?:)?\/\//.test(e)&&(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=l.ontimeout=h:l.onreadystatechange=function(e){l.readyState>3&&h(e)},l.onprogress=function(e){s.call("progress",n,e)},n={header:function(e,t){return e=(e+"").toLowerCase(),arguments.length<2?a.get(e):(null==t?a.remove(e):a.set(e,t+""),n)},mimeType:function(e){return arguments.length?(i=null==e?null:e+"",n):i},responseType:function(e){return arguments.length?(o=e,n):o},timeout:function(e){return arguments.length?(d=+e,n):d},user:function(e){return arguments.length<1?u:(u=null==e?null:e+"",n)},password:function(e){return arguments.length<1?c:(c=null==e?null:e+"",n)},response:function(e){return r=e,n},get:function(e,t){return n.send("GET",e,t)},post:function(e,t){return n.send("POST",e,t)},send:function(t,r,h){return l.open(t,e,!0,u,c),null==i||a.has("accept")||a.set("accept",i+",*/*"),l.setRequestHeader&&a.each((function(e,t){l.setRequestHeader(t,e)})),null!=i&&l.overrideMimeType&&l.overrideMimeType(i),null!=o&&(l.responseType=o),d>0&&(l.timeout=d),null==h&&"function"===typeof r&&(h=r,r=null),null!=h&&1===h.length&&(h=function(e){return function(t,n){e(null==t?n:null)}}(h)),null!=h&&n.on("error",h).on("load",(function(e){h(null,e)})),s.call("beforesend",n,l),l.send(null==r?null:r),n},abort:function(){return l.abort(),n},on:function(){var e=s.on.apply(s,arguments);return e===s?n:e}},null!=t){if("function"!==typeof t)throw new Error("invalid callback: "+t);return n.get(t)}return n});var $o=function(e,t){return function(n,i){var r=Go(n).mimeType(e).response(t);if(null!=i){if("function"!==typeof i)throw new Error("invalid callback: "+i);return r.get(i)}return r}},Xo=($o("text/html",(function(e){return document.createRange().createContextualFragment(e.responseText)})),$o("application/json",(function(e){return JSON.parse(e.responseText)})),$o("text/plain",(function(e){return e.responseText})),$o("application/xml",(function(e){var t=e.responseXML;if(!t)throw new Error("parse error");return t})),function(e,t){return function(n,i,r){arguments.length<3&&(r=i,i=null);var o=Go(n).mimeType(e);return o.row=function(e){return arguments.length?o.response(Ko(t,i=e)):i},o.row(i),r?o.get(r):o}});function Ko(e,t){return function(n){return e(n.responseText,t)}}Xo("text/csv",ir),Xo("text/tab-separated-values",or);var Zo=Array.prototype,Qo=Zo.map,Jo=Zo.slice;var es=function(e){return function(){return e}},ts=function(e){return+e},ns=[0,1];function is(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:es(t)}function rs(e,t,n,i){var r=e[0],o=e[1],s=t[0],a=t[1];return o2?os:rs,i=r=null,c}function c(t){return(i||(i=n(o,s,l?function(e){return function(t,n){var i=e(t=+t,n=+n);return function(e){return e<=t?0:e>=n?1:i(e)}}}(e):e,a)))(+t)}return c.invert=function(e){return(r||(r=n(s,o,is,l?function(e){return function(t,n){var i=e(t=+t,n=+n);return function(e){return e<=0?t:e>=1?n:i(e)}}}(t):t)))(+e)},c.domain=function(e){return arguments.length?(o=Qo.call(e,ts),u()):o.slice()},c.range=function(e){return arguments.length?(s=Jo.call(e),u()):s.slice()},c.rangeRound=function(e){return s=Jo.call(e),a=Cn,u()},c.clamp=function(e){return arguments.length?(l=!!e,u()):l},c.interpolate=function(e){return arguments.length?(a=e,u()):a},u()}var ls=function(e,t,n){var i,r=e[0],o=e[e.length-1],s=g(r,o,null==t?10:t);switch((n=_r(null==n?",f":n)).type){case"s":var a=Math.max(Math.abs(r),Math.abs(o));return null!=n.precision||isNaN(i=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(gr(t)/3)))-gr(Math.abs(e)))}(s,a))||(n.precision=i),Sr(n,a);case"":case"e":case"g":case"p":case"r":null!=n.precision||isNaN(i=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,gr(t)-gr(e))+1}(s,Math.max(Math.abs(r),Math.abs(o))))||(n.precision=i-("e"===n.type));break;case"f":case"%":null!=n.precision||isNaN(i=function(e){return Math.max(0,-gr(Math.abs(e)))}(s))||(n.precision=i-2*("%"===n.type))}return kr(n)};function us(e){var t=e.domain;return e.ticks=function(e){var n=t();return p(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){return ls(t(),e,n)},e.nice=function(n){null==n&&(n=10);var i,r=t(),o=0,s=r.length-1,a=r[o],l=r[s];return l0?i=v(a=Math.floor(a/i)*i,l=Math.ceil(l/i)*i,n):i<0&&(i=v(a=Math.ceil(a*i)/i,l=Math.floor(l*i)/i,n)),i>0?(r[o]=Math.floor(a/i)*i,r[s]=Math.ceil(l/i)*i,t(r)):i<0&&(r[o]=Math.ceil(a*i)/i,r[s]=Math.floor(l*i)/i,t(r)),e},e}function cs(){var e=as(is,yn);return e.copy=function(){return ss(e,cs())},us(e)}var ds=new Date,hs=new Date;function fs(e,t,n,i){function r(t){return e(t=new Date(+t)),t}return r.floor=r,r.ceil=function(n){return e(n=new Date(n-1)),t(n,1),e(n),n},r.round=function(e){var t=r(e),n=r.ceil(e);return e-t0))return a;do{a.push(s=new Date(+n)),t(n,o),e(n)}while(s=t)for(;e(t),!n(t);)t.setTime(t-1)}),(function(e,i){if(e>=e)if(i<0)for(;++i<=0;)for(;t(e,-1),!n(e););else for(;--i>=0;)for(;t(e,1),!n(e););}))},n&&(r.count=function(t,i){return ds.setTime(+t),hs.setTime(+i),e(ds),e(hs),Math.floor(n(ds,hs))},r.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?r.filter(i?function(t){return i(t)%e===0}:function(t){return r.count(0,t)%e===0}):r:null}),r}var ps=fs((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));ps.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?fs((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,n){t.setTime(+t+n*e)}),(function(t,n){return(n-t)/e})):ps:null};ps.range;var vs=1e3,gs=6e4,ys=36e5,ms=864e5,bs=6048e5,_s=fs((function(e){e.setTime(Math.floor(e/vs)*vs)}),(function(e,t){e.setTime(+e+t*vs)}),(function(e,t){return(t-e)/vs}),(function(e){return e.getUTCSeconds()})),ws=(_s.range,fs((function(e){e.setTime(Math.floor(e/gs)*gs)}),(function(e,t){e.setTime(+e+t*gs)}),(function(e,t){return(t-e)/gs}),(function(e){return e.getMinutes()}))),xs=(ws.range,fs((function(e){var t=e.getTimezoneOffset()*gs%ys;t<0&&(t+=ys),e.setTime(Math.floor((+e-t)/ys)*ys+t)}),(function(e,t){e.setTime(+e+t*ys)}),(function(e,t){return(t-e)/ys}),(function(e){return e.getHours()}))),ks=(xs.range,fs((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*gs)/ms}),(function(e){return e.getDate()-1}))),Ss=ks;ks.range;function Es(e){return fs((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*gs)/bs}))}var Ts=Es(0),Cs=Es(1),Os=Es(2),Ds=Es(3),Ms=Es(4),Ns=Es(5),Ps=Es(6),As=(Ts.range,Cs.range,Os.range,Ds.range,Ms.range,Ns.range,Ps.range,fs((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}))),Fs=(As.range,fs((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()})));Fs.every=function(e){return isFinite(e=Math.floor(e))&&e>0?fs((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n*e)})):null};var Rs=Fs,js=(Fs.range,fs((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*gs)}),(function(e,t){return(t-e)/gs}),(function(e){return e.getUTCMinutes()}))),Is=(js.range,fs((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*ys)}),(function(e,t){return(t-e)/ys}),(function(e){return e.getUTCHours()}))),Ls=(Is.range,fs((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/ms}),(function(e){return e.getUTCDate()-1}))),zs=Ls;Ls.range;function Hs(e){return fs((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/bs}))}var Bs=Hs(0),Ys=Hs(1),Ws=Hs(2),Us=Hs(3),Vs=Hs(4),qs=Hs(5),Gs=Hs(6),$s=(Bs.range,Ys.range,Ws.range,Us.range,Vs.range,qs.range,Gs.range,fs((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()}))),Xs=($s.range,fs((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()})));Xs.every=function(e){return isFinite(e=Math.floor(e))&&e>0?fs((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)})):null};var Ks=Xs;Xs.range;function Zs(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Qs(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Js(e){return{y:e,m:0,d:1,H:0,M:0,S:0,L:0}}var ea,ta,na,ia={"-":"",_:" ",0:"0"},ra=/^\s*\d+/,oa=/^%/,sa=/[\\^$*+?|[\]().{}]/g;function aa(e,t,n){var i=e<0?"-":"",r=(i?-e:e)+"",o=r.length;return i+(o68?1900:2e3),n+i[0].length):-1}function ma(e,t,n){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return i?(e.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function ba(e,t,n){var i=ra.exec(t.slice(n,n+2));return i?(e.m=i[0]-1,n+i[0].length):-1}function _a(e,t,n){var i=ra.exec(t.slice(n,n+2));return i?(e.d=+i[0],n+i[0].length):-1}function wa(e,t,n){var i=ra.exec(t.slice(n,n+3));return i?(e.m=0,e.d=+i[0],n+i[0].length):-1}function xa(e,t,n){var i=ra.exec(t.slice(n,n+2));return i?(e.H=+i[0],n+i[0].length):-1}function ka(e,t,n){var i=ra.exec(t.slice(n,n+2));return i?(e.M=+i[0],n+i[0].length):-1}function Sa(e,t,n){var i=ra.exec(t.slice(n,n+2));return i?(e.S=+i[0],n+i[0].length):-1}function Ea(e,t,n){var i=ra.exec(t.slice(n,n+3));return i?(e.L=+i[0],n+i[0].length):-1}function Ta(e,t,n){var i=ra.exec(t.slice(n,n+6));return i?(e.L=Math.floor(i[0]/1e3),n+i[0].length):-1}function Ca(e,t,n){var i=oa.exec(t.slice(n,n+1));return i?n+i[0].length:-1}function Oa(e,t,n){var i=ra.exec(t.slice(n));return i?(e.Q=+i[0],n+i[0].length):-1}function Da(e,t,n){var i=ra.exec(t.slice(n));return i?(e.Q=1e3*+i[0],n+i[0].length):-1}function Ma(e,t){return aa(e.getDate(),t,2)}function Na(e,t){return aa(e.getHours(),t,2)}function Pa(e,t){return aa(e.getHours()%12||12,t,2)}function Aa(e,t){return aa(1+Ss.count(Rs(e),e),t,3)}function Fa(e,t){return aa(e.getMilliseconds(),t,3)}function Ra(e,t){return Fa(e,t)+"000"}function ja(e,t){return aa(e.getMonth()+1,t,2)}function Ia(e,t){return aa(e.getMinutes(),t,2)}function La(e,t){return aa(e.getSeconds(),t,2)}function za(e){var t=e.getDay();return 0===t?7:t}function Ha(e,t){return aa(Ts.count(Rs(e),e),t,2)}function Ba(e,t){var n=e.getDay();return e=n>=4||0===n?Ms(e):Ms.ceil(e),aa(Ms.count(Rs(e),e)+(4===Rs(e).getDay()),t,2)}function Ya(e){return e.getDay()}function Wa(e,t){return aa(Cs.count(Rs(e),e),t,2)}function Ua(e,t){return aa(e.getFullYear()%100,t,2)}function Va(e,t){return aa(e.getFullYear()%1e4,t,4)}function qa(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+aa(t/60|0,"0",2)+aa(t%60,"0",2)}function Ga(e,t){return aa(e.getUTCDate(),t,2)}function $a(e,t){return aa(e.getUTCHours(),t,2)}function Xa(e,t){return aa(e.getUTCHours()%12||12,t,2)}function Ka(e,t){return aa(1+zs.count(Ks(e),e),t,3)}function Za(e,t){return aa(e.getUTCMilliseconds(),t,3)}function Qa(e,t){return Za(e,t)+"000"}function Ja(e,t){return aa(e.getUTCMonth()+1,t,2)}function el(e,t){return aa(e.getUTCMinutes(),t,2)}function tl(e,t){return aa(e.getUTCSeconds(),t,2)}function nl(e){var t=e.getUTCDay();return 0===t?7:t}function il(e,t){return aa(Bs.count(Ks(e),e),t,2)}function rl(e,t){var n=e.getUTCDay();return e=n>=4||0===n?Vs(e):Vs.ceil(e),aa(Vs.count(Ks(e),e)+(4===Ks(e).getUTCDay()),t,2)}function ol(e){return e.getUTCDay()}function sl(e,t){return aa(Ys.count(Ks(e),e),t,2)}function al(e,t){return aa(e.getUTCFullYear()%100,t,2)}function ll(e,t){return aa(e.getUTCFullYear()%1e4,t,4)}function ul(){return"+0000"}function cl(){return"%"}function dl(e){return+e}function hl(e){return Math.floor(+e/1e3)}!function(e){ea=function(e){var t=e.dateTime,n=e.date,i=e.time,r=e.periods,o=e.days,s=e.shortDays,a=e.months,l=e.shortMonths,u=ua(r),c=ca(r),d=ua(o),h=ca(o),f=ua(s),p=ca(s),v=ua(a),g=ca(a),y=ua(l),m=ca(l),b={a:function(e){return s[e.getDay()]},A:function(e){return o[e.getDay()]},b:function(e){return l[e.getMonth()]},B:function(e){return a[e.getMonth()]},c:null,d:Ma,e:Ma,f:Ra,H:Na,I:Pa,j:Aa,L:Fa,m:ja,M:Ia,p:function(e){return r[+(e.getHours()>=12)]},Q:dl,s:hl,S:La,u:za,U:Ha,V:Ba,w:Ya,W:Wa,x:null,X:null,y:Ua,Y:Va,Z:qa,"%":cl},_={a:function(e){return s[e.getUTCDay()]},A:function(e){return o[e.getUTCDay()]},b:function(e){return l[e.getUTCMonth()]},B:function(e){return a[e.getUTCMonth()]},c:null,d:Ga,e:Ga,f:Qa,H:$a,I:Xa,j:Ka,L:Za,m:Ja,M:el,p:function(e){return r[+(e.getUTCHours()>=12)]},Q:dl,s:hl,S:tl,u:nl,U:il,V:rl,w:ol,W:sl,x:null,X:null,y:al,Y:ll,Z:ul,"%":cl},w={a:function(e,t,n){var i=f.exec(t.slice(n));return i?(e.w=p[i[0].toLowerCase()],n+i[0].length):-1},A:function(e,t,n){var i=d.exec(t.slice(n));return i?(e.w=h[i[0].toLowerCase()],n+i[0].length):-1},b:function(e,t,n){var i=y.exec(t.slice(n));return i?(e.m=m[i[0].toLowerCase()],n+i[0].length):-1},B:function(e,t,n){var i=v.exec(t.slice(n));return i?(e.m=g[i[0].toLowerCase()],n+i[0].length):-1},c:function(e,n,i){return S(e,t,n,i)},d:_a,e:_a,f:Ta,H:xa,I:xa,j:wa,L:Ea,m:ba,M:ka,p:function(e,t,n){var i=u.exec(t.slice(n));return i?(e.p=c[i[0].toLowerCase()],n+i[0].length):-1},Q:Oa,s:Da,S:Sa,u:ha,U:fa,V:pa,w:da,W:va,x:function(e,t,i){return S(e,n,t,i)},X:function(e,t,n){return S(e,i,t,n)},y:ya,Y:ga,Z:ma,"%":Ca};function x(e,t){return function(n){var i,r,o,s=[],a=-1,l=0,u=e.length;for(n instanceof Date||(n=new Date(+n));++a53)return null;"w"in o||(o.w=1),"Z"in o?(r=(i=Qs(Js(o.y))).getUTCDay(),i=r>4||0===r?Ys.ceil(i):Ys(i),i=zs.offset(i,7*(o.V-1)),o.y=i.getUTCFullYear(),o.m=i.getUTCMonth(),o.d=i.getUTCDate()+(o.w+6)%7):(r=(i=t(Js(o.y))).getDay(),i=r>4||0===r?Cs.ceil(i):Cs(i),i=Ss.offset(i,7*(o.V-1)),o.y=i.getFullYear(),o.m=i.getMonth(),o.d=i.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),r="Z"in o?Qs(Js(o.y)).getUTCDay():t(Js(o.y)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(r+5)%7:o.w+7*o.U-(r+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Qs(o)):t(o)}}function S(e,t,n,i){for(var r,o,s=0,a=t.length,l=n.length;s=l)return-1;if(37===(r=t.charCodeAt(s++))){if(r=t.charAt(s++),!(o=w[r in ia?t.charAt(s++):r])||(i=o(e,n,i))<0)return-1}else if(r!=n.charCodeAt(i++))return-1}return i}return b.x=x(n,b),b.X=x(i,b),b.c=x(t,b),_.x=x(n,_),_.X=x(i,_),_.c=x(t,_),{format:function(e){var t=x(e+="",b);return t.toString=function(){return e},t},parse:function(e){var t=k(e+="",Zs);return t.toString=function(){return e},t},utcFormat:function(e){var t=x(e+="",_);return t.toString=function(){return e},t},utcParse:function(e){var t=k(e,Qs);return t.toString=function(){return e},t}}}(e),ea.format,ea.parse,ta=ea.utcFormat,na=ea.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var fl="%Y-%m-%dT%H:%M:%S.%LZ";Date.prototype.toISOString||ta(fl);+new Date("2000-01-01T00:00:00.000Z")||na(fl);var pl=function(e){return e.match(/.{6}/g).map((function(e){return"#"+e}))};pl("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),pl("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),pl("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),pl("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),zn(on(300,.5,0),on(-240,.5,1)),zn(on(-100,.75,.35),on(80,1.5,.8)),zn(on(260,.75,.35),on(80,1.5,.8)),on();function vl(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}vl(pl("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),vl(pl("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),vl(pl("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),vl(pl("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));Math.abs,Math.atan2,Math.cos,Math.max,Math.min,Math.sin,Math.sqrt;var gl=1e-12,yl=Math.PI,ml=2*yl;function bl(e){this._context=e}bl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var _l=function(e){return new bl(e)};xl(_l);function wl(e){this._curve=e}function xl(e){function t(t){return new wl(e(t))}return t._curve=e,t}wl.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};Array.prototype.slice;Math.sqrt(1/3);var kl=Math.sin(yl/10)/Math.sin(7*yl/10),Sl=(Math.sin(ml/10),Math.cos(ml/10),Math.sqrt(3),Math.sqrt(3),Math.sqrt(12),function(){});function El(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Tl(e){this._context=e}Tl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:El(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:El(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Cl(e){this._context=e}Cl.prototype={areaStart:Sl,areaEnd:Sl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:El(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Ol(e){this._context=e}Ol.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,i=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break;case 3:this._point=4;default:El(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Dl(e,t){this._basis=new Tl(e),this._beta=t}Dl.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var i,r=e[0],o=t[0],s=e[n]-r,a=t[n]-o,l=-1;++l<=n;)i=l/n,this._basis.point(this._beta*e[l]+(1-this._beta)*(r+i*s),this._beta*t[l]+(1-this._beta)*(o+i*a));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};(function e(t){function n(e){return 1===t?new Tl(e):new Dl(e,t)}return n.beta=function(t){return e(+t)},n})(.85);function Ml(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function Nl(e,t){this._context=e,this._k=(1-t)/6}Nl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ml(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Ml(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return new Nl(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Pl(e,t){this._context=e,this._k=(1-t)/6}Pl.prototype={areaStart:Sl,areaEnd:Sl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Ml(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return new Pl(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Al(e,t){this._context=e,this._k=(1-t)/6}Al.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ml(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return new Al(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Fl(e,t,n){var i=e._x1,r=e._y1,o=e._x2,s=e._y2;if(e._l01_a>gl){var a=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);i=(i*a-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,r=(r*a-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>gl){var u=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,c=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*u+e._x1*e._l23_2a-t*e._l12_2a)/c,s=(s*u+e._y1*e._l23_2a-n*e._l12_2a)/c}e._context.bezierCurveTo(i,r,o,s,e._x2,e._y2)}function Rl(e,t){this._context=e,this._alpha=t}Rl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Fl(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return t?new Rl(e,t):new Nl(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function jl(e,t){this._context=e,this._alpha=t}jl.prototype={areaStart:Sl,areaEnd:Sl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Fl(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return t?new jl(e,t):new Pl(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Il(e,t){this._context=e,this._alpha=t}Il.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Fl(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return t?new Il(e,t):new Al(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Ll(e){this._context=e}Ll.prototype={areaStart:Sl,areaEnd:Sl,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function zl(e){return e<0?-1:1}function Hl(e,t,n){var i=e._x1-e._x0,r=t-e._x1,o=(e._y1-e._y0)/(i||r<0&&-0),s=(n-e._y1)/(r||i<0&&-0),a=(o*r+s*i)/(i+r);return(zl(o)+zl(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function Bl(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Yl(e,t,n){var i=e._x0,r=e._y0,o=e._x1,s=e._y1,a=(o-i)/3;e._context.bezierCurveTo(i+a,r+a*t,o-a,s-a*n,o,s)}function Wl(e){this._context=e}function Ul(e){this._context=new Vl(e)}function Vl(e){this._context=e}function ql(e){this._context=e}function Gl(e){var t,n,i=e.length-1,r=new Array(i),o=new Array(i),s=new Array(i);for(r[0]=0,o[0]=2,s[0]=e[0]+2*e[1],t=1;t=0;--t)r[t]=(s[t]-r[t+1])/o[t];for(o[i-1]=(e[i]+r[i-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function Xl(){this._=null}function Kl(e){e.U=e.C=e.L=e.R=e.P=e.N=null}function Zl(e,t){var n=t,i=t.R,r=n.U;r?r.L===n?r.L=i:r.R=i:e._=i,i.U=r,n.U=i,n.R=i.L,n.R&&(n.R.U=n),i.L=n}function Ql(e,t){var n=t,i=t.L,r=n.U;r?r.L===n?r.L=i:r.R=i:e._=i,i.U=r,n.U=i,n.L=i.R,n.L&&(n.L.U=n),i.R=n}function Jl(e){for(;e.L;)e=e.L;return e}Xl.prototype={constructor:Xl,insert:function(e,t){var n,i,r;if(e){if(t.P=e,t.N=e.N,e.N&&(e.N.P=t),e.N=t,e.R){for(e=e.R;e.L;)e=e.L;e.L=t}else e.R=t;n=e}else this._?(e=Jl(this._),t.P=null,t.N=e,e.P=e.L=t,n=e):(t.P=t.N=null,this._=t,n=null);for(t.L=t.R=null,t.U=n,t.C=!0,e=t;n&&n.C;)n===(i=n.U).L?(r=i.R)&&r.C?(n.C=r.C=!1,i.C=!0,e=i):(e===n.R&&(Zl(this,n),n=(e=n).U),n.C=!1,i.C=!0,Ql(this,i)):(r=i.L)&&r.C?(n.C=r.C=!1,i.C=!0,e=i):(e===n.L&&(Ql(this,n),n=(e=n).U),n.C=!1,i.C=!0,Zl(this,i)),n=e.U;this._.C=!1},remove:function(e){e.N&&(e.N.P=e.P),e.P&&(e.P.N=e.N),e.N=e.P=null;var t,n,i,r=e.U,o=e.L,s=e.R;if(n=o?s?Jl(s):o:s,r?r.L===e?r.L=n:r.R=n:this._=n,o&&s?(i=n.C,n.C=e.C,n.L=o,o.U=n,n!==s?(r=n.U,n.U=e.U,e=n.R,r.L=e,n.R=s,s.U=n):(n.U=r,r=n,e=n.R)):(i=e.C,e=n),e&&(e.U=r),!i)if(e&&e.C)e.C=!1;else{do{if(e===this._)break;if(e===r.L){if((t=r.R).C&&(t.C=!1,r.C=!0,Zl(this,r),t=r.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,Ql(this,t),t=r.R),t.C=r.C,r.C=t.R.C=!1,Zl(this,r),e=this._;break}}else if((t=r.L).C&&(t.C=!1,r.C=!0,Ql(this,r),t=r.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,Zl(this,t),t=r.L),t.C=r.C,r.C=t.L.C=!1,Ql(this,r),e=this._;break}t.C=!0,e=r,r=r.U}while(!e.C);e&&(e.C=!1)}}};var eu=Xl;function tu(e,t,n,i){var r=[null,null],o=Eu.push(r)-1;return r.left=e,r.right=t,n&&iu(r,e,t,n),i&&iu(r,t,e,i),ku[e.index].halfedges.push(o),ku[t.index].halfedges.push(o),r}function nu(e,t,n){var i=[t,n];return i.left=e,i}function iu(e,t,n,i){e[0]||e[1]?e.left===n?e[1]=i:e[0]=i:(e[0]=i,e.left=t,e.right=n)}function ru(e,t,n,i,r){var o,s=e[0],a=e[1],l=s[0],u=s[1],c=0,d=1,h=a[0]-l,f=a[1]-u;if(o=t-l,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>d)return;o>c&&(c=o)}if(o=i-l,h||!(o<0)){if(o/=h,h<0){if(o>d)return;o>c&&(c=o)}else if(h>0){if(o0)){if(o/=f,f<0){if(o0){if(o>d)return;o>c&&(c=o)}if(o=r-u,f||!(o<0)){if(o/=f,f<0){if(o>d)return;o>c&&(c=o)}else if(f>0){if(o0||d<1)||(c>0&&(e[0]=[l+c*h,u+c*f]),d<1&&(e[1]=[l+d*h,u+d*f]),!0)}}}}}function ou(e,t,n,i,r){var o=e[1];if(o)return!0;var s,a,l=e[0],u=e.left,c=e.right,d=u[0],h=u[1],f=c[0],p=c[1],v=(d+f)/2,g=(h+p)/2;if(p===h){if(v=i)return;if(d>f){if(l){if(l[1]>=r)return}else l=[v,n];o=[v,r]}else{if(l){if(l[1]1)if(d>f){if(l){if(l[1]>=r)return}else l=[(n-a)/s,n];o=[(r-a)/s,r]}else{if(l){if(l[1]=i)return}else l=[t,s*t+a];o=[i,s*i+a]}else{if(l){if(l[0]=-Cu)){var f=l*l+u*u,p=c*c+d*d,v=(d*f-u*p)/h,g=(l*p-c*f)/h,y=cu.pop()||new du;y.arc=e,y.site=r,y.x=v+s,y.y=(y.cy=g+a)+Math.sqrt(v*v+g*g),e.circle=y;for(var m=null,b=Su._;b;)if(y.yTu)a=a.L;else{if(!((r=o-wu(a,s))>Tu)){i>-Tu?(t=a.P,n=a):r>-Tu?(t=a,n=a.N):t=n=a;break}if(!a.R){t=a;break}a=a.R}!function(e){ku[e.index]={site:e,halfedges:[]}}(e);var l=gu(e);if(xu.insert(t,l),t||n){if(t===n)return fu(t),n=gu(t.site),xu.insert(l,n),l.edge=n.edge=tu(t.site,l.site),hu(t),void hu(n);if(n){fu(t),fu(n);var u=t.site,c=u[0],d=u[1],h=e[0]-c,f=e[1]-d,p=n.site,v=p[0]-c,g=p[1]-d,y=2*(h*g-f*v),m=h*h+f*f,b=v*v+g*g,_=[(g*m-f*b)/y+c,(h*b-v*m)/y+d];iu(n.edge,u,p,_),l.edge=tu(u,e,null,_),n.edge=tu(e,p,null,_),hu(t),hu(n)}else l.edge=tu(t.site,l.site)}}function _u(e,t){var n=e.site,i=n[0],r=n[1],o=r-t;if(!o)return i;var s=e.P;if(!s)return-1/0;var a=(n=s.site)[0],l=n[1],u=l-t;if(!u)return a;var c=a-i,d=1/o-1/u,h=c/u;return d?(-h+Math.sqrt(h*h-2*d*(c*c/(-2*u)-l+u/2+r-o/2)))/d+i:(i+a)/2}function wu(e,t){var n=e.N;if(n)return _u(n,t);var i=e.site;return i[1]===t?i[0]:1/0}var xu,ku,Su,Eu,Tu=1e-6,Cu=1e-12;function Ou(e,t){return t[1]-e[1]||t[0]-e[0]}function Du(e,t){var n,i,r,o=e.sort(Ou).pop();for(Eu=[],ku=new Array(e.length),xu=new eu,Su=new eu;;)if(r=uu,o&&(!r||o[1]Tu||Math.abs(r[0][1]-r[1][1])>Tu)||delete Eu[o]}(s,a,l,u),function(e,t,n,i){var r,o,s,a,l,u,c,d,h,f,p,v,g=ku.length,y=!0;for(r=0;rTu||Math.abs(v-h)>Tu)&&(l.splice(a,0,Eu.push(nu(s,f,Math.abs(p-e)Tu?[e,Math.abs(d-e)Tu?[Math.abs(h-i)Tu?[n,Math.abs(d-n)Tu?[Math.abs(h-t)=a)return null;var l=e-r.site[0],u=t-r.site[1],c=l*l+u*u;do{r=o.cells[i=s],s=null,r.halfedges.forEach((function(n){var i=o.edges[n],a=i.left;if(a!==r.site&&a||(a=i.right)){var l=e-a[0],u=t-a[1],d=l*l+u*u;d=0;h--){var f=s[h];"."===f?o(s,h):".."===f?(o(s,h),d++):d&&(o(s,h),d--)}if(!u)for(;d--;d)s.unshift("..");!u||""===s[0]||s[0]&&r(s[0])||s.unshift("");var p=s.join("/");return n&&"/"!==p.substr(-1)&&(p+="/"),p};function a(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,i){return e(t,n[i])}));if("object"===typeof t||"object"===typeof n){var i=a(t),r=a(n);return i!==t||r!==n?e(i,r):Object.keys(Object.assign({},t,n)).every((function(i){return e(t[i],n[i])}))}return!1},u=n(17);function c(e){return"/"===e.charAt(0)?e:"/"+e}function d(e){return"/"===e.charAt(0)?e.substr(1):e}function h(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function f(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,i=e.hash,r=t||"/";return n&&"?"!==n&&(r+="?"===n.charAt(0)?n:"?"+n),i&&"#"!==i&&(r+="#"===i.charAt(0)?i:"#"+i),r}function v(e,t,n,r){var o;"string"===typeof e?(o=function(e){var t=e||"/",n="",i="",r=t.indexOf("#");-1!==r&&(i=t.substr(r),t=t.substr(0,r));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===i?"":i}}(e)).state=t:(void 0===(o=Object(i.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(a){throw a instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):a}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=s(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function g(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,i,r){if(null!=e){var o="function"===typeof e?e(t,n):e;"string"===typeof o?"function"===typeof i?i(o,r):r(!0):r(!1!==o)}else r(!0)},appendListener:function(e){var n=!0;function i(){n&&e.apply(void 0,arguments)}return t.push(i),function(){n=!1,t=t.filter((function(e){return e!==i}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),i=0;it?n.splice(t,n.length-t,r):n.push(r),d({action:i,location:r,index:t,entries:n})}}))},replace:function(e,t){var i="REPLACE",r=v(e,t,h(),_.location);c.confirmTransitionTo(r,i,n,(function(e){e&&(_.entries[_.index]=r,d({action:i,location:r}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=_.index+e;return t>=0&&t<_.entries.length},block:function(e){return void 0===e&&(e=!1),c.setPrompt(e)},listen:function(e){return c.appendListener(e)}};return _}},function(e,t,n){var i,r,o;r=[n(21),n(61)],void 0===(o="function"===typeof(i=function(e){"use strict";if(!e.ui||!e.ui.fancytree){var t,n,i=null,r=new RegExp(/\.|\//),o=/[&<>"'/]/g,s=/[<>"'/]/g,a="$recursive_request",l="$request_target_invalid",u={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},c={16:!0,17:!0,18:!0},d={8:"backspace",9:"tab",10:"return",13:"return",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",59:";",61:"=",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},h={16:"shift",17:"ctrl",18:"alt",91:"meta",93:"meta"},f={0:"",1:"left",2:"middle",3:"right"},p="active expanded focus folder lazy radiogroup selected unselectable unselectableIgnore".split(" "),v={},g="columns types".split(" "),y="checkbox expanded extraClasses folder icon iconTooltip key lazy partsel radiogroup refKey selected statusNodeType title tooltip type unselectable unselectableIgnore unselectableStatus".split(" "),m={},b={},_={active:!0,children:!0,data:!0,focus:!0};for(t=0;t=0,"insertBefore must be an existing child"),this.children.splice.apply(this.children,[o,0].concat(u))),s&&!n){for(i=0,r=u.length;i=0;i--)"paging"===(r=this.children[i]).statusNodeType&&this.removeChild(r);this.partload=!1},appendSibling:function(e){return this.addNode(e,"after")},applyCommand:function(e,t){return this.tree.applyCommand(e,this,t)},applyPatch:function(t){if(null===t)return this.remove(),O(this);var n,i,r={children:!0,expanded:!0,parent:!0};for(n in t)t.hasOwnProperty(n)&&(i=t[n],r[n]||e.isFunction(i)||(m[n]?this[n]=i:this.data[n]=i));return t.hasOwnProperty("children")&&(this.removeChildren(),t.children&&this._setChildren(t.children)),this.isVisible()&&(this.renderTitle(),this.renderStatus()),t.hasOwnProperty("expanded")?this.setExpanded(t.expanded):O(this)},collapseSiblings:function(){return this.tree._callHook("nodeCollapseSiblings",this)},copyTo:function(e,t,n){return e.addNode(this.toDict(!0,n),t)},countChildren:function(e){var t,n,i,r=this.children;if(!r)return 0;if(i=r.length,!1!==e)for(t=0,n=i;t=4&&(Array.prototype.unshift.call(arguments,this.toString()),x("log",arguments))},discard:function(){return this.warn("FancytreeNode.discard() is deprecated since 2014-02-16. Use .resetLazy() instead."),this.resetLazy()},discardMarkup:function(e){var t=e?"nodeRemoveMarkup":"nodeRemoveChildMarkup";this.tree._callHook(t,this)},error:function(e){this.tree.options.debugLevel>=1&&(Array.prototype.unshift.call(arguments,this.toString()),x("error",arguments))},findAll:function(t){t=e.isFunction(t)?t:A(t);var n=[];return this.visit((function(e){t(e)&&n.push(e)})),n},findFirst:function(t){t=e.isFunction(t)?t:A(t);var n=null;return this.visit((function(e){if(t(e))return n=e,!1})),n},findRelatedNode:function(e,t){return this.tree.findRelatedNode(this,e,t)},_changeSelectStatusAttrs:function(e){var t=!1,n=this.tree.options,r=i.evalOption("unselectable",this,this,n,!1),o=i.evalOption("unselectableStatus",this,this,n,void 0);switch(r&&null!=o&&(e=o),e){case!1:t=this.selected||this.partsel,this.selected=!1,this.partsel=!1;break;case!0:t=!this.selected||!this.partsel,this.selected=!0,this.partsel=!0;break;case void 0:t=this.selected||!this.partsel,this.selected=!1,this.partsel=!0;break;default:w(!1,"invalid state: "+e)}return t&&this.renderStatus(),t},fixSelection3AfterClick:function(e){var t=this.isSelected();this.visit((function(e){if(e._changeSelectStatusAttrs(t),e.radiogroup)return"skip"})),this.fixSelection3FromEndNodes(e)},fixSelection3FromEndNodes:function(e){var t=this.tree.options;function n(e){var r,o,s,a,l,u,c,d,h=e.children;if(h&&h.length){for(u=!0,c=!1,r=0,o=h.length;r=0},hasFocus:function(){return this.tree.hasFocus()&&this.tree.focusNode===this},info:function(e){this.tree.options.debugLevel>=3&&(Array.prototype.unshift.call(arguments,this.toString()),x("info",arguments))},isActive:function(){return this.tree.activeNode===this},isBelowOf:function(e){return this.getIndexHier(".",5)>e.getIndexHier(".",5)},isChildOf:function(e){return this.parent&&this.parent===e},isDescendantOf:function(t){if(!t||t.tree!==this.tree)return!1;for(var n=this.parent;n;){if(n===t)return!0;n===n.parent&&e.error("Recursive parent link: "+n),n=n.parent}return!1},isExpanded:function(){return!!this.expanded},isFirstSibling:function(){var e=this.parent;return!e||e.children[0]===this},isFolder:function(){return!!this.folder},isLastSibling:function(){var e=this.parent;return!e||e.children[e.children.length-1]===this},isLazy:function(){return!!this.lazy},isLoaded:function(){return!this.lazy||void 0!==this.hasChildren()},isLoading:function(){return!!this._isLoading},isRoot:function(){return this.isRootNode()},isPartsel:function(){return!this.selected&&!!this.partsel},isPartload:function(){return!!this.partload},isRootNode:function(){return this.tree.rootNode===this},isSelected:function(){return!!this.selected},isStatusNode:function(){return!!this.statusNodeType},isPagingNode:function(){return"paging"===this.statusNodeType},isTopLevel:function(){return this.tree.rootNode===this.parent},isUndefined:function(){return void 0===this.hasChildren()},isVisible:function(){var e,t,n=this.tree.enableFilter,i=this.getParentList(!1,!1);if(n&&!this.match&&!this.subMatchCount)return!1;for(e=0,t=i.length;e=0;n--)r.push(s[n].setExpanded(!0,t));return e.when.apply(e,r).done((function(){u?i.scrollIntoView(l).done((function(){o.resolve()})):o.resolve()})),o.promise()},moveTo:function(t,n,i){void 0===n||"over"===n?n="child":"firstChild"===n&&(t.children&&t.children.length?(n="before",t=t.children[0]):n="child");var r,o=this.tree,s=this.parent,a="child"===n?t:t.parent;if(this!==t){if(this.parent?a.isDescendantOf(this)&&e.error("Cannot move a node to its own descendant"):e.error("Cannot move system root"),a!==s&&s.triggerModifyChild("remove",this),1===this.parent.children.length){if(this.parent===a)return;this.parent.children=this.parent.lazy?[]:null,this.parent.expanded=!1}else w((r=e.inArray(this,this.parent.children))>=0,"invalid source parent"),this.parent.children.splice(r,1);if(this.parent=a,a.hasChildren())switch(n){case"child":a.children.push(this);break;case"before":w((r=e.inArray(t,a.children))>=0,"invalid target parent"),a.children.splice(r,0,this);break;case"after":w((r=e.inArray(t,a.children))>=0,"invalid target parent"),a.children.splice(r+1,0,this);break;default:e.error("Invalid mode "+n)}else a.children=[this];i&&t.visit(i,!0),a===s?a.triggerModifyChild("move",this):a.triggerModifyChild("add",this),o!==t.tree&&(this.warn("Cross-tree moveTo is experimental!"),this.visit((function(e){e.tree=t.tree}),!0)),o._callHook("treeStructureChanged",o,"moveTo"),s.isDescendantOf(a)||s.render(),a.isDescendantOf(s)||a===s||a.render()}},navigate:function(t,n){var i,r=e.ui.keyCode;switch(t){case"left":case r.LEFT:if(this.expanded)return this.setExpanded(!1);break;case"right":case r.RIGHT:if(!this.expanded&&(this.children||this.lazy))return this.setExpanded()}if(i=this.findRelatedNode(t)){try{i.makeVisible({scrollIntoView:!1})}catch(o){}return!1===n?(i.setFocus(),O()):i.setActive()}return this.warn("Could not find related node '"+t+"'."),O()},remove:function(){return this.parent.removeChild(this)},removeChild:function(e){return this.tree._callHook("nodeRemoveChild",this,e)},removeChildren:function(){return this.tree._callHook("nodeRemoveChildren",this)},removeClass:function(e){return this.toggleClass(e,!1)},render:function(e,t){return this.tree._callHook("nodeRender",this,e,t)},renderTitle:function(){return this.tree._callHook("nodeRenderTitle",this)},renderStatus:function(){return this.tree._callHook("nodeRenderStatus",this)},replaceWith:function(n){var i,r=this.parent,o=e.inArray(this,r.children),s=this;return w(this.isPagingNode(),"replaceWith() currently requires a paging status node"),(i=this.tree._callHook("nodeLoadChildren",this,n)).done((function(e){var n=s.children;for(t=0;tg+v-p&&(_=l+h-v+p,b&&(w(b.isRootNode()||b.isVisible(),"topNode must be visible"),a<_&&(_=a-f))),null===_?c.resolveWith(this):i.effects?(i.effects.complete=function(){c.resolveWith(d)},y.stop(!0).animate({scrollTop:_},i.effects)):(y[0].scrollTop=_,c.resolveWith(this)),c.promise())},setActive:function(e,t){return this.tree._callHook("nodeSetActive",this,e,t)},setExpanded:function(e,t){return this.tree._callHook("nodeSetExpanded",this,e,t)},setFocus:function(e){return this.tree._callHook("nodeSetFocus",this,e)},setSelected:function(e,t){return this.tree._callHook("nodeSetSelected",this,e,t)},setStatus:function(e,t,n){return this.tree._callHook("nodeSetStatus",this,e,t,n)},setTitle:function(e){this.title=e,this.renderTitle(),this.triggerModify("rename")},sortChildren:function(e,t){var n,i,r=this.children;if(r){if(e=e||function(e,t){var n=e.title.toLowerCase(),i=t.title.toLowerCase();return n===i?0:n>i?1:-1},r.sort(e),t)for(n=0,i=r.length;n=0,n=void 0===n?!r:!!n)r||(c+=i+" ",l=!0);else for(;c.indexOf(" "+i+" ")>-1;)c=c.replace(" "+i+" "," ");return this.extraClasses=e.trim(c),l},toggleExpanded:function(){return this.tree._callHook("nodeToggleExpanded",this)},toggleSelected:function(){return this.tree._callHook("nodeToggleSelected",this)},toString:function(){return"FancytreeNode@"+this.key+"[title='"+this.title+"']"},triggerModifyChild:function(t,n,i){var r,o=this.tree.options.modifyChild;o&&(n&&n.parent!==this&&e.error("childNode "+n+" is not a child of "+this),r={node:this,tree:this.tree,operation:t,childNode:n||null},i&&e.extend(r,i),o({type:"modifyChild"},r))},triggerModify:function(e,t){this.parent.triggerModifyChild(e,this,t)},visit:function(e,t){var n,i,r=!0,o=this.children;if(!0===t&&(!1===(r=e(this))||"skip"===r))return r;if(o)for(n=0,i=o.length;n=2&&(Array.prototype.unshift.call(arguments,this.toString()),x("warn",arguments))}},j.prototype={_makeHookContext:function(t,n,i){var r,o;return void 0!==t.node?(n&&t.originalEvent!==n&&e.error("invalid args"),r=t):t.tree?r={node:t,tree:o=t.tree,widget:o.widget,options:o.widget.options,originalEvent:n,typeInfo:o.types[t.type]||{}}:t.widget?r={node:null,tree:t,widget:t.widget,options:t.widget.options,originalEvent:n}:e.error("invalid args"),i&&e.extend(r,i),r},_callHook:function(t,n,i){var r=this._makeHookContext(n),o=this[t],s=Array.prototype.slice.call(arguments,2);return e.isFunction(o)||e.error("_callHook('"+t+"') is not a function"),s.unshift(r),o.apply(this,s)},_setExpiringValue:function(e,t,n){this._tempCache[e]={value:t,expire:Date.now()+(+n||50)}},_getExpiringValue:function(e){var t=this._tempCache[e];return t&&t.expire>Date.now()?t.value:(delete this._tempCache[e],null)},_usesExtension:function(t){return e.inArray(t,this.options.extensions)>=0},_requireExtension:function(t,n,i,r){null!=i&&(i=!!i);var o=this._local.name,s=this.options.extensions,a=e.inArray(t,s)=4&&(Array.prototype.unshift.call(arguments,this.toString()),x("log",arguments))},destroy:function(){this.widget.destroy()},enable:function(e){!1===e?this.widget.disable():this.widget.enable()},enableUpdate:function(e){return e=!1!==e,!!this._enableUpdate===!!e?e:(this._enableUpdate=e,e?(this.debug("enableUpdate(true): redraw "),this._callHook("treeStructureChanged",this,"enableUpdate"),this.render()):this.debug("enableUpdate(false)..."),!e)},error:function(e){this.options.debugLevel>=1&&(Array.prototype.unshift.call(arguments,this.toString()),x("error",arguments))},expandAll:function(e,t){var n=this.enableUpdate(!1);e=!1!==e,this.visit((function(n){!1!==n.hasChildren()&&n.isExpanded()!==e&&n.setExpanded(e,t)})),this.enableUpdate(n)},findAll:function(e){return this.rootNode.findAll(e)},findFirst:function(e){return this.rootNode.findFirst(e)},findNextNode:function(e,t){var n=null,i=this.getFirstChild();function r(i){if(e(i)&&(n=i),n||i===t)return!1}return e="string"===typeof e?F(e):e,t=t||i,this.visitRows(r,{start:t,includeSelf:!1}),n||t===i||this.visitRows(r,{start:i,includeSelf:!0}),n},findRelatedNode:function(t,n,i){var r=null,o=e.ui.keyCode;switch(n){case"parent":case o.BACKSPACE:t.parent&&t.parent.parent&&(r=t.parent);break;case"first":case o.HOME:this.visit((function(e){if(e.isVisible())return r=e,!1}));break;case"last":case o.END:this.visit((function(e){e.isVisible()&&(r=e)}));break;case"left":case o.LEFT:t.expanded?t.setExpanded(!1):t.parent&&t.parent.parent&&(r=t.parent);break;case"right":case o.RIGHT:t.expanded||!t.children&&!t.lazy?t.children&&t.children.length&&(r=t.children[0]):(t.setExpanded(),r=t);break;case"up":case o.UP:this.visitRows((function(e){return r=e,!1}),{start:t,reverse:!0,includeSelf:!1});break;case"down":case o.DOWN:this.visitRows((function(e){return r=e,!1}),{start:t,includeSelf:!1});break;default:this.tree.warn("Unknown relation '"+n+"'.")}return r},generateFormElements:function(t,n,i){i=i||{};var r,o="string"===typeof t?t:"ft_"+this._id+"[]",s="string"===typeof n?n:"ft_"+this._id+"_active",a="fancytree_result_"+this._id,l=e("#"+a),u=3===this.options.selectMode&&!1!==i.stopOnParents;function c(t){l.append(e("",{type:"checkbox",name:o,value:t.key,checked:!0}))}l.length?l.empty():l=e("
",{id:a}).hide().insertAfter(this.$container),!1!==n&&this.activeNode&&l.append(e("",{type:"radio",name:s,value:this.activeNode.key,checked:!0})),i.filter?this.visit((function(e){var t=i.filter(e);if("skip"===t)return t;!1!==t&&c(e)})):!1!==t&&(r=this.getSelectedNodes(u),e.each(r,(function(e,t){c(t)})))},getActiveNode:function(){return this.activeNode},getFirstChild:function(){return this.rootNode.getFirstChild()},getFocusNode:function(){return this.focusNode},getOption:function(e){return this.widget.option(e)},getNodeByKey:function(e,t){var n,i;return!t&&(n=document.getElementById(this.options.idPrefix+e))?n.ftnode?n.ftnode:null:(t=t||this.rootNode,i=null,e=""+e,t.visit((function(t){if(t.key===e)return i=t,!1}),!0),i)},getRootNode:function(){return this.rootNode},getSelectedNodes:function(e){return this.rootNode.getSelectedNodes(e)},hasFocus:function(){return!!this._hasFocus},info:function(e){this.options.debugLevel>=3&&(Array.prototype.unshift.call(arguments,this.toString()),x("info",arguments))},isLoading:function(){var e=!1;return this.rootNode.visit((function(t){if(t._isLoading||t._requestId)return e=!0,!1}),!0),e},loadKeyPath:function(t,n){var i,r,o,s=this,a=new e.Deferred,l=this.getRootNode(),u=this.options.keyPathSeparator,c=[],d=e.extend({},n);for("function"===typeof n?i=n:n&&n.callback&&(i=n.callback),d.callback=function(e,t,n){i&&i.call(e,t,n),a.notifyWith(e,[{node:t,status:n}])},null==d.matchKey&&(d.matchKey=function(e,t){return e.key===t}),e.isArray(t)||(t=[t]),r=0;r=4&&window.console.time(this+" - "+e)},debugTimeEnd:function(e){this.options.debugLevel>=4&&window.console.timeEnd(this+" - "+e)},toDict:function(e,t){var n=this.rootNode.toDict(!0,t);return e?n:n.children},toString:function(){return"Fancytree@"+this._id},_triggerNodeEvent:function(e,t,n,i){var r=this._makeHookContext(t,n,i),o=this.widget._trigger(e,n,r);return!1!==o&&void 0!==r.result?r.result:o},_triggerTreeEvent:function(e,t,n){var i=this._makeHookContext(this,t,n),r=this.widget._trigger(e,t,i);return!1!==r&&void 0!==i.result?i.result:r},visit:function(e){return this.rootNode.visit(e,!1)},visitRows:function(e,t){if(!this.rootNode.hasChildren())return!1;if(t&&t.reverse)return delete t.reverse,this._visitRowsUp(e,t);var n,i,r,o,s=0,a=!1===(t=t||{}).includeSelf,l=!!t.includeHidden,u=!l&&this.enableFilter,c=t.start||this.rootNode.children[0];for(r=c.parent;r;){for(w((i=(o=r.children).indexOf(c)+s)>=0,"Could not find "+c+" in parent's children: "+r),n=i;n=2&&(Array.prototype.unshift.call(arguments,this.toString()),x("warn",arguments))}},e.extend(j.prototype,{nodeClick:function(e){var t,n,i=e.targetType,r=e.node;if("expander"===i){if(r.isLoading())return void r.debug("Got 2nd click while loading: ignored");this._callHook("nodeToggleExpanded",e)}else if("checkbox"===i)this._callHook("nodeToggleSelected",e),e.options.focusOnSelect&&this._callHook("nodeSetFocus",e,!0);else{if(n=!1,t=!0,r.folder)switch(e.options.clickFolderMode){case 2:n=!0,t=!1;break;case 3:t=!0,n=!0}t&&(this.nodeSetFocus(e),this._callHook("nodeSetActive",e,!0)),n&&this._callHook("nodeToggleExpanded",e)}},nodeCollapseSiblings:function(e,t){var n,i,r,o=e.node;if(o.parent)for(i=0,r=(n=o.parent.children).length;i500&&(l.lastQuicksearchTerm=""),l.lastQuicksearchTime=r,l.lastQuicksearchTerm+=f,(n=l.findNextNode(l.lastQuicksearchTerm,l.getActiveNode()))&&n.setActive(),void s.preventDefault();switch(i.eventToString(s)){case"+":case"=":l.nodeSetExpanded(t,!0);break;case"-":l.nodeSetExpanded(t,!1);break;case"space":a.isPagingNode()?l._triggerNodeEvent("clickPaging",t,s):i.evalOption("checkbox",a,a,u,!1)?l.nodeToggleSelected(t):l.nodeSetActive(t,!0);break;case"return":l.nodeSetActive(t,!0);break;case"home":case"end":case"backspace":case"left":case"right":case"up":case"down":a.navigate(s.which,m);break;default:y=!1}y&&s.preventDefault()},nodeLoadChildren:function(t,n){var i,r,o,s=null,u=!0,c=t.tree,d=t.node,h=d.parent,f="nodeLoadChildren",p=Date.now();return e.isFunction(n)&&(n=n.call(c,{type:"source"},t),w(!e.isFunction(n),"source callback must not return another function")),e.isFunction(n.then)?s=n:n.url?(i=e.extend({},t.options.ajax,n)).debugDelay?(r=i.debugDelay,delete i.debugDelay,e.isArray(r)&&(r=r[0]+Math.random()*(r[1]-r[0])),d.warn("nodeLoadChildren waiting debugDelay "+Math.round(r)+" ms ..."),s=e.Deferred((function(t){setTimeout((function(){e.ajax(i).done((function(){t.resolveWith(this,arguments)})).fail((function(){t.rejectWith(this,arguments)}))}),r)}))):s=e.ajax(i):e.isPlainObject(n)||e.isArray(n)?(s={then:function(e,t){e(n,null,null)}},u=!1):e.error("Invalid source type: "+n),d._requestId&&(d.warn("Recursive load request #"+p+" while #"+d._requestId+" is pending."),d._requestId=p),u&&(c.debugTime(f),c.nodeSetStatus(t,"loading")),o=new e.Deferred,s.then((function(i,r,s){var u,f;if("json"!==n.dataType&&"jsonp"!==n.dataType||"string"!==typeof i||e.error("Ajax request returned a string (did you get the JSON dataType wrong?)."),d._requestId&&d._requestId>p)o.rejectWith(this,[a]);else if(null!==d.parent||null===h){if(t.options.postProcess){try{(f=c._triggerNodeEvent("postProcess",t,t.originalEvent,{response:i,error:null,dataType:n.dataType})).error&&c.warn("postProcess returned error:",f)}catch(v){f={error:v,message:""+v,details:"postProcess failed"}}if(f.error)return u=e.isPlainObject(f.error)?f.error:{message:f.error},u=c._makeHookContext(d,null,u),void o.rejectWith(this,[u]);(e.isArray(f)||e.isPlainObject(f)&&e.isArray(f.children))&&(i=f)}else i&&i.hasOwnProperty("d")&&t.options.enableAspx&&(42===t.options.enableAspx&&c.warn("The default for enableAspx will change to `false` in the fututure. Pass `enableAspx: true` or implement postProcess to silence this warning."),i="string"===typeof i.d?e.parseJSON(i.d):i.d);o.resolveWith(this,[i])}else o.rejectWith(this,[l])}),(function(e,t,n){var i=c._makeHookContext(d,null,{error:e,args:Array.prototype.slice.call(arguments),message:n,details:e.status+": "+n});o.rejectWith(this,[i])})),o.done((function(n){var i,r,o;c.nodeSetStatus(t,"ok"),e.isPlainObject(n)?(w(d.isRootNode(),"source may only be an object for root nodes (expecting an array of child objects otherwise)"),w(e.isArray(n.children),"if an object is passed as source, it must contain a 'children' array (all other properties are added to 'tree.data')"),r=n,i=n.children,delete r.children,e.each(g,(function(e,t){void 0!==r[t]&&(c[t]=r[t],delete r[t])})),e.extend(c.data,r)):i=n,w(e.isArray(i),"expected array of children"),d._setChildren(i),c.options.nodata&&0===i.length&&(e.isFunction(c.options.nodata)?o=c.options.nodata.call(c,{type:"nodata"},t):!0===c.options.nodata&&d.isRootNode()?o=c.options.strings.noData:"string"===typeof c.options.nodata&&d.isRootNode()&&(o=c.options.nodata),o&&d.setStatus("nodata",o)),c._triggerNodeEvent("loadChildren",d)})).fail((function(e){var n;e!==a?e!==l?(e.node&&e.error&&e.message?n=e:"[object Object]"===(n=c._makeHookContext(d,null,{error:e,args:Array.prototype.slice.call(arguments),message:e?e.message||e.toString():""})).message&&(n.message=""),d.warn("Load children failed ("+n.message+")",n),!1!==c._triggerNodeEvent("loadError",n,null)&&c.nodeSetStatus(t,"error",n.message,n.details)):d.warn("Lazy parent node was removed while loading: discarding response."):d.warn("Ignored response for obsolete load request #"+p+" (expected #"+d._requestId+")")})).always((function(){d._requestId=null,u&&c.debugTimeEnd(f)})),o.promise()},nodeLoadKeyPath:function(e,t){},nodeRemoveChild:function(t,n){var i,r=t.node,o=e.extend({},t,{node:n}),s=r.children;if(1===s.length)return w(n===s[0],"invalid single child"),this.nodeRemoveChildren(t);this.activeNode&&(n===this.activeNode||this.activeNode.isDescendantOf(n))&&this.activeNode.setActive(!1),this.focusNode&&(n===this.focusNode||this.focusNode.isDescendantOf(n))&&(this.focusNode=null),this.nodeRemoveMarkup(o),this.nodeRemoveChildren(o),w((i=e.inArray(n,s))>=0,"invalid child"),r.triggerModifyChild("remove",n),n.visit((function(e){e.parent=null}),!0),this._callHook("treeRegisterNode",this,!1,n),s.splice(i,1)},nodeRemoveChildMarkup:function(t){var n=t.node;n.ul&&(n.isRootNode()?e(n.ul).empty():(e(n.ul).remove(),n.ul=null),n.visit((function(e){e.li=e.ul=null})))},nodeRemoveChildren:function(e){var t=e.tree,n=e.node;n.children&&(this.activeNode&&this.activeNode.isDescendantOf(n)&&this.activeNode.setActive(!1),this.focusNode&&this.focusNode.isDescendantOf(n)&&(this.focusNode=null),this.nodeRemoveChildMarkup(e),n.triggerModifyChild("remove",null),n.visit((function(e){e.parent=null,t._callHook("treeRegisterNode",t,!1,e)})),n.lazy?n.children=[]:n.children=null,n.isRootNode()||(n.expanded=!1),this.nodeRenderStatus(e))},nodeRemoveMarkup:function(t){var n=t.node;n.li&&(e(n.li).remove(),n.li=null),this.nodeRemoveChildMarkup(t)},nodeRender:function(t,n,i,r,o){var s,a,l,u,c,d,h,f=t.node,p=t.tree,v=t.options,g=v.aria,y=!1,m=f.parent,b=!m,_=f.children,x=null;if(!1!==p._enableUpdate&&(b||m.ul)){if(w(b||m.ul,"parent UL must exist"),b||(f.li&&(n||f.li.parentNode!==f.parent.ul)&&(f.li.parentNode===f.parent.ul?x=f.li.nextSibling:this.debug("Unlinking "+f+" (must be child of "+f.parent+")"),this.nodeRemoveMarkup(t)),f.li?this.nodeRenderStatus(t):(y=!0,f.li=document.createElement("li"),f.li.ftnode=f,f.key&&v.generateIds&&(f.li.id=v.idPrefix+f.key),f.span=document.createElement("span"),f.span.className="fancytree-node",g&&!f.tr&&e(f.li).attr("role","treeitem"),f.li.appendChild(f.span),this.nodeRenderTitle(t),v.createNode&&v.createNode.call(p,{type:"createNode"},t)),v.renderNode&&v.renderNode.call(p,{type:"renderNode"},t)),_){if(b||f.expanded||!0===i){for(f.ul||(f.ul=document.createElement("ul"),(!0!==r||o)&&f.expanded||(f.ul.style.display="none"),g&&e(f.ul).attr("role","group"),f.li?f.li.appendChild(f.ul):f.tree.$div.append(f.ul)),u=0,c=_.length;u1&&y.push("")):y.push(""),(o=i.evalOption("checkbox",h,h,p,!1))&&!h.isStatusNode()&&(u=v?" role='checkbox'":"",s="fancytree-checkbox",("radio"===o||h.parent&&h.parent.radiogroup)&&(s+=" fancytree-radio"),y.push("")),void 0!==h.data.iconClass&&(h.icon?e.error("'iconClass' node option is deprecated since v2.14.0: use 'icon' only instead"):(h.warn("'iconClass' node option is deprecated since v2.14.0: use 'icon' instead"),h.icon=h.data.iconClass)),!1!==(a=i.evalOption("icon",h,h,p,!0))&&(u=v?" role='presentation'":"",d=(d=i.evalOption("iconTooltip",h,h,p,null))?" title='"+P(d)+"'":"","string"===typeof a?r.test(a)?(a="/"===a.charAt(0)?a:(p.imagePath||"")+a,y.push("")):y.push(""):a.text?y.push(""+i.escapeHtml(a.text)+""):a.html?y.push(""+a.html+""):y.push("")),l="",p.renderTitle&&(l=p.renderTitle.call(f,{type:"renderTitle"},t)||""),l||(!0===(c=i.evalOption("tooltip",h,h,p,null))&&(c=h.title),l=""+(p.escapeTitles?i.escapeHtml(h.title):h.title)+""),y.push(l),h.span.innerHTML=y.join(""),this.nodeRenderStatus(t),p.enhanceTitle&&(t.$title=e(">span.fancytree-title",h.span),l=p.enhanceTitle.call(f,{type:"enhanceTitle"},t)||""))},nodeRenderStatus:function(t){var n,r=t.node,o=t.tree,s=t.options,a=r.hasChildren(),l=r.isLastSibling(),u=s.aria,c=s._classNames,d=[],h=r[o.statusClassPropName];h&&!1!==o._enableUpdate&&(u&&(n=e(r.tr||r.li)),d.push(c.node),o.activeNode===r&&d.push(c.active),o.focusNode===r&&d.push(c.focused),r.expanded&&d.push(c.expanded),u&&(!1===a?n.removeAttr("aria-expanded"):n.attr("aria-expanded",Boolean(r.expanded))),r.folder&&d.push(c.folder),!1!==a&&d.push(c.hasChildren),l&&d.push(c.lastsib),r.lazy&&null==r.children&&d.push(c.lazy),r.partload&&d.push(c.partload),r.partsel&&d.push(c.partsel),i.evalOption("unselectable",r,r,s,!1)&&d.push(c.unselectable),r._isLoading&&d.push(c.loading),r._error&&d.push(c.error),r.statusNodeType&&d.push(c.statusNodePrefix+r.statusNodeType),r.selected?(d.push(c.selected),u&&n.attr("aria-selected",!0)):u&&n.attr("aria-selected",!1),r.extraClasses&&d.push(r.extraClasses),!1===a?d.push(c.combinedExpanderPrefix+"n"+(l?"l":"")):d.push(c.combinedExpanderPrefix+(r.expanded?"e":"c")+(r.lazy&&null==r.children?"d":"")+(l?"l":"")),d.push(c.combinedIconPrefix+(r.expanded?"e":"c")+(r.folder?"f":"")),h.className=d.join(" "),r.li&&e(r.li).toggleClass(c.lastsib,l))},nodeSetActive:function(t,n,i){i=i||{};var r,o=t.node,s=t.tree,a=t.options,l=!0===i.noEvents,u=!0===i.noFocus,c=!1!==i.scrollIntoView;return o===s.activeNode===(n=!1!==n)?O(o):(c&&t.originalEvent&&e(t.originalEvent.target).is("a,:checkbox")&&(o.info("Not scrolling while clicking an embedded link."),c=!1),n&&!l&&!1===this._triggerNodeEvent("beforeActivate",o,t.originalEvent)?D(o,["rejected"]):(n?(s.activeNode&&(w(s.activeNode!==o,"node was active (inconsistency)"),r=e.extend({},t,{node:s.activeNode}),s.nodeSetActive(r,!1),w(null===s.activeNode,"deactivate was out of sync?")),a.activeVisible&&o.makeVisible({scrollIntoView:c}),s.activeNode=o,s.nodeRenderStatus(t),u||s.nodeSetFocus(t),l||s._triggerNodeEvent("activate",o,t.originalEvent)):(w(s.activeNode===o,"node was not active (inconsistency)"),s.activeNode=null,this.nodeRenderStatus(t),l||t.tree._triggerNodeEvent("deactivate",o,t.originalEvent)),O(o)))},nodeSetExpanded:function(t,n,i){i=i||{};var r,o,s,a,l,u,c=t.node,d=t.tree,h=t.options,f=!0===i.noAnimation,p=!0===i.noEvents;if(n=!1!==n,e(c.li).hasClass(h._classNames.animating))return c.warn("setExpanded("+n+") while animating: ignored."),D(c,["recursion"]);if(c.expanded&&n||!c.expanded&&!n)return O(c);if(n&&!c.lazy&&!c.hasChildren())return O(c);if(!n&&c.getLevel()=1||e(r.$container).focus(),s.autoScroll&&o.scrollIntoView(),this._callHook("nodeRenderStatus",t))},nodeSetSelected:function(e,t,n){n=n||{};var r=e.node,o=e.tree,s=e.options,a=!0===n.noEvents,l=r.parent;if(t=!1!==t,!i.evalOption("unselectable",r,r,s,!1)){if(r._lastSelectIntent=t,!!r.selected===t&&(3!==s.selectMode||!r.partsel||t))return t;if(!a&&!1===this._triggerNodeEvent("beforeSelect",r,e.originalEvent))return!!r.selected;t&&1===s.selectMode?(o.lastSelectedNode&&o.lastSelectedNode.setSelected(!1),r.selected=t):3!==s.selectMode||!l||l.radiogroup||r.radiogroup?l&&l.radiogroup?r.visitSiblings((function(e){e._changeSelectStatusAttrs(t&&e===r)}),!0):r.selected=t:(r.selected=t,r.fixSelection3AfterClick(n)),this.nodeRenderStatus(e),o.lastSelectedNode=t?r:null,a||o._triggerNodeEvent("select",e)}},nodeSetStatus:function(t,n,i,r){var o=t.node,s=t.tree;function a(){var e=o.children?o.children[0]:null;if(e&&e.isStatusNode()){try{o.ul&&(o.ul.removeChild(e.li),e.li=null)}catch(n){}1===o.children.length?o.children=[]:o.children.shift(),s._callHook("treeStructureChanged",t,"clearStatusNode")}}function l(n,i){var r=o.children?o.children[0]:null;return r&&r.isStatusNode()?(e.extend(r,n),r.statusNodeType=i,s._callHook("nodeRenderTitle",r)):(o._setChildren([n]),s._callHook("treeStructureChanged",t,"setStatusNode"),o.children[0].statusNodeType=i,s.render()),o.children[0]}switch(n){case"ok":a(),o._isLoading=!1,o._error=null,o.renderStatus();break;case"loading":o.parent||l({title:s.options.strings.loading+(i?" ("+i+")":""),checkbox:!1,tooltip:r},n),o._isLoading=!0,o._error=null,o.renderStatus();break;case"error":l({title:s.options.strings.loadError+(i?" ("+i+")":""),checkbox:!1,tooltip:r},n),o._isLoading=!1,o._error={message:i,details:r},o.renderStatus();break;case"nodata":l({title:i||s.options.strings.noData,checkbox:!1,tooltip:r},n),o._isLoading=!1,o._error=null,o.renderStatus();break;default:e.error("invalid node status "+n)}},nodeToggleExpanded:function(e){return this.nodeSetExpanded(e,!e.node.expanded)},nodeToggleSelected:function(e){var t=e.node,n=!t.selected;return t.partsel&&!t.selected&&!0===t._lastSelectIntent&&(n=!1,t.selected=!0),t._lastSelectIntent=n,this.nodeSetSelected(e,n)},treeClear:function(e){var t=e.tree;t.activeNode=null,t.focusNode=null,t.$div.find(">ul.fancytree-container").empty(),t.rootNode.children=null,t._callHook("treeStructureChanged",e,"clear")},treeCreate:function(e){},treeDestroy:function(e){this.$div.find(">ul.fancytree-container").remove(),this.$source&&this.$source.removeClass("fancytree-helper-hidden")},treeInit:function(t){var n=t.tree,i=n.options;n.$container.attr("tabindex",i.tabindex),e.each(g,(function(e,t){void 0!==i[t]&&(n.info("Move option "+t+" to tree"),n[t]=i[t],delete i[t])})),i.checkboxAutoHide&&n.$container.addClass("fancytree-checkbox-auto-hide"),i.rtl?n.$container.attr("DIR","RTL").addClass("fancytree-rtl"):n.$container.removeAttr("DIR").removeClass("fancytree-rtl"),i.aria&&(n.$container.attr("role","tree"),1!==i.selectMode&&n.$container.attr("aria-multiselectable",!0)),this.treeLoad(t)},treeLoad:function(t,n){var r,o,s,a=t.tree,l=t.widget.element,u=e.extend({},t,{node:this.rootNode});if(a.rootNode.children&&this.treeClear(t),n=n||this.options.source)"string"===typeof n&&e.error("Not implemented");else switch(o=l.data("type")||"html"){case"html":(s=l.find(">ul").not(".fancytree-container").first()).length?(s.addClass("ui-fancytree-source fancytree-helper-hidden"),n=e.ui.fancytree.parseHtml(s),this.data=e.extend(this.data,N(s))):(i.warn("No `source` option was passed and container does not contain `
    `: assuming `source: []`."),n=[]);break;case"json":n=e.parseJSON(l.text()),l.contents().filter((function(){return 3===this.nodeType})).remove(),e.isPlainObject(n)&&(w(e.isArray(n.children),"if an object is passed as source, it must contain a 'children' array (all other properties are added to 'tree.data')"),r=n,n=n.children,delete r.children,e.each(g,(function(e,t){void 0!==r[t]&&(a[t]=r[t],delete r[t])})),e.extend(a.data,r));break;default:e.error("Invalid data-type: "+o)}return a._triggerTreeEvent("preInit",null),this.nodeLoadChildren(u,n).done((function(){a._callHook("treeStructureChanged",t,"loadChildren"),a.render(),3===t.options.selectMode&&a.rootNode.fixSelection3FromEndNodes(),a.activeNode&&a.options.activeVisible&&a.activeNode.makeVisible(),a._triggerTreeEvent("init",null,{status:!0})})).fail((function(){a.render(),a._triggerTreeEvent("init",null,{status:!1})}))},treeRegisterNode:function(e,t,n){e.tree._callHook("treeStructureChanged",e,t?"addNode":"removeNode")},treeSetFocus:function(t,n,i){var r;(n=!1!==n)!==this.hasFocus()&&(this._hasFocus=n,!n&&this.focusNode?this.focusNode.setFocus(!1):!n||i&&i.calledByNode||e(this.$container).focus(),this.$container.toggleClass("fancytree-treefocus",n),this._triggerTreeEvent(n?"focusTree":"blurTree"),n&&!this.activeNode&&(r=this._lastMousedownNode||this.getFirstChild())&&r.setFocus())},treeSetOption:function(t,n,i){var r=t.tree,o=!0,s=!1,a=!1;switch(n){case"aria":case"checkbox":case"icon":case"minExpandLevel":case"tabindex":s=!0,a=!0;break;case"checkboxAutoHide":r.$container.toggleClass("fancytree-checkbox-auto-hide",!!i);break;case"escapeTitles":case"tooltip":a=!0;break;case"rtl":!1===i?r.$container.removeAttr("DIR").removeClass("fancytree-rtl"):r.$container.attr("DIR","RTL").addClass("fancytree-rtl"),a=!0;break;case"source":o=!1,r._callHook("treeLoad",r,i),a=!0}r.debug("set option "+n+"="+i+" <"+typeof i+">"),o&&(this.widget._super?this.widget._super.call(this.widget,n,i):e.Widget.prototype._setOption.call(this.widget,n,i)),s&&r._callHook("treeCreate",r),a&&r.render(!0,!1)},treeStructureChanged:function(e,t){}}),e.widget("ui.fancytree",{options:{activeVisible:!0,ajax:{type:"GET",cache:!1,dataType:"json"},aria:!0,autoActivate:!0,autoCollapse:!1,autoScroll:!1,checkbox:!1,clickFolderMode:4,copyFunctionsToData:!1,debugLevel:null,disabled:!1,enableAspx:42,escapeTitles:!1,extensions:[],focusOnSelect:!1,generateIds:!1,icon:!0,idPrefix:"ft_",keyboard:!0,keyPathSeparator:"/",minExpandLevel:1,nodata:!0,quicksearch:!1,rtl:!1,scrollOfs:{top:0,bottom:0},scrollParent:null,selectMode:2,strings:{loading:"Loading...",loadError:"Load error!",moreData:"More...",noData:"No data."},tabindex:"0",titlesTabbable:!1,toggleEffect:{effect:"slideToggle",duration:200},tooltip:!1,treeId:null,_classNames:{active:"fancytree-active",animating:"fancytree-animating",combinedExpanderPrefix:"fancytree-exp-",combinedIconPrefix:"fancytree-ico-",error:"fancytree-error",expanded:"fancytree-expanded",focused:"fancytree-focused",folder:"fancytree-folder",hasChildren:"fancytree-has-children",lastsib:"fancytree-lastsib",lazy:"fancytree-lazy",loading:"fancytree-loading",node:"fancytree-node",partload:"fancytree-partload",partsel:"fancytree-partsel",radio:"fancytree-radio",selected:"fancytree-selected",statusNodePrefix:"fancytree-statusnode-",unselectable:"fancytree-unselectable"},lazyLoad:null,postProcess:null},_deprecationWarning:function(e){var t=this.tree;t&&t.options.debugLevel>=3&&t.warn("$().fancytree('"+e+"') is deprecated (see https://wwwendt.de/tech/fancytree/doc/jsdoc/Fancytree_Widget.html")},_create:function(){this.tree=new j(this),this.$source=this.source||"json"===this.element.data("type")?this.element:this.element.find(">ul").first();var t,n,i,r=this.options,o=r.extensions,s=this.tree;for(i=0;i element.");else{if(o){if(r._getExpiringValue("focusin"))return void r.debug("Ignored double focusin.");r._setExpiringValue("focusin",!0,50),n||(n=r._getExpiringValue("mouseDownNode"))&&r.debug("Reconstruct mouse target for focusin from recent event.")}n?r._callHook("nodeSetFocus",r._makeHookContext(n,t),o):r.tbody&&e(t.target).parents("table.fancytree-container > thead").length?r.debug("Ignore focus event outside table body.",t):r._callHook("treeSetFocus",r,o)}})).on("selectstart"+o,"span.fancytree-title",(function(e){e.preventDefault()})).on("keydown"+o,(function(e){if(n.disabled||!1===n.keyboard)return!0;var t,i=r.focusNode,o=r._makeHookContext(i||r,e),s=r.phase;try{return r.phase="userEvent","preventNav"===(t=i?r._triggerNodeEvent("keydown",i,e):r._triggerTreeEvent("keydown",e))?t=!0:!1!==t&&(t=r._callHook("nodeKeydown",o)),t}finally{r.phase=s}})).on("mousedown"+o,(function(e){var t=i.getEventTarget(e);r._lastMousedownNode=t?t.node:null,r._setExpiringValue("mouseDownNode",r._lastMousedownNode)})).on("click"+o+" dblclick"+o,(function(e){if(n.disabled)return!0;var r,o=i.getEventTarget(e),s=o.node,a=t.tree,l=a.phase;if(!s)return!0;r=a._makeHookContext(s,e);try{switch(a.phase="userEvent",e.type){case"click":return r.targetType=o.type,s.isPagingNode()?!0===a._triggerNodeEvent("clickPaging",r,e):!1!==a._triggerNodeEvent("click",r,e)&&a._callHook("nodeClick",r);case"dblclick":return r.targetType=o.type,!1!==a._triggerNodeEvent("dblclick",r,e)&&a._callHook("nodeDblclick",r)}}finally{a.phase=l}}))},getActiveNode:function(){return this._deprecationWarning("getActiveNode"),this.tree.activeNode},getNodeByKey:function(e){return this._deprecationWarning("getNodeByKey"),this.tree.getNodeByKey(e)},getRootNode:function(){return this._deprecationWarning("getRootNode"),this.tree.rootNode},getTree:function(){return this._deprecationWarning("getTree"),this.tree}}),i=e.ui.fancytree,e.extend(e.ui.fancytree,{version:"2.38.0",buildType:"production",debugLevel:3,_nextId:1,_nextNodeKey:1,_extensions:{},_FancytreeClass:j,_FancytreeNodeClass:R,jquerySupports:{positionMyOfs:S(e.ui.version,1,9)},assert:function(e,t){return w(e,t)},createTree:function(t,n){var r=e(t).fancytree(n);return i.getTree(r)},debounce:function(e,t,n,i){var r;return 3===arguments.length&&"boolean"!==typeof n&&(i=n,n=!1),function(){var o=arguments;i=i||this,n&&!r&&t.apply(i,o),clearTimeout(r),r=setTimeout((function(){n||t.apply(i,o),r=null}),e)}},debug:function(t){e.ui.fancytree.debugLevel>=4&&x("log",arguments)},error:function(t){e.ui.fancytree.debugLevel>=1&&x("error",arguments)},escapeHtml:function(e){return(""+e).replace(o,(function(e){return u[e]}))},fixPositionOptions:function(t){if((t.offset||(""+t.my+t.at).indexOf("%")>=0)&&e.error("expected new position syntax (but '%' is not supported)"),!e.ui.fancytree.jquerySupports.positionMyOfs){var n=/(\w+)([+-]?\d+)?\s+(\w+)([+-]?\d+)?/.exec(t.my),i=/(\w+)([+-]?\d+)?\s+(\w+)([+-]?\d+)?/.exec(t.at),r=(n[2]?+n[2]:0)+(i[2]?+i[2]:0),o=(n[4]?+n[4]:0)+(i[4]?+i[4]:0);t=e.extend({},t,{my:n[1]+" "+n[3],at:i[1]+" "+i[3]}),(r||o)&&(t.offset=r+" "+o)}return t},getEventTarget:function(t){var n,r=t&&t.target?t.target.className:"",o={node:this.getNode(t.target),type:void 0};return/\bfancytree-title\b/.test(r)?o.type="title":/\bfancytree-expander\b/.test(r)?o.type=!1===o.node.hasChildren()?"prefix":"expander":/\bfancytree-checkbox\b/.test(r)?o.type="checkbox":/\bfancytree(-custom)?-icon\b/.test(r)?o.type="icon":/\bfancytree-node\b/.test(r)?o.type="title":t&&t.target&&((n=e(t.target)).is("ul[role=group]")?((o.node&&o.node.tree||i).debug("Ignoring click on outer UL."),o.node=null):n.closest(".fancytree-title").length?o.type="title":n.closest(".fancytree-checkbox").length?o.type="checkbox":n.closest(".fancytree-expander").length&&(o.type="expander")),o},getEventTargetType:function(e){return this.getEventTarget(e).type},getNode:function(t){if(t instanceof R)return t;for(t instanceof e?t=t[0]:void 0!==t.originalEvent&&(t=t.target);t;){if(t.ftnode)return t.ftnode;t=t.parentNode}return null},getTree:function(t){var n,i=t;return t instanceof j?t:(void 0===t&&(t=0),"number"===typeof t?t=e(".fancytree-container").eq(t):"string"===typeof t?(t=e("#ft-id-"+i).eq(0)).length||(t=e(i).eq(0)):t instanceof Element||t instanceof HTMLDocument?t=e(t):t instanceof e?t=t.eq(0):void 0!==t.originalEvent&&(t=e(t.target)),(n=(t=t.closest(":ui-fancytree")).data("ui-fancytree")||t.data("fancytree"))?n.tree:null)},evalOption:function(t,n,i,r,o){var s,a,l=n.tree,u=r[t],c=i[t];return e.isFunction(u)?(s={node:n,tree:l,widget:l.widget,options:l.widget.options,typeInfo:l.types[n.type]||{}},null==(a=u.call(l,{type:t},s))&&(a=c)):a=null==c?u:c,null==a&&(a=o),a},setSpanIcon:function(t,n,i){var r=e(t);"string"===typeof i?r.attr("class",n+" "+i):(i.text?r.text(""+i.text):i.html&&(t.innerHTML=i.html),r.attr("class",n+" "+(i.addClass||"")))},eventToString:function(e){var t=e.which,n=e.type,i=[];return e.altKey&&i.push("alt"),e.ctrlKey&&i.push("ctrl"),e.metaKey&&i.push("meta"),e.shiftKey&&i.push("shift"),"click"===n||"dblclick"===n?i.push(f[e.button]+n):"wheel"===n?i.push(n):c[t]||i.push(d[t]||String.fromCharCode(t).toLowerCase()),i.join("+")},info:function(t){e.ui.fancytree.debugLevel>=3&&x("info",arguments)},keyEventToString:function(e){return this.warn("keyEventToString() is deprecated: use eventToString()"),this.eventToString(e)},overrideMethod:function(t,n,i,r){var o,s=t[n]||e.noop;t[n]=function(){var e=r||this;try{return o=e._super,e._super=s,i.apply(e,arguments)}finally{e._super=o}}},parseHtml:function(t){var n,i,r,o,s,a,l,u,c=t.find(">li"),d=[];return c.each((function(){var c,h,f=e(this),g=f.find(">span",this).first(),m=g.length?null:f.find(">a").first(),_={tooltip:null,data:{}};for(g.length?_.title=g.html():m&&m.length?(_.title=m.html(),_.data.href=m.attr("href"),_.data.target=m.attr("target"),_.tooltip=m.attr("title")):(_.title=f.html(),(s=_.title.search(/
      =0&&(_.title=_.title.substring(0,s))),_.title=e.trim(_.title),o=0,a=p.length;oul").first()).length?_.children=e.ui.fancytree.parseHtml(t):_.children=_.lazy?void 0:null,d.push(_)})),d},registerExtension:function(t){w(null!=t.name,"extensions must have a `name` property."),w(null!=t.version,"extensions must have a `version` property."),e.ui.fancytree._extensions[t.name]=t},unescapeHtml:function(e){var t=document.createElement("div");return t.innerHTML=e,0===t.childNodes.length?"":t.childNodes[0].nodeValue},warn:function(t){e.ui.fancytree.debugLevel>=2&&x("warn",arguments)}}),e.ui.fancytree}function w(t,n){t||(n="Fancytree assertion failed"+(n=n?": "+n:""),e.ui.fancytree.error(n),e.error(n))}function x(e,t){var n,i,r=window.console?window.console[e]:null;if(r)try{r.apply(window.console,t)}catch(o){for(i="",n=0;na;return!0}function E(){var t,n,i,r,o,s=arguments[0]||{},a=1,l=arguments.length;if("object"===typeof s||e.isFunction(s)||(s={}),a===l)throw Error("need at least two args");for(;a=0}}function F(e){var t=new RegExp("^"+e,"i");return function(e){return t.test(e.title)}}function R(t,n){var r,o,s,a;for(this.parent=t,this.tree=t.tree,this.ul=null,this.li=null,this.statusNodeType=null,this._isLoading=!1,this._error=null,this.data={},r=0,o=y.length;rul.fancytree-container").remove();var n,r={tree:this};this.rootNode=new R(r,{title:"root",key:"root_"+this._id,children:null,expanded:!0}),this.rootNode.parent=null,n=e("
        ",{id:"ft-id-"+this._id,class:"ui-fancytree fancytree-container fancytree-plain"}).appendTo(this.$div),this.$container=n,this.rootNode.ul=n[0],null==this.options.debugLevel&&(this.options.debugLevel=i.debugLevel)}e.ui.fancytree.warn("Fancytree: ignored duplicate include")})?i.apply(t,r):i)||(e.exports=o)},function(e,t,n){var i;!function(t,n){"use strict";"object"===typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!==typeof window?window:this,(function(n,r){"use strict";var o=[],s=Object.getPrototypeOf,a=o.slice,l=o.flat?function(e){return o.flat.call(e)}:function(e){return o.concat.apply([],e)},u=o.push,c=o.indexOf,d={},h=d.toString,f=d.hasOwnProperty,p=f.toString,v=p.call(Object),g={},y=function(e){return"function"===typeof e&&"number"!==typeof e.nodeType&&"function"!==typeof e.item},m=function(e){return null!=e&&e===e.window},b=n.document,_={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var i,r,o=(n=n||b).createElement("script");if(o.text=e,t)for(i in _)(r=t[i]||t.getAttribute&&t.getAttribute(i))&&o.setAttribute(i,r);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"===typeof e||"function"===typeof e?d[h.call(e)]||"object":typeof e}var k="3.6.0",S=function e(t,n){return new e.fn.init(t,n)};function E(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!y(e)&&!m(e)&&("array"===n||0===t||"number"===typeof t&&t>0&&t-1 in e)}S.fn=S.prototype={jquery:k,constructor:S,length:0,toArray:function(){return a.call(this)},get:function(e){return null==e?a.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(e){return this.pushStack(S.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(a.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(n>=0&&n+~]|[\\x20\\t\\r\\n\\f])[\\x20\\t\\r\\n\\f]*"),V=new RegExp(I+"|>"),q=new RegExp(H),G=new RegExp("^"+L+"$"),$={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+z),PSEUDO:new RegExp("^"+H),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)","i"),bool:new RegExp("^(?:"+j+")$","i"),needsContext:new RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)","i")},X=/HTML$/i,K=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\([^\\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))},ie=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,re=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){h()},se=_e((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{A.apply(M=F.call(w.childNodes),w.childNodes),M[w.childNodes.length].nodeType}catch(Ee){A={apply:M.length?function(e,t){P.apply(e,F.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function ae(e,t,i,r){var o,a,u,c,d,p,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(i=i||[],"string"!==typeof e||!e||1!==w&&9!==w&&11!==w)return i;if(!r&&(h(t),t=t||f,v)){if(11!==w&&(d=J.exec(e)))if(o=d[1]){if(9===w){if(!(u=t.getElementById(o)))return i;if(u.id===o)return i.push(u),i}else if(m&&(u=m.getElementById(o))&&b(t,u)&&u.id===o)return i.push(u),i}else{if(d[2])return A.apply(i,t.getElementsByTagName(e)),i;if((o=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return A.apply(i,t.getElementsByClassName(o)),i}if(n.qsa&&!C[e+" "]&&(!g||!g.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(V.test(e)||U.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(ie,re):t.setAttribute("id",c=_)),a=(p=s(e)).length;a--;)p[a]=(c?"#"+c:":scope")+" "+be(p[a]);y=p.join(",")}try{return A.apply(i,m.querySelectorAll(y)),i}catch(x){C(e,!0)}finally{c===_&&t.removeAttribute("id")}}}return l(e.replace(Y,"$1"),t,i,r)}function le(){var e=[];return function t(n,r){return e.push(n+" ")>i.cacheLength&&delete t[e.shift()],t[n+" "]=r}}function ue(e){return e[_]=!0,e}function ce(e){var t=f.createElement("fieldset");try{return!!e(t)}catch(Ee){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),r=n.length;r--;)i.attrHandle[n[r]]=t}function he(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ve(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&se(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ge(e){return ue((function(t){return t=+t,ue((function(n,i){for(var r,o=e([],n.length,t),s=o.length;s--;)n[r=o[s]]&&(n[r]=!(i[r]=n[r]))}))}))}function ye(e){return e&&"undefined"!==typeof e.getElementsByTagName&&e}for(t in n=ae.support={},o=ae.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!X.test(t||n&&n.nodeName||"HTML")},h=ae.setDocument=function(e){var t,r,s=e?e.ownerDocument||e:w;return s!=f&&9===s.nodeType&&s.documentElement?(p=(f=s).documentElement,v=!o(f),w!=f&&(r=f.defaultView)&&r.top!==r&&(r.addEventListener?r.addEventListener("unload",oe,!1):r.attachEvent&&r.attachEvent("onunload",oe)),n.scope=ce((function(e){return p.appendChild(e).appendChild(f.createElement("div")),"undefined"!==typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.attributes=ce((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ce((function(e){return e.appendChild(f.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=Q.test(f.getElementsByClassName),n.getById=ce((function(e){return p.appendChild(e).id=_,!f.getElementsByName||!f.getElementsByName(_).length})),n.getById?(i.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},i.find.ID=function(e,t){if("undefined"!==typeof t.getElementById&&v){var n=t.getElementById(e);return n?[n]:[]}}):(i.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n="undefined"!==typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},i.find.ID=function(e,t){if("undefined"!==typeof t.getElementById&&v){var n,i,r,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(r=t.getElementsByName(e),i=0;o=r[i++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),i.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!==typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],r=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[r++];)1===n.nodeType&&i.push(n);return i}return o},i.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!==typeof t.getElementsByClassName&&v)return t.getElementsByClassName(e)},y=[],g=[],(n.qsa=Q.test(f.querySelectorAll))&&(ce((function(e){var t;p.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|"+j+")"),e.querySelectorAll("[id~="+_+"-]").length||g.push("~="),(t=f.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||g.push("\\[[\\x20\\t\\r\\n\\f]*name[\\x20\\t\\r\\n\\f]*=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+_+"+*").length||g.push(".#.+[+~]"),e.querySelectorAll("\\\f"),g.push("[\\r\\n\\f]")})),ce((function(e){e.innerHTML="";var t=f.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name[\\x20\\t\\r\\n\\f]*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),p.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")}))),(n.matchesSelector=Q.test(m=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",H)})),g=g.length&&new RegExp(g.join("|")),y=y.length&&new RegExp(y.join("|")),t=Q.test(p.compareDocumentPosition),b=t||Q.test(p.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},O=t?function(e,t){if(e===t)return d=!0,0;var i=!e.compareDocumentPosition-!t.compareDocumentPosition;return i||(1&(i=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===i?e==f||e.ownerDocument==w&&b(w,e)?-1:t==f||t.ownerDocument==w&&b(w,t)?1:c?R(c,e)-R(c,t):0:4&i?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,i=0,r=e.parentNode,o=t.parentNode,s=[e],a=[t];if(!r||!o)return e==f?-1:t==f?1:r?-1:o?1:c?R(c,e)-R(c,t):0;if(r===o)return he(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?he(s[i],a[i]):s[i]==w?-1:a[i]==w?1:0},f):f},ae.matches=function(e,t){return ae(e,null,null,t)},ae.matchesSelector=function(e,t){if(h(e),n.matchesSelector&&v&&!C[t+" "]&&(!y||!y.test(t))&&(!g||!g.test(t)))try{var i=m.call(e,t);if(i||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(Ee){C(t,!0)}return ae(t,f,null,[e]).length>0},ae.contains=function(e,t){return(e.ownerDocument||e)!=f&&h(e),b(e,t)},ae.attr=function(e,t){(e.ownerDocument||e)!=f&&h(e);var r=i.attrHandle[t.toLowerCase()],o=r&&D.call(i.attrHandle,t.toLowerCase())?r(e,t,!v):void 0;return void 0!==o?o:n.attributes||!v?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},ae.escape=function(e){return(e+"").replace(ie,re)},ae.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ae.uniqueSort=function(e){var t,i=[],r=0,o=0;if(d=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(O),d){for(;t=e[o++];)t===e[o]&&(r=i.push(o));for(;r--;)e.splice(i[r],1)}return c=null,e},r=ae.getText=function(e){var t,n="",i=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"===typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=r(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[i++];)n+=r(t);return n},(i=ae.selectors={cacheLength:50,createPseudo:ue,match:$,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]||ae.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]&&ae.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return $.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&q.test(n)&&(t=s(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=S[e+" "];return t||(t=new RegExp("(^|[\\x20\\t\\r\\n\\f])"+e+"("+I+"|$)"))&&S(e,(function(e){return t.test("string"===typeof e.className&&e.className||"undefined"!==typeof e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(i){var r=ae.attr(i,e);return null==r?"!="===t:!t||(r+="","="===t?r===n:"!="===t?r!==n:"^="===t?n&&0===r.indexOf(n):"*="===t?n&&r.indexOf(n)>-1:"$="===t?n&&r.slice(-n.length)===n:"~="===t?(" "+r.replace(B," ")+" ").indexOf(n)>-1:"|="===t&&(r===n||r.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,i,r){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===i&&0===r?function(e){return!!e.parentNode}:function(t,n,l){var u,c,d,h,f,p,v=o!==s?"nextSibling":"previousSibling",g=t.parentNode,y=a&&t.nodeName.toLowerCase(),m=!l&&!a,b=!1;if(g){if(o){for(;v;){for(h=t;h=h[v];)if(a?h.nodeName.toLowerCase()===y:1===h.nodeType)return!1;p=v="only"===e&&!p&&"nextSibling"}return!0}if(p=[s?g.firstChild:g.lastChild],s&&m){for(b=(f=(u=(c=(d=(h=g)[_]||(h[_]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===x&&u[1])&&u[2],h=f&&g.childNodes[f];h=++f&&h&&h[v]||(b=f=0)||p.pop();)if(1===h.nodeType&&++b&&h===t){c[e]=[x,f,b];break}}else if(m&&(b=f=(u=(c=(d=(h=t)[_]||(h[_]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===x&&u[1]),!1===b)for(;(h=++f&&h&&h[v]||(b=f=0)||p.pop())&&((a?h.nodeName.toLowerCase()!==y:1!==h.nodeType)||!++b||(m&&((c=(d=h[_]||(h[_]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]=[x,b]),h!==t)););return(b-=r)===i||b%i===0&&b/i>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ae.error("unsupported pseudo: "+e);return r[_]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ue((function(e,n){for(var i,o=r(e,t),s=o.length;s--;)e[i=R(e,o[s])]=!(n[i]=o[s])})):function(e){return r(e,0,n)}):r}},pseudos:{not:ue((function(e){var t=[],n=[],i=a(e.replace(Y,"$1"));return i[_]?ue((function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))})):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}})),has:ue((function(e){return function(t){return ae(e,t).length>0}})),contains:ue((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||r(t)).indexOf(e)>-1}})),lang:ue((function(e){return G.test(e||"")||ae.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=v?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===p},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ve(!1),disabled:ve(!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!i.pseudos.empty(e)},header:function(e){return Z.test(e.nodeName)},input:function(e){return K.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:ge((function(){return[0]})),last:ge((function(e,t){return[t-1]})),eq:ge((function(e,t,n){return[n<0?n+t:n]})),even:ge((function(e,t){for(var n=0;nt?t:n;--i>=0;)e.push(i);return e})),gt:ge((function(e,t,n){for(var i=n<0?n+t:n;++i1?function(t,n,i){for(var r=e.length;r--;)if(!e[r](t,n,i))return!1;return!0}:e[0]}function xe(e,t,n,i,r){for(var o,s=[],a=0,l=e.length,u=null!=t;a-1&&(o[u]=!(s[u]=d))}}else y=xe(y===s?y.splice(p,y.length):y),r?r(null,s,y,l):A.apply(s,y)}))}function Se(e){for(var t,n,r,o=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],l=s?1:0,c=_e((function(e){return e===t}),a,!0),d=_e((function(e){return R(t,e)>-1}),a,!0),h=[function(e,n,i){var r=!s&&(i||n!==u)||((t=n).nodeType?c(e,n,i):d(e,n,i));return t=null,r}];l1&&we(h),l>1&&be(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(Y,"$1"),n,l0,r=e.length>0,o=function(o,s,a,l,c){var d,p,g,y=0,m="0",b=o&&[],_=[],w=u,k=o||r&&i.find.TAG("*",c),S=x+=null==w?1:Math.random()||.1,E=k.length;for(c&&(u=s==f||s||c);m!==E&&null!=(d=k[m]);m++){if(r&&d){for(p=0,s||d.ownerDocument==f||(h(d),a=!v);g=e[p++];)if(g(d,s||f,a)){l.push(d);break}c&&(x=S)}n&&((d=!g&&d)&&y--,o&&b.push(d))}if(y+=m,n&&m!==y){for(p=0;g=t[p++];)g(b,_,s,a);if(o){if(y>0)for(;m--;)b[m]||_[m]||(_[m]=N.call(l));_=xe(_)}A.apply(l,_),c&&!o&&_.length>0&&y+t.length>1&&ae.uniqueSort(l)}return c&&(x=S,u=w),b};return n?ue(o):o}(o,r))).selector=e}return a},l=ae.select=function(e,t,n,r){var o,l,u,c,d,h="function"===typeof e&&e,f=!r&&s(e=h.selector||e);if(n=n||[],1===f.length){if((l=f[0]=f[0].slice(0)).length>2&&"ID"===(u=l[0]).type&&9===t.nodeType&&v&&i.relative[l[1].type]){if(!(t=(i.find.ID(u.matches[0].replace(te,ne),t)||[])[0]))return n;h&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(o=$.needsContext.test(e)?0:l.length;o--&&(u=l[o],!i.relative[c=u.type]);)if((d=i.find[c])&&(r=d(u.matches[0].replace(te,ne),ee.test(l[0].type)&&ye(t.parentNode)||t))){if(l.splice(o,1),!(e=r.length&&be(l)))return A.apply(n,r),n;break}}return(h||a(e,f))(r,t,!v,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=_.split("").sort(O).join("")===_,n.detectDuplicates=!!d,h(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(f.createElement("fieldset"))})),ce((function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")}))||de("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||de("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute("disabled")}))||de(j,(function(e,t,n){var i;if(!n)return!0===e[t]?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null})),ae}(n);S.find=T,(S.expr=T.selectors)[":"]=S.expr.pseudos,S.uniqueSort=S.unique=T.uniqueSort,S.text=T.getText,S.isXMLDoc=T.isXML,S.contains=T.contains,S.escapeSelector=T.escape;var C=function(e,t,n){for(var i=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&S(e).is(n))break;i.push(e)}return i},O=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=S.expr.match.needsContext;function M(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 P(e,t,n){return y(t)?S.grep(e,(function(e,i){return!!t.call(e,i,e)!==n})):t.nodeType?S.grep(e,(function(e){return e===t!==n})):"string"!==typeof t?S.grep(e,(function(e){return c.call(t,e)>-1!==n})):S.filter(t,e,n)}S.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?S.find.matchesSelector(i,e)?[i]:[]:S.find.matches(e,S.grep(t,(function(e){return 1===e.nodeType})))},S.fn.extend({find:function(e){var t,n,i=this.length,r=this;if("string"!==typeof e)return this.pushStack(S(e).filter((function(){for(t=0;t1?S.uniqueSort(n):n},filter:function(e){return this.pushStack(P(this,e||[],!1))},not:function(e){return this.pushStack(P(this,e||[],!0))},is:function(e){return!!P(this,"string"===typeof e&&D.test(e)?S(e):e||[],!1).length}});var A,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var i,r;if(!e)return this;if(n=n||A,"string"===typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:F.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:b,!0)),N.test(i[1])&&S.isPlainObject(t))for(i in t)y(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(r=b.getElementById(i[2]))&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,A=S(b);var R=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function I(e,t){for(;(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-1:1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?S.uniqueSort(o):o)},index:function(e){return e?"string"===typeof e?c.call(S(e),this[0]):c.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 C(e,"parentNode")},parentsUntil:function(e,t,n){return C(e,"parentNode",n)},next:function(e){return I(e,"nextSibling")},prev:function(e){return I(e,"previousSibling")},nextAll:function(e){return C(e,"nextSibling")},prevAll:function(e){return C(e,"previousSibling")},nextUntil:function(e,t,n){return C(e,"nextSibling",n)},prevUntil:function(e,t,n){return C(e,"previousSibling",n)},siblings:function(e){return O((e.parentNode||{}).firstChild,e)},children:function(e){return O(e.firstChild)},contents:function(e){return null!=e.contentDocument&&s(e.contentDocument)?e.contentDocument:(M(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},(function(e,t){S.fn[e]=function(n,i){var r=S.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"===typeof i&&(r=S.filter(i,r)),this.length>1&&(j[e]||S.uniqueSort(r),R.test(e)&&r.reverse()),this.pushStack(r)}}));var L=/[^\x20\t\r\n\f]+/g;function z(e){return e}function H(e){throw e}function B(e,t,n,i){var r;try{e&&y(r=e.promise)?r.call(e).done(t).fail(n):e&&y(r=e.then)?r.call(e,t,n):t.apply(void 0,[e].slice(i))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(e){e="string"===typeof e?function(e){var t={};return S.each(e.match(L)||[],(function(e,n){t[n]=!0})),t}(e):S.extend({},e);var t,n,i,r,o=[],s=[],a=-1,l=function(){for(r=r||e.once,i=t=!0;s.length;a=-1)for(n=s.shift();++a-1;)o.splice(n,1),n<=a&&a--})),this},has:function(e){return e?S.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return r=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return r=s=[],n||t||(o=n=""),this},locked:function(){return!!r},fireWith:function(e,n){return r||(n=[e,(n=n||[]).slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!i}};return u},S.extend({Deferred:function(e){var t=[["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",r={state:function(){return i},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return r.then(null,e)},pipe:function(){var e=arguments;return S.Deferred((function(n){S.each(t,(function(t,i){var r=y(e[i[4]])&&e[i[4]];o[i[1]]((function(){var e=r&&r.apply(this,arguments);e&&y(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[i[0]+"With"](this,r?[e]:arguments)}))})),e=null})).promise()},then:function(e,i,r){var o=0;function s(e,t,i,r){return function(){var a=this,l=arguments,u=function(){var n,u;if(!(e=o&&(i!==H&&(a=void 0,l=[n]),t.rejectWith(a,l))}};e?c():(S.Deferred.getStackHook&&(c.stackTrace=S.Deferred.getStackHook()),n.setTimeout(c))}}return S.Deferred((function(n){t[0][3].add(s(0,n,y(r)?r:z,n.notifyWith)),t[1][3].add(s(0,n,y(e)?e:z)),t[2][3].add(s(0,n,y(i)?i:H))})).promise()},promise:function(e){return null!=e?S.extend(e,r):r}},o={};return S.each(t,(function(e,n){var s=n[2],a=n[5];r[n[1]]=s.add,a&&s.add((function(){i=a}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),s.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=s.fireWith})),r.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,i=Array(n),r=a.call(arguments),o=S.Deferred(),s=function(e){return function(n){i[e]=this,r[e]=arguments.length>1?a.call(arguments):n,--t||o.resolveWith(i,r)}};if(t<=1&&(B(e,o.done(s(n)).resolve,o.reject,!t),"pending"===o.state()||y(r[n]&&r[n].then)))return o.then();for(;n--;)B(r[n],s(n),o.reject);return o.promise()}});var Y=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&Y.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){n.setTimeout((function(){throw e}))};var W=S.Deferred();function U(){b.removeEventListener("DOMContentLoaded",U),n.removeEventListener("load",U),S.ready()}S.fn.ready=function(e){return W.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,!0!==e&&--S.readyWait>0||W.resolveWith(b,[S]))}}),S.ready.then=W.then,"complete"===b.readyState||"loading"!==b.readyState&&!b.documentElement.doScroll?n.setTimeout(S.ready):(b.addEventListener("DOMContentLoaded",U),n.addEventListener("load",U));var V=function e(t,n,i,r,o,s,a){var l=0,u=t.length,c=null==i;if("object"===x(i))for(l in o=!0,i)e(t,n,l,i[l],!0,s,a);else if(void 0!==r&&(o=!0,y(r)||(a=!0),c&&(a?(n.call(t,r),n=null):(c=n,n=function(e,t,n){return c.call(S(e),n)})),n))for(;l1,null,!0)},removeData:function(e){return this.each((function(){J.remove(this,e)}))}}),S.extend({queue:function(e,t,n){var i;if(e)return t=(t||"fx")+"queue",i=Q.get(e,t),n&&(!i||Array.isArray(n)?i=Q.access(e,t,S.makeArray(n)):i.push(n)),i||[]},dequeue:function(e,t){var n=S.queue(e,t=t||"fx"),i=n.length,r=n.shift(),o=S._queueHooks(e,t);"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===t&&n.unshift("inprogress"),delete o.stop,r.call(e,(function(){S.dequeue(e,t)}),o)),!i&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:S.Callbacks("once memory").add((function(){Q.remove(e,[t+"queue",n])}))})}}),S.fn.extend({queue:function(e,t){var n=2;return"string"!==typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,ge=/^$|^module$|\/(?:java|ecma)script/i;!function(){var e=b.createDocumentFragment().appendChild(b.createElement("div")),t=b.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),g.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",g.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,e.innerHTML="",g.option=!!e.lastChild}();var ye={thead:[1,"","
        "],col:[2,"","
        "],tr:[2,"","
        "],td:[3,"","
        "],_default:[0,"",""]};function me(e,t){var n;return n="undefined"!==typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!==typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&M(e,t)?S.merge([e],n):n}function be(e,t){for(var n=0,i=e.length;n",""]);var _e=/<|&#?\w+;/;function we(e,t,n,i,r){for(var o,s,a,l,u,c,d=t.createDocumentFragment(),h=[],f=0,p=e.length;f-1)r&&r.push(o);else if(u=ae(o),s=me(d.appendChild(o),"script"),u&&be(s),n)for(c=0;o=s[c++];)ge.test(o.type||"")&&n.push(o);return d}var xe=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ee(e,t){return e===function(){try{return b.activeElement}catch(e){}}()===("focus"===t)}function Te(e,t,n,i,r,o){var s,a;if("object"===typeof t){for(a in"string"!==typeof n&&(i=i||n,n=void 0),t)Te(e,a,n,i,t[a],o);return e}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"===typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=Se;else if(!r)return e;return 1===o&&(s=r,(r=function(e){return S().off(e),s.apply(this,arguments)}).guid=s.guid||(s.guid=S.guid++)),e.each((function(){S.event.add(this,t,r,i,n)}))}function Ce(e,t,n){n?(Q.set(e,t,!1),S.event.add(e,t,{namespace:!1,handler:function(e){var i,r,o=Q.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(S.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=a.call(arguments),Q.set(this,t,o),i=n(this,t),this[t](),o!==(r=Q.get(this,t))||i?Q.set(this,t,!1):r={},o!==r)return e.stopImmediatePropagation(),e.preventDefault(),r&&r.value}else o.length&&(Q.set(this,t,{value:S.event.trigger(S.extend(o[0],S.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,t)&&S.event.add(e,t,ke)}S.event={global:{},add:function(e,t,n,i,r){var o,s,a,l,u,c,d,h,f,p,v,g=Q.get(e);if(K(e))for(n.handler&&(n=(o=n).handler,r=o.selector),r&&S.find.matchesSelector(se,r),n.guid||(n.guid=S.guid++),(l=g.events)||(l=g.events=Object.create(null)),(s=g.handle)||(s=g.handle=function(t){return S.event.triggered!==t.type?S.event.dispatch.apply(e,arguments):void 0}),u=(t=(t||"").match(L)||[""]).length;u--;)f=v=(a=xe.exec(t[u])||[])[1],p=(a[2]||"").split(".").sort(),f&&(d=S.event.special[f]||{},f=(r?d.delegateType:d.bindType)||f,d=S.event.special[f]||{},c=S.extend({type:f,origType:v,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&S.expr.match.needsContext.test(r),namespace:p.join(".")},o),(h=l[f])||((h=l[f]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,i,p,s)||e.addEventListener&&e.addEventListener(f,s)),d.add&&(d.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),r?h.splice(h.delegateCount++,0,c):h.push(c),S.event.global[f]=!0)},remove:function(e,t,n,i,r){var o,s,a,l,u,c,d,h,f,p,v,g=Q.hasData(e)&&Q.get(e);if(g&&(l=g.events)){for(u=(t=(t||"").match(L)||[""]).length;u--;)if(f=v=(a=xe.exec(t[u])||[])[1],p=(a[2]||"").split(".").sort(),f){for(d=S.event.special[f]||{},h=l[f=(i?d.delegateType:d.bindType)||f]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=h.length;o--;)c=h[o],!r&&v!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(h.splice(o,1),c.selector&&h.delegateCount--,d.remove&&d.remove.call(e,c));s&&!h.length&&(d.teardown&&!1!==d.teardown.call(e,p,g.handle)||S.removeEvent(e,f,g.handle),delete l[f])}else for(f in l)S.event.remove(e,f+t[u],n,i,!0);S.isEmptyObject(l)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,i,r,o,s,a=new Array(arguments.length),l=S.event.fix(e),u=(Q.get(this,"events")||Object.create(null))[l.type]||[],c=S.event.special[l.type]||{};for(a[0]=l,t=1;t=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(o=[],s={},n=0;n-1:S.find(r,this,null,[u]).length),s[r]&&o.push(i);o.length&&a.push({elem:u,handlers:o})}return u=this,l\s*$/g;function Ne(e,t){return M(e,"table")&&M(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ae(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,i,r,o,s,a;if(1===t.nodeType){if(Q.hasData(e)&&(a=Q.get(e).events))for(r in Q.remove(t,"handle events"),a)for(n=0,i=a[r].length;n1&&"string"===typeof p&&!g.checkClone&&De.test(p))return e.each((function(r){var o=e.eq(r);v&&(t[0]=p.call(this,r,o.html())),je(o,t,n,i)}));if(h&&(o=(r=we(t,e[0].ownerDocument,!1,e,i)).firstChild,1===r.childNodes.length&&(r=o),o||i)){for(a=(s=S.map(me(r,"script"),Pe)).length;d0&&be(s,!l&&me(e,"script")),a},cleanData:function(e){for(var t,n,i,r=S.event.special,o=0;void 0!==(n=e[o]);o++)if(K(n)){if(t=n[Q.expando]){if(t.events)for(i in t.events)r[i]?S.event.remove(n,i):S.removeEvent(n,i,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return V(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 je(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ne(this,e).appendChild(e)}))},prepend:function(){return je(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Ne(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return je(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return je(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(me(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 V(this,(function(e){var t=this[0]||{},n=0,i=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"===typeof e&&!Oe.test(e)&&!ye[(ve.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-l-a-.5))||0),l}function et(e,t,n){var i=ze(e),r=(!g.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,i),o=r,s=Ye(e,t,i),a="offset"+t[0].toUpperCase()+t.slice(1);if(Le.test(s)){if(!n)return s;s="auto"}return(!g.boxSizingReliable()&&r||!g.reliableTrDimensions()&&M(e,"tr")||"auto"===s||!parseFloat(s)&&"inline"===S.css(e,"display",!1,i))&&e.getClientRects().length&&(r="border-box"===S.css(e,"boxSizing",!1,i),(o=a in e)&&(s=e[a])),(s=parseFloat(s)||0)+Je(e,t,n||(r?"border":"content"),o,i,s)+"px"}function tt(e,t,n,i,r){return new tt.prototype.init(e,t,n,i,r)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ye(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,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,o,s,a=X(t),l=Xe.test(t),u=e.style;if(l||(t=Ge(a)),s=S.cssHooks[t]||S.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(r=s.get(e,!1,i))?r:u[t];"string"===(o=typeof n)&&(r=re.exec(n))&&r[1]&&(n=ce(e,t,r),o="number"),null!=n&&n===n&&("number"!==o||l||(n+=r&&r[3]||(S.cssNumber[a]?"":"px")),g.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,i))||(l?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,i){var r,o,s,a=X(t);return Xe.test(t)||(t=Ge(a)),(s=S.cssHooks[t]||S.cssHooks[a])&&"get"in s&&(r=s.get(e,!0,n)),void 0===r&&(r=Ye(e,t,i)),"normal"===r&&t in Ze&&(r=Ze[t]),""===n||n?(o=parseFloat(r),!0===n||isFinite(o)?o||0:r):r}}),S.each(["height","width"],(function(e,t){S.cssHooks[t]={get:function(e,n,i){if(n)return!$e.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,i):He(e,Ke,(function(){return et(e,t,i)}))},set:function(e,n,i){var r,o=ze(e),s=!g.scrollboxSize()&&"absolute"===o.position,a=(s||i)&&"border-box"===S.css(e,"boxSizing",!1,o),l=i?Je(e,t,i,a,o):0;return a&&s&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Je(e,t,"border",!1,o)-.5)),l&&(r=re.exec(n))&&"px"!==(r[3]||"px")&&(e.style[t]=n,n=S.css(e,t)),Qe(0,n,l)}}})),S.cssHooks.marginLeft=We(g.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Ye(e,"marginLeft"))||e.getBoundingClientRect().left-He(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),S.each({margin:"",padding:"",border:"Width"},(function(e,t){S.cssHooks[e+t]={expand:function(n){for(var i=0,r={},o="string"===typeof n?n.split(" "):[n];i<4;i++)r[e+oe[i]+t]=o[i]||o[i-2]||o[0];return r}},"margin"!==e&&(S.cssHooks[e+t].set=Qe)})),S.fn.extend({css:function(e,t){return V(this,(function(e,t,n){var i,r,o={},s=0;if(Array.isArray(t)){for(i=ze(e),r=t.length;s1)}}),S.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,i,r,o){this.elem=e,this.prop=n,this.easing=r||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.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):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.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[Ge(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.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=tt.prototype.init).step={};var nt,it,rt=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function st(){it&&(!1===b.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(st):n.setTimeout(st,S.fx.interval),S.fx.tick())}function at(){return n.setTimeout((function(){nt=void 0})),nt=Date.now()}function lt(e,t){var n,i=0,r={height:e};for(t=t?1:0;i<4;i+=2-t)r["margin"+(n=oe[i])]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function ut(e,t,n){for(var i,r=(ct.tweeners[t]||[]).concat(ct.tweeners["*"]),o=0,s=r.length;o1)},removeAttr:function(e){return this.each((function(){S.removeAttr(this,e)}))}}),S.extend({attr:function(e,t,n){var i,r,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)||(r=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:(e.setAttribute(t,n+""),n):r&&"get"in r&&null!==(i=r.get(e,t))?i:null==(i=S.find.attr(e,t))?void 0:i)},attrHooks:{type:{set:function(e,t){if(!g.radioValue&&"radio"===t&&M(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,i=0,r=t&&t.match(L);if(r&&1===e.nodeType)for(;n=r[i++];)e.removeAttribute(n)}}),dt={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 n=ht[t]||S.find.attr;ht[t]=function(e,t,i){var r,o,s=t.toLowerCase();return i||(o=ht[s],ht[s]=r,r=null!=n(e,t,i)?s:null,ht[s]=o),r}}));var ft=/^(?:input|select|textarea|button)$/i,pt=/^(?:a|area)$/i;function vt(e){return(e.match(L)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function yt(e){return Array.isArray(e)?e:"string"===typeof e&&e.match(L)||[]}S.fn.extend({prop:function(e,t){return V(this,S.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[S.propFix[e]||e]}))}}),S.extend({prop:function(e,t,n){var i,r,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,r=S.propHooks[t]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:e[t]=n:r&&"get"in r&&null!==(i=r.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ft.test(e.nodeName)||pt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.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(e){var t,n,i,r,o,s,a,l=0;if(y(e))return this.each((function(t){S(this).addClass(e.call(this,t,gt(this)))}));if((t=yt(e)).length)for(;n=this[l++];)if(r=gt(n),i=1===n.nodeType&&" "+vt(r)+" "){for(s=0;o=t[s++];)i.indexOf(" "+o+" ")<0&&(i+=o+" ");r!==(a=vt(i))&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,i,r,o,s,a,l=0;if(y(e))return this.each((function(t){S(this).removeClass(e.call(this,t,gt(this)))}));if(!arguments.length)return this.attr("class","");if((t=yt(e)).length)for(;n=this[l++];)if(r=gt(n),i=1===n.nodeType&&" "+vt(r)+" "){for(s=0;o=t[s++];)for(;i.indexOf(" "+o+" ")>-1;)i=i.replace(" "+o+" "," ");r!==(a=vt(i))&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e,i="string"===n||Array.isArray(e);return"boolean"===typeof t&&i?t?this.addClass(e):this.removeClass(e):y(e)?this.each((function(n){S(this).toggleClass(e.call(this,n,gt(this),t),t)})):this.each((function(){var t,r,o,s;if(i)for(r=0,o=S(this),s=yt(e);t=s[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=gt(this))&&Q.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Q.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,i=0;for(t=" "+e+" ";n=this[i++];)if(1===n.nodeType&&(" "+vt(gt(n))+" ").indexOf(t)>-1)return!0;return!1}});var mt=/\r/g;S.fn.extend({val:function(e){var t,n,i,r=this[0];return arguments.length?(i=y(e),this.each((function(n){var r;1===this.nodeType&&(null==(r=i?e.call(this,n,S(this).val()):e)?r="":"number"===typeof r?r+="":Array.isArray(r)&&(r=S.map(r,(function(e){return null==e?"":e+""}))),(t=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,r,"value")||(this.value=r))}))):r?(t=S.valHooks[r.type]||S.valHooks[r.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(r,"value"))?n:"string"===typeof(n=r.value)?n.replace(mt,""):null==n?"":n: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,i,r=e.options,o=e.selectedIndex,s="select-one"===e.type,a=s?null:[],l=s?o+1:r.length;for(i=o<0?l:s?o:0;i-1)&&(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=S.inArray(S(e).val(),t)>-1}},g.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),g.focusin="onfocusin"in n;var bt=/^(?:focusinfocus|focusoutblur)$/,_t=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,i,r){var o,s,a,l,u,c,d,h,p=[i||b],v=f.call(e,"type")?e.type:e,g=f.call(e,"namespace")?e.namespace.split("."):[];if(s=h=a=i=i||b,3!==i.nodeType&&8!==i.nodeType&&!bt.test(v+S.event.triggered)&&(v.indexOf(".")>-1&&(g=v.split("."),v=g.shift(),g.sort()),u=v.indexOf(":")<0&&"on"+v,(e=e[S.expando]?e:new S.Event(v,"object"===typeof e&&e)).isTrigger=r?2:3,e.namespace=g.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=i),t=null==t?[e]:S.makeArray(t,[e]),d=S.event.special[v]||{},r||!d.trigger||!1!==d.trigger.apply(i,t))){if(!r&&!d.noBubble&&!m(i)){for(l=d.delegateType||v,bt.test(l+v)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(i.ownerDocument||b)&&p.push(a.defaultView||a.parentWindow||n)}for(o=0;(s=p[o++])&&!e.isPropagationStopped();)h=s,e.type=o>1?l:d.bindType||v,(c=(Q.get(s,"events")||Object.create(null))[e.type]&&Q.get(s,"handle"))&&c.apply(s,t),(c=u&&s[u])&&c.apply&&K(s)&&(e.result=c.apply(s,t),!1===e.result&&e.preventDefault());return e.type=v,r||e.isDefaultPrevented()||d._default&&!1!==d._default.apply(p.pop(),t)||!K(i)||u&&y(i[v])&&!m(i)&&((a=i[u])&&(i[u]=null),S.event.triggered=v,e.isPropagationStopped()&&h.addEventListener(v,_t),i[v](),e.isPropagationStopped()&&h.removeEventListener(v,_t),S.event.triggered=void 0,a&&(i[u]=a)),e.result}},simulate:function(e,t,n){var i=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(i,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)}}),g.focusin||S.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){S.event.simulate(t,e.target,S.event.fix(e))};S.event.special[t]={setup:function(){var i=this.ownerDocument||this.document||this,r=Q.access(i,t);r||i.addEventListener(e,n,!0),Q.access(i,t,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this.document||this,r=Q.access(i,t)-1;r?Q.access(i,t,r):(i.removeEventListener(e,n,!0),Q.remove(i,t))}}}));var wt=n.location,xt={guid:Date.now()},kt=/\?/;S.parseXML=function(e){var t,i;if(!e||"string"!==typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(r){}return i=t&&t.getElementsByTagName("parsererror")[0],t&&!i||S.error("Invalid XML: "+(i?S.map(i.childNodes,(function(e){return e.textContent})).join("\n"):e)),t};var St=/\[\]$/,Et=/\r?\n/g,Tt=/^(?:submit|button|image|reset|file)$/i,Ct=/^(?:input|select|textarea|keygen)/i;function Ot(e,t,n,i){var r;if(Array.isArray(t))S.each(t,(function(t,r){n||St.test(e)?i(e,r):Ot(e+"["+("object"===typeof r&&null!=r?t:"")+"]",r,n,i)}));else if(n||"object"!==x(t))i(e,t);else for(r in t)Ot(e+"["+r+"]",t[r],n,i)}S.param=function(e,t){var n,i=[],r=function(e,t){var n=y(t)?t():t;i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,(function(){r(this.name,this.value)}));else for(n in e)Ot(n,e[n],t,r);return i.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")&&Ct.test(this.nodeName)&&!Tt.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(Et,"\r\n")}})):{name:t.name,value:n.replace(Et,"\r\n")}})).get()}});var Dt=/%20/g,Mt=/#.*$/,Nt=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,At=/^(?:GET|HEAD)$/,Ft=/^\/\//,Rt={},jt={},It="*/".concat("*"),Lt=b.createElement("a");function zt(e){return function(t,n){"string"!==typeof t&&(n=t,t="*");var i,r=0,o=t.toLowerCase().match(L)||[];if(y(n))for(;i=o[r++];)"+"===i[0]?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function Ht(e,t,n,i){var r={},o=e===jt;function s(a){var l;return r[a]=!0,S.each(e[a]||[],(function(e,a){var u=a(t,n,i);return"string"!==typeof u||o||r[u]?o?!(l=u):void 0:(t.dataTypes.unshift(u),s(u),!1)})),l}return s(t.dataTypes[0])||!r["*"]&&s("*")}function Bt(e,t){var n,i,r=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((r[n]?e:i||(i={}))[n]=t[n]);return i&&S.extend(!0,e,i),e}Lt.href=wt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(wt.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?Bt(Bt(e,S.ajaxSettings),t):Bt(S.ajaxSettings,e)},ajaxPrefilter:zt(Rt),ajaxTransport:zt(jt),ajax:function(e,t){"object"===typeof e&&(t=e,e=void 0);var i,r,o,s,a,l,u,c,d,h,f=S.ajaxSetup({},t=t||{}),p=f.context||f,v=f.context&&(p.nodeType||p.jquery)?S(p):S.event,g=S.Deferred(),y=S.Callbacks("once memory"),m=f.statusCode||{},_={},w={},x="canceled",k={readyState:0,getResponseHeader:function(e){var t;if(u){if(!s)for(s={};t=Pt.exec(o);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return u?o:null},setRequestHeader:function(e,t){return null==u&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,_[e]=t),this},overrideMimeType:function(e){return null==u&&(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)k.always(e[k.status]);else for(t in e)m[t]=[m[t],e[t]];return this},abort:function(e){var t=e||x;return i&&i.abort(t),E(0,t),this}};if(g.promise(k),f.url=((e||f.url||wt.href)+"").replace(Ft,wt.protocol+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(L)||[""],null==f.crossDomain){l=b.createElement("a");try{l.href=f.url,l.href=l.href,f.crossDomain=Lt.protocol+"//"+Lt.host!==l.protocol+"//"+l.host}catch(T){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!==typeof f.data&&(f.data=S.param(f.data,f.traditional)),Ht(Rt,f,t,k),u)return k;for(d in(c=S.event&&f.global)&&0===S.active++&&S.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!At.test(f.type),r=f.url.replace(Mt,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(Dt,"+")):(h=f.url.slice(r.length),f.data&&(f.processData||"string"===typeof f.data)&&(r+=(kt.test(r)?"&":"?")+f.data,delete f.data),!1===f.cache&&(r=r.replace(Nt,"$1"),h=(kt.test(r)?"&":"?")+"_="+xt.guid+++h),f.url=r+h),f.ifModified&&(S.lastModified[r]&&k.setRequestHeader("If-Modified-Since",S.lastModified[r]),S.etag[r]&&k.setRequestHeader("If-None-Match",S.etag[r])),(f.data&&f.hasContent&&!1!==f.contentType||t.contentType)&&k.setRequestHeader("Content-Type",f.contentType),k.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+It+"; q=0.01":""):f.accepts["*"]),f.headers)k.setRequestHeader(d,f.headers[d]);if(f.beforeSend&&(!1===f.beforeSend.call(p,k,f)||u))return k.abort();if(x="abort",y.add(f.complete),k.done(f.success),k.fail(f.error),i=Ht(jt,f,t,k)){if(k.readyState=1,c&&v.trigger("ajaxSend",[k,f]),u)return k;f.async&&f.timeout>0&&(a=n.setTimeout((function(){k.abort("timeout")}),f.timeout));try{u=!1,i.send(_,E)}catch(T){if(u)throw T;E(-1,T)}}else E(-1,"No Transport");function E(e,t,s,l){var d,h,b,_,w,x=t;u||(u=!0,a&&n.clearTimeout(a),i=void 0,o=l||"",k.readyState=e>0?4:0,d=e>=200&&e<300||304===e,s&&(_=function(e,t,n){for(var i,r,o,s,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(r in a)if(a[r]&&a[r].test(i)){l.unshift(r);break}if(l[0]in n)o=l[0];else{for(r in n){if(!l[0]||e.converters[r+" "+l[0]]){o=r;break}s||(s=r)}o=o||s}if(o)return o!==l[0]&&l.unshift(o),n[o]}(f,k,s)),!d&&S.inArray("script",f.dataTypes)>-1&&S.inArray("json",f.dataTypes)<0&&(f.converters["text script"]=function(){}),_=function(e,t,n,i){var r,o,s,a,l,u={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)u[s.toLowerCase()]=e.converters[s];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(s=u[l+" "+o]||u["* "+o]))for(r in u)if((a=r.split(" "))[1]===o&&(s=u[l+" "+a[0]]||u["* "+a[0]])){!0===s?s=u[r]:!0!==u[r]&&(o=a[0],c.unshift(a[1]));break}if(!0!==s)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(T){return{state:"parsererror",error:s?T:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}(f,_,k,d),d?(f.ifModified&&((w=k.getResponseHeader("Last-Modified"))&&(S.lastModified[r]=w),(w=k.getResponseHeader("etag"))&&(S.etag[r]=w)),204===e||"HEAD"===f.type?x="nocontent":304===e?x="notmodified":(x=_.state,h=_.data,d=!(b=_.error))):(b=x,!e&&x||(x="error",e<0&&(e=0))),k.status=e,k.statusText=(t||x)+"",d?g.resolveWith(p,[h,x,k]):g.rejectWith(p,[k,x,b]),k.statusCode(m),m=void 0,c&&v.trigger(d?"ajaxSuccess":"ajaxError",[k,f,d?h:b]),y.fireWith(p,[k,x]),c&&(v.trigger("ajaxComplete",[k,f]),--S.active||S.event.trigger("ajaxStop")))}return k},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,t){S[t]=function(e,n,i,r){return y(n)&&(r=r||i,i=n,n=void 0),S.ajax(S.extend({url:e,type:t,dataType:r,data:n,success:i},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]&&(y(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(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return y(e)?this.each((function(t){S(this).wrapInner(e.call(this,t))})):this.each((function(){var t=S(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=y(e);return this.each((function(n){S(this).wrapAll(t?e.call(this,n):e)}))},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 n.XMLHttpRequest}catch(e){}};var Yt={0:200,1223:204},Wt=S.ajaxSettings.xhr();g.cors=!!Wt&&"withCredentials"in Wt,g.ajax=Wt=!!Wt,S.ajaxTransport((function(e){var t,i;if(g.cors||Wt&&!e.crossDomain)return{send:function(r,o){var s,a=e.xhr();if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(s in e.xhrFields)a[s]=e.xhrFields[s];for(s in e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest"),r)a.setRequestHeader(s,r[s]);t=function(e){return function(){t&&(t=i=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!==typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Yt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!==typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=t(),i=a.onerror=a.ontimeout=t("error"),void 0!==a.onabort?a.onabort=i:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout((function(){t&&i()}))},t=t("abort");try{a.send(e.hasContent&&e.data||null)}catch(l){if(t)throw l}},abort:function(){t&&t()}}})),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(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(i,r){t=S("\n\t// \n\t// ...\n\t//\n\t// $(\"#tree\").fancytree({\n\t// extensions: [\"childcounter\"],\n\t// childcounter: {\n\t// hideExpanded: true\n\t// },\n\t// ...\n\t// });\n\t//\n\n\t/* 'childcounter' extension */\n\t$.ui.fancytree.registerExtension({\n\t\t// Every extension must be registered by a unique name.\n\t\tname: \"childcounter\",\n\t\t// Version information should be compliant with [semver](http://semver.org)\n\t\tversion: \"2.38.0\",\n\n\t\t// Extension specific options and their defaults.\n\t\t// This options will be available as `tree.options.childcounter.hideExpanded`\n\n\t\toptions: {\n\t\t\tdeep: true,\n\t\t\thideZeros: true,\n\t\t\thideExpanded: false,\n\t\t},\n\n\t\t// Attributes other than `options` (or functions) can be defined here, and\n\t\t// will be added to the tree.ext.EXTNAME namespace, in this case `tree.ext.childcounter.foo`.\n\t\t// They can also be accessed as `this._local.foo` from within the extension\n\t\t// methods.\n\t\tfoo: 42,\n\n\t\t// Local functions are prefixed with an underscore '_'.\n\t\t// Callable as `this._local._appendCounter()`.\n\n\t\t_appendCounter: function(bar) {\n\t\t\tvar tree = this;\n\t\t},\n\n\t\t// **Override virtual methods for this extension.**\n\t\t//\n\t\t// Fancytree implements a number of 'hook methods', prefixed by 'node...' or 'tree...'.\n\t\t// with a `ctx` argument (see [EventData](https://wwWendt.de/tech/fancytree/doc/jsdoc/global.html#EventData)\n\t\t// for details) and an extended calling context:
        \n\t\t// `this` : the Fancytree instance
        \n\t\t// `this._local`: the namespace that contains extension attributes and private methods (same as this.ext.EXTNAME)
        \n\t\t// `this._super`: the virtual function that was overridden (member of previous extension or Fancytree)\n\t\t//\n\t\t// See also the [complete list of available hook functions](https://wwWendt.de/tech/fancytree/doc/jsdoc/Fancytree_Hooks.html).\n\n\t\t/* Init */\n\t\t// `treeInit` is triggered when a tree is initalized. We can set up classes or\n\t\t// bind event handlers here...\n\t\ttreeInit: function(ctx) {\n\t\t\tvar tree = this, // same as ctx.tree,\n\t\t\t\topts = ctx.options,\n\t\t\t\textOpts = ctx.options.childcounter;\n\t\t\t// Optionally check for dependencies with other extensions\n\t\t\t/* this._requireExtension(\"glyph\", false, false); */\n\t\t\t// Call the base implementation\n\t\t\tthis._superApply(arguments);\n\t\t\t// Add a class to the tree container\n\t\t\tthis.$container.addClass(\"fancytree-ext-childcounter\");\n\t\t},\n\n\t\t// Destroy this tree instance (we only call the default implementation, so\n\t\t// this method could as well be omitted).\n\n\t\ttreeDestroy: function(ctx) {\n\t\t\tthis._superApply(arguments);\n\t\t},\n\n\t\t// Overload the `renderTitle` hook, to append a counter badge\n\t\tnodeRenderTitle: function(ctx, title) {\n\t\t\tvar node = ctx.node,\n\t\t\t\textOpts = ctx.options.childcounter,\n\t\t\t\tcount =\n\t\t\t\t\tnode.data.childCounter == null\n\t\t\t\t\t\t? node.countChildren(extOpts.deep)\n\t\t\t\t\t\t: +node.data.childCounter;\n\t\t\t// Let the base implementation render the title\n\t\t\t// We use `_super()` instead of `_superApply()` here, since it is a little bit\n\t\t\t// more performant when called often\n\t\t\tthis._super(ctx, title);\n\t\t\t// Append a counter badge\n\t\t\tif (\n\t\t\t\t(count || !extOpts.hideZeros) &&\n\t\t\t\t(!node.isExpanded() || !extOpts.hideExpanded)\n\t\t\t) {\n\t\t\t\t$(\n\t\t\t\t\t\"span.fancytree-icon,span.fancytree-custom-icon\",\n\t\t\t\t\tnode.span\n\t\t\t\t).append(\n\t\t\t\t\t$(\"\").text(count)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t// Overload the `setExpanded` hook, so the counters are updated\n\t\tnodeSetExpanded: function(ctx, flag, callOpts) {\n\t\t\tvar tree = ctx.tree,\n\t\t\t\tnode = ctx.node;\n\t\t\t// Let the base implementation expand/collapse the node, then redraw the title\n\t\t\t// after the animation has finished\n\t\t\treturn this._superApply(arguments).always(function() {\n\t\t\t\ttree.nodeRenderTitle(ctx);\n\t\t\t});\n\t\t},\n\n\t\t// End of extension definition\n\t});\n\t// Value returned by `require('jquery.fancytree..')`\n\treturn $.ui.fancytree;\n}); // End of closure\n","/*!\n * jquery.fancytree.edit.js\n *\n * Make node titles editable.\n * (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)\n *\n * Copyright (c) 2008-2021, Martin Wendt (https://wwWendt.de)\n *\n * Released under the MIT license\n * https://github.com/mar10/fancytree/wiki/LicenseInfo\n *\n * @version 2.38.0\n * @date 2021-02-09T20:03:49Z\n */\n\n(function(factory) {\n\tif (typeof define === \"function\" && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([\"jquery\", \"./jquery.fancytree\"], factory);\n\t} else if (typeof module === \"object\" && module.exports) {\n\t\t// Node/CommonJS\n\t\trequire(\"./jquery.fancytree\");\n\t\tmodule.exports = factory(require(\"jquery\"));\n\t} else {\n\t\t// Browser globals\n\t\tfactory(jQuery);\n\t}\n})(function($) {\n\t\"use strict\";\n\n\t/*******************************************************************************\n\t * Private functions and variables\n\t */\n\n\tvar isMac = /Mac/.test(navigator.platform),\n\t\tescapeHtml = $.ui.fancytree.escapeHtml,\n\t\tunescapeHtml = $.ui.fancytree.unescapeHtml;\n\n\t/**\n\t * [ext-edit] Start inline editing of current node title.\n\t *\n\t * @alias FancytreeNode#editStart\n\t * @requires Fancytree\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.editStart = function() {\n\t\tvar $input,\n\t\t\tnode = this,\n\t\t\ttree = this.tree,\n\t\t\tlocal = tree.ext.edit,\n\t\t\tinstOpts = tree.options.edit,\n\t\t\t$title = $(\".fancytree-title\", node.span),\n\t\t\teventData = {\n\t\t\t\tnode: node,\n\t\t\t\ttree: tree,\n\t\t\t\toptions: tree.options,\n\t\t\t\tisNew: $(node[tree.statusClassPropName]).hasClass(\n\t\t\t\t\t\"fancytree-edit-new\"\n\t\t\t\t),\n\t\t\t\torgTitle: node.title,\n\t\t\t\tinput: null,\n\t\t\t\tdirty: false,\n\t\t\t};\n\n\t\t// beforeEdit may want to modify the title before editing\n\t\tif (\n\t\t\tinstOpts.beforeEdit.call(\n\t\t\t\tnode,\n\t\t\t\t{ type: \"beforeEdit\" },\n\t\t\t\teventData\n\t\t\t) === false\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\t$.ui.fancytree.assert(!local.currentNode, \"recursive edit\");\n\t\tlocal.currentNode = this;\n\t\tlocal.eventData = eventData;\n\n\t\t// Disable standard Fancytree mouse- and key handling\n\t\ttree.widget._unbind();\n\n\t\tlocal.lastDraggableAttrValue = node.span.draggable;\n\t\tif (local.lastDraggableAttrValue) {\n\t\t\tnode.span.draggable = false;\n\t\t}\n\n\t\t// #116: ext-dnd prevents the blur event, so we have to catch outer clicks\n\t\t$(document).on(\"mousedown.fancytree-edit\", function(event) {\n\t\t\tif (!$(event.target).hasClass(\"fancytree-edit-input\")) {\n\t\t\t\tnode.editEnd(true, event);\n\t\t\t}\n\t\t});\n\n\t\t// Replace node with \n\t\t$input = $(\"\", {\n\t\t\tclass: \"fancytree-edit-input\",\n\t\t\ttype: \"text\",\n\t\t\tvalue: tree.options.escapeTitles\n\t\t\t\t? eventData.orgTitle\n\t\t\t\t: unescapeHtml(eventData.orgTitle),\n\t\t});\n\t\tlocal.eventData.input = $input;\n\t\tif (instOpts.adjustWidthOfs != null) {\n\t\t\t$input.width($title.width() + instOpts.adjustWidthOfs);\n\t\t}\n\t\tif (instOpts.inputCss != null) {\n\t\t\t$input.css(instOpts.inputCss);\n\t\t}\n\n\t\t$title.html($input);\n\n\t\t// Focus and bind keyboard handler\n\t\t$input\n\t\t\t.focus()\n\t\t\t.change(function(event) {\n\t\t\t\t$input.addClass(\"fancytree-edit-dirty\");\n\t\t\t})\n\t\t\t.on(\"keydown\", function(event) {\n\t\t\t\tswitch (event.which) {\n\t\t\t\t\tcase $.ui.keyCode.ESCAPE:\n\t\t\t\t\t\tnode.editEnd(false, event);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase $.ui.keyCode.ENTER:\n\t\t\t\t\t\tnode.editEnd(true, event);\n\t\t\t\t\t\treturn false; // so we don't start editmode on Mac\n\t\t\t\t}\n\t\t\t\tevent.stopPropagation();\n\t\t\t})\n\t\t\t.blur(function(event) {\n\t\t\t\treturn node.editEnd(true, event);\n\t\t\t});\n\n\t\tinstOpts.edit.call(node, { type: \"edit\" }, eventData);\n\t};\n\n\t/**\n\t * [ext-edit] Stop inline editing.\n\t * @param {Boolean} [applyChanges=false] false: cancel edit, true: save (if modified)\n\t * @alias FancytreeNode#editEnd\n\t * @requires jquery.fancytree.edit.js\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.editEnd = function(\n\t\tapplyChanges,\n\t\t_event\n\t) {\n\t\tvar newVal,\n\t\t\tnode = this,\n\t\t\ttree = this.tree,\n\t\t\tlocal = tree.ext.edit,\n\t\t\teventData = local.eventData,\n\t\t\tinstOpts = tree.options.edit,\n\t\t\t$title = $(\".fancytree-title\", node.span),\n\t\t\t$input = $title.find(\"input.fancytree-edit-input\");\n\n\t\tif (instOpts.trim) {\n\t\t\t$input.val($.trim($input.val()));\n\t\t}\n\t\tnewVal = $input.val();\n\n\t\teventData.dirty = newVal !== node.title;\n\t\teventData.originalEvent = _event;\n\n\t\t// Find out, if saving is required\n\t\tif (applyChanges === false) {\n\t\t\t// If true/false was passed, honor this (except in rename mode, if unchanged)\n\t\t\teventData.save = false;\n\t\t} else if (eventData.isNew) {\n\t\t\t// In create mode, we save everything, except for empty text\n\t\t\teventData.save = newVal !== \"\";\n\t\t} else {\n\t\t\t// In rename mode, we save everyting, except for empty or unchanged text\n\t\t\teventData.save = eventData.dirty && newVal !== \"\";\n\t\t}\n\t\t// Allow to break (keep editor open), modify input, or re-define data.save\n\t\tif (\n\t\t\tinstOpts.beforeClose.call(\n\t\t\t\tnode,\n\t\t\t\t{ type: \"beforeClose\" },\n\t\t\t\teventData\n\t\t\t) === false\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\tif (\n\t\t\teventData.save &&\n\t\t\tinstOpts.save.call(node, { type: \"save\" }, eventData) === false\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\t$input.removeClass(\"fancytree-edit-dirty\").off();\n\t\t// Unbind outer-click handler\n\t\t$(document).off(\".fancytree-edit\");\n\n\t\tif (eventData.save) {\n\t\t\t// # 171: escape user input (not required if global escaping is on)\n\t\t\tnode.setTitle(\n\t\t\t\ttree.options.escapeTitles ? newVal : escapeHtml(newVal)\n\t\t\t);\n\t\t\tnode.setFocus();\n\t\t} else {\n\t\t\tif (eventData.isNew) {\n\t\t\t\tnode.remove();\n\t\t\t\tnode = eventData.node = null;\n\t\t\t\tlocal.relatedNode.setFocus();\n\t\t\t} else {\n\t\t\t\tnode.renderTitle();\n\t\t\t\tnode.setFocus();\n\t\t\t}\n\t\t}\n\t\tlocal.eventData = null;\n\t\tlocal.currentNode = null;\n\t\tlocal.relatedNode = null;\n\t\t// Re-enable mouse and keyboard handling\n\t\ttree.widget._bind();\n\n\t\tif (node && local.lastDraggableAttrValue) {\n\t\t\tnode.span.draggable = true;\n\t\t}\n\n\t\t// Set keyboard focus, even if setFocus() claims 'nothing to do'\n\t\ttree.$container.get(0).focus({ preventScroll: true });\n\t\teventData.input = null;\n\t\tinstOpts.close.call(node, { type: \"close\" }, eventData);\n\t\treturn true;\n\t};\n\n\t/**\n\t * [ext-edit] Create a new child or sibling node and start edit mode.\n\t *\n\t * @param {String} [mode='child'] 'before', 'after', or 'child'\n\t * @param {Object} [init] NodeData (or simple title string)\n\t * @alias FancytreeNode#editCreateNode\n\t * @requires jquery.fancytree.edit.js\n\t * @since 2.4\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.editCreateNode = function(\n\t\tmode,\n\t\tinit\n\t) {\n\t\tvar newNode,\n\t\t\ttree = this.tree,\n\t\t\tself = this;\n\n\t\tmode = mode || \"child\";\n\t\tif (init == null) {\n\t\t\tinit = { title: \"\" };\n\t\t} else if (typeof init === \"string\") {\n\t\t\tinit = { title: init };\n\t\t} else {\n\t\t\t$.ui.fancytree.assert($.isPlainObject(init));\n\t\t}\n\t\t// Make sure node is expanded (and loaded) in 'child' mode\n\t\tif (\n\t\t\tmode === \"child\" &&\n\t\t\t!this.isExpanded() &&\n\t\t\tthis.hasChildren() !== false\n\t\t) {\n\t\t\tthis.setExpanded().done(function() {\n\t\t\t\tself.editCreateNode(mode, init);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tnewNode = this.addNode(init, mode);\n\n\t\t// #644: Don't filter new nodes.\n\t\tnewNode.match = true;\n\t\t$(newNode[tree.statusClassPropName])\n\t\t\t.removeClass(\"fancytree-hide\")\n\t\t\t.addClass(\"fancytree-match\");\n\n\t\tnewNode.makeVisible(/*{noAnimation: true}*/).done(function() {\n\t\t\t$(newNode[tree.statusClassPropName]).addClass(\"fancytree-edit-new\");\n\t\t\tself.tree.ext.edit.relatedNode = self;\n\t\t\tnewNode.editStart();\n\t\t});\n\t};\n\n\t/**\n\t * [ext-edit] Check if any node in this tree in edit mode.\n\t *\n\t * @returns {FancytreeNode | null}\n\t * @alias Fancytree#isEditing\n\t * @requires jquery.fancytree.edit.js\n\t */\n\t$.ui.fancytree._FancytreeClass.prototype.isEditing = function() {\n\t\treturn this.ext.edit ? this.ext.edit.currentNode : null;\n\t};\n\n\t/**\n\t * [ext-edit] Check if this node is in edit mode.\n\t * @returns {Boolean} true if node is currently beeing edited\n\t * @alias FancytreeNode#isEditing\n\t * @requires jquery.fancytree.edit.js\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.isEditing = function() {\n\t\treturn this.tree.ext.edit\n\t\t\t? this.tree.ext.edit.currentNode === this\n\t\t\t: false;\n\t};\n\n\t/*******************************************************************************\n\t * Extension code\n\t */\n\t$.ui.fancytree.registerExtension({\n\t\tname: \"edit\",\n\t\tversion: \"2.38.0\",\n\t\t// Default options for this extension.\n\t\toptions: {\n\t\t\tadjustWidthOfs: 4, // null: don't adjust input size to content\n\t\t\tallowEmpty: false, // Prevent empty input\n\t\t\tinputCss: { minWidth: \"3em\" },\n\t\t\t// triggerCancel: [\"esc\", \"tab\", \"click\"],\n\t\t\ttriggerStart: [\"f2\", \"mac+enter\", \"shift+click\"],\n\t\t\ttrim: true, // Trim whitespace before save\n\t\t\t// Events:\n\t\t\tbeforeClose: $.noop, // Return false to prevent cancel/save (data.input is available)\n\t\t\tbeforeEdit: $.noop, // Return false to prevent edit mode\n\t\t\tclose: $.noop, // Editor was removed\n\t\t\tedit: $.noop, // Editor was opened (available as data.input)\n\t\t\t//\t\tkeypress: $.noop, // Not yet implemented\n\t\t\tsave: $.noop, // Save data.input.val() or return false to keep editor open\n\t\t},\n\t\t// Local attributes\n\t\tcurrentNode: null,\n\n\t\ttreeInit: function(ctx) {\n\t\t\tvar tree = ctx.tree;\n\n\t\t\tthis._superApply(arguments);\n\n\t\t\tthis.$container\n\t\t\t\t.addClass(\"fancytree-ext-edit\")\n\t\t\t\t.on(\"fancytreebeforeupdateviewport\", function(event, data) {\n\t\t\t\t\tvar editNode = tree.isEditing();\n\t\t\t\t\t// When scrolling, the TR may be re-used by another node, so the\n\t\t\t\t\t// active cell marker an\n\t\t\t\t\tif (editNode) {\n\t\t\t\t\t\teditNode.info(\"Cancel edit due to scroll event.\");\n\t\t\t\t\t\teditNode.editEnd(false, event);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t\tnodeClick: function(ctx) {\n\t\t\tvar eventStr = $.ui.fancytree.eventToString(ctx.originalEvent),\n\t\t\t\ttriggerStart = ctx.options.edit.triggerStart;\n\n\t\t\tif (\n\t\t\t\teventStr === \"shift+click\" &&\n\t\t\t\t$.inArray(\"shift+click\", triggerStart) >= 0\n\t\t\t) {\n\t\t\t\tif (ctx.originalEvent.shiftKey) {\n\t\t\t\t\tctx.node.editStart();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\teventStr === \"click\" &&\n\t\t\t\t$.inArray(\"clickActive\", triggerStart) >= 0\n\t\t\t) {\n\t\t\t\t// Only when click was inside title text (not aynwhere else in the row)\n\t\t\t\tif (\n\t\t\t\t\tctx.node.isActive() &&\n\t\t\t\t\t!ctx.node.isEditing() &&\n\t\t\t\t\t$(ctx.originalEvent.target).hasClass(\"fancytree-title\")\n\t\t\t\t) {\n\t\t\t\t\tctx.node.editStart();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t\tnodeDblclick: function(ctx) {\n\t\t\tif ($.inArray(\"dblclick\", ctx.options.edit.triggerStart) >= 0) {\n\t\t\t\tctx.node.editStart();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t\tnodeKeydown: function(ctx) {\n\t\t\tswitch (ctx.originalEvent.which) {\n\t\t\t\tcase 113: // [F2]\n\t\t\t\t\tif ($.inArray(\"f2\", ctx.options.edit.triggerStart) >= 0) {\n\t\t\t\t\t\tctx.node.editStart();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.ENTER:\n\t\t\t\t\tif (\n\t\t\t\t\t\t$.inArray(\"mac+enter\", ctx.options.edit.triggerStart) >=\n\t\t\t\t\t\t\t0 &&\n\t\t\t\t\t\tisMac\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.node.editStart();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t});\n\t// Value returned by `require('jquery.fancytree..')`\n\treturn $.ui.fancytree;\n}); // End of closure\n","/*!\n * jquery.fancytree.multi.js\n *\n * Allow multiple selection of nodes by mouse or keyboard.\n * (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)\n *\n * Copyright (c) 2008-2021, Martin Wendt (https://wwWendt.de)\n *\n * Released under the MIT license\n * https://github.com/mar10/fancytree/wiki/LicenseInfo\n *\n * @version 2.38.0\n * @date 2021-02-09T20:03:49Z\n */\n\n(function(factory) {\n\tif (typeof define === \"function\" && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([\"jquery\", \"./jquery.fancytree\"], factory);\n\t} else if (typeof module === \"object\" && module.exports) {\n\t\t// Node/CommonJS\n\t\trequire(\"./jquery.fancytree\");\n\t\tmodule.exports = factory(require(\"jquery\"));\n\t} else {\n\t\t// Browser globals\n\t\tfactory(jQuery);\n\t}\n})(function($) {\n\t\"use strict\";\n\n\t/*******************************************************************************\n\t * Private functions and variables\n\t */\n\n\t// var isMac = /Mac/.test(navigator.platform);\n\n\t/*******************************************************************************\n\t * Extension code\n\t */\n\t$.ui.fancytree.registerExtension({\n\t\tname: \"multi\",\n\t\tversion: \"2.38.0\",\n\t\t// Default options for this extension.\n\t\toptions: {\n\t\t\tallowNoSelect: false, //\n\t\t\tmode: \"sameParent\", //\n\t\t\t// Events:\n\t\t\t// beforeSelect: $.noop // Return false to prevent cancel/save (data.input is available)\n\t\t},\n\n\t\ttreeInit: function(ctx) {\n\t\t\tthis._superApply(arguments);\n\t\t\tthis.$container.addClass(\"fancytree-ext-multi\");\n\t\t\tif (ctx.options.selectMode === 1) {\n\t\t\t\t$.error(\n\t\t\t\t\t\"Fancytree ext-multi: selectMode: 1 (single) is not compatible.\"\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tnodeClick: function(ctx) {\n\t\t\tvar //pluginOpts = ctx.options.multi,\n\t\t\t\ttree = ctx.tree,\n\t\t\t\tnode = ctx.node,\n\t\t\t\tactiveNode = tree.getActiveNode() || tree.getFirstChild(),\n\t\t\t\tisCbClick = ctx.targetType === \"checkbox\",\n\t\t\t\tisExpanderClick = ctx.targetType === \"expander\",\n\t\t\t\teventStr = $.ui.fancytree.eventToString(ctx.originalEvent);\n\n\t\t\tswitch (eventStr) {\n\t\t\t\tcase \"click\":\n\t\t\t\t\tif (isExpanderClick) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} // Default handler will expand/collapse\n\t\t\t\t\tif (!isCbClick) {\n\t\t\t\t\t\ttree.selectAll(false);\n\t\t\t\t\t\t// Select clicked node (radio-button mode)\n\t\t\t\t\t\tnode.setSelected();\n\t\t\t\t\t}\n\t\t\t\t\t// Default handler will toggle checkbox clicks and activate\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"shift+click\":\n\t\t\t\t\t// node.debug(\"click\")\n\t\t\t\t\ttree.visitRows(\n\t\t\t\t\t\tfunction(n) {\n\t\t\t\t\t\t\t// n.debug(\"click2\", n===node, node)\n\t\t\t\t\t\t\tn.setSelected();\n\t\t\t\t\t\t\tif (n === node) {\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstart: activeNode,\n\t\t\t\t\t\t\treverse: activeNode.isBelowOf(node),\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ctrl+click\":\n\t\t\t\tcase \"meta+click\": // Mac: [Command]\n\t\t\t\t\tnode.toggleSelected();\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t\tnodeKeydown: function(ctx) {\n\t\t\tvar tree = ctx.tree,\n\t\t\t\tnode = ctx.node,\n\t\t\t\tevent = ctx.originalEvent,\n\t\t\t\teventStr = $.ui.fancytree.eventToString(event);\n\n\t\t\tswitch (eventStr) {\n\t\t\t\tcase \"up\":\n\t\t\t\tcase \"down\":\n\t\t\t\t\ttree.selectAll(false);\n\t\t\t\t\tnode.navigate(event.which, true);\n\t\t\t\t\ttree.getActiveNode().setSelected();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"shift+up\":\n\t\t\t\tcase \"shift+down\":\n\t\t\t\t\tnode.navigate(event.which, true);\n\t\t\t\t\ttree.getActiveNode().setSelected();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t});\n\t// Value returned by `require('jquery.fancytree..')`\n\treturn $.ui.fancytree;\n}); // End of closure\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime= 9\n\t\tvar i;\n\t\tfor (i = arr.length - 1; i >= 0; i--) {\n\t\t\tif (arr[i] === elem) {\n\t\t\t\tarr.splice(i, 1);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * JS Implementation of MurmurHash3 (r136) (as of May 20, 2011)\n\t *\n\t * @author Gary Court\n\t * @see http://github.com/garycourt/murmurhash-js\n\t * @author Austin Appleby\n\t * @see http://sites.google.com/site/murmurhash/\n\t *\n\t * @param {string} key ASCII only\n\t * @param {boolean} [asString=false]\n\t * @param {number} seed Positive integer only\n\t * @return {number} 32-bit positive integer hash\n\t */\n\tfunction hashMurmur3(key, asString, seed) {\n\t\t/*eslint-disable no-bitwise */\n\t\tvar h1b,\n\t\t\tk1,\n\t\t\tremainder = key.length & 3,\n\t\t\tbytes = key.length - remainder,\n\t\t\th1 = seed,\n\t\t\tc1 = 0xcc9e2d51,\n\t\t\tc2 = 0x1b873593,\n\t\t\ti = 0;\n\n\t\twhile (i < bytes) {\n\t\t\tk1 =\n\t\t\t\t(key.charCodeAt(i) & 0xff) |\n\t\t\t\t((key.charCodeAt(++i) & 0xff) << 8) |\n\t\t\t\t((key.charCodeAt(++i) & 0xff) << 16) |\n\t\t\t\t((key.charCodeAt(++i) & 0xff) << 24);\n\t\t\t++i;\n\n\t\t\tk1 =\n\t\t\t\t((k1 & 0xffff) * c1 + ((((k1 >>> 16) * c1) & 0xffff) << 16)) &\n\t\t\t\t0xffffffff;\n\t\t\tk1 = (k1 << 15) | (k1 >>> 17);\n\t\t\tk1 =\n\t\t\t\t((k1 & 0xffff) * c2 + ((((k1 >>> 16) * c2) & 0xffff) << 16)) &\n\t\t\t\t0xffffffff;\n\n\t\t\th1 ^= k1;\n\t\t\th1 = (h1 << 13) | (h1 >>> 19);\n\t\t\th1b =\n\t\t\t\t((h1 & 0xffff) * 5 + ((((h1 >>> 16) * 5) & 0xffff) << 16)) &\n\t\t\t\t0xffffffff;\n\t\t\th1 =\n\t\t\t\t(h1b & 0xffff) +\n\t\t\t\t0x6b64 +\n\t\t\t\t((((h1b >>> 16) + 0xe654) & 0xffff) << 16);\n\t\t}\n\n\t\tk1 = 0;\n\n\t\tswitch (remainder) {\n\t\t\tcase 3:\n\t\t\t\tk1 ^= (key.charCodeAt(i + 2) & 0xff) << 16;\n\t\t\t// fall through\n\t\t\tcase 2:\n\t\t\t\tk1 ^= (key.charCodeAt(i + 1) & 0xff) << 8;\n\t\t\t// fall through\n\t\t\tcase 1:\n\t\t\t\tk1 ^= key.charCodeAt(i) & 0xff;\n\n\t\t\t\tk1 =\n\t\t\t\t\t((k1 & 0xffff) * c1 +\n\t\t\t\t\t\t((((k1 >>> 16) * c1) & 0xffff) << 16)) &\n\t\t\t\t\t0xffffffff;\n\t\t\t\tk1 = (k1 << 15) | (k1 >>> 17);\n\t\t\t\tk1 =\n\t\t\t\t\t((k1 & 0xffff) * c2 +\n\t\t\t\t\t\t((((k1 >>> 16) * c2) & 0xffff) << 16)) &\n\t\t\t\t\t0xffffffff;\n\t\t\t\th1 ^= k1;\n\t\t}\n\n\t\th1 ^= key.length;\n\n\t\th1 ^= h1 >>> 16;\n\t\th1 =\n\t\t\t((h1 & 0xffff) * 0x85ebca6b +\n\t\t\t\t((((h1 >>> 16) * 0x85ebca6b) & 0xffff) << 16)) &\n\t\t\t0xffffffff;\n\t\th1 ^= h1 >>> 13;\n\t\th1 =\n\t\t\t((h1 & 0xffff) * 0xc2b2ae35 +\n\t\t\t\t((((h1 >>> 16) * 0xc2b2ae35) & 0xffff) << 16)) &\n\t\t\t0xffffffff;\n\t\th1 ^= h1 >>> 16;\n\n\t\tif (asString) {\n\t\t\t// Convert to 8 digit hex string\n\t\t\treturn (\"0000000\" + (h1 >>> 0).toString(16)).substr(-8);\n\t\t}\n\t\treturn h1 >>> 0;\n\t\t/*eslint-enable no-bitwise */\n\t}\n\n\t/*\n\t * Return a unique key for node by calculating the hash of the parents refKey-list.\n\t */\n\tfunction calcUniqueKey(node) {\n\t\tvar key,\n\t\t\th1,\n\t\t\tpath = $.map(node.getParentList(false, true), function(e) {\n\t\t\t\treturn e.refKey || e.key;\n\t\t\t});\n\n\t\tpath = path.join(\"/\");\n\t\t// 32-bit has a high probability of collisions, so we pump up to 64-bit\n\t\t// https://security.stackexchange.com/q/209882/207588\n\n\t\th1 = hashMurmur3(path, true);\n\t\tkey = \"id_\" + h1 + hashMurmur3(h1 + path, true);\n\n\t\treturn key;\n\t}\n\n\t/**\n\t * [ext-clones] Return a list of clone-nodes (i.e. same refKey) or null.\n\t * @param {boolean} [includeSelf=false]\n\t * @returns {FancytreeNode[] | null}\n\t *\n\t * @alias FancytreeNode#getCloneList\n\t * @requires jquery.fancytree.clones.js\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.getCloneList = function(\n\t\tincludeSelf\n\t) {\n\t\tvar key,\n\t\t\ttree = this.tree,\n\t\t\trefList = tree.refMap[this.refKey] || null,\n\t\t\tkeyMap = tree.keyMap;\n\n\t\tif (refList) {\n\t\t\tkey = this.key;\n\t\t\t// Convert key list to node list\n\t\t\tif (includeSelf) {\n\t\t\t\trefList = $.map(refList, function(val) {\n\t\t\t\t\treturn keyMap[val];\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\trefList = $.map(refList, function(val) {\n\t\t\t\t\treturn val === key ? null : keyMap[val];\n\t\t\t\t});\n\t\t\t\tif (refList.length < 1) {\n\t\t\t\t\trefList = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn refList;\n\t};\n\n\t/**\n\t * [ext-clones] Return true if this node has at least another clone with same refKey.\n\t * @returns {boolean}\n\t *\n\t * @alias FancytreeNode#isClone\n\t * @requires jquery.fancytree.clones.js\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.isClone = function() {\n\t\tvar refKey = this.refKey || null,\n\t\t\trefList = (refKey && this.tree.refMap[refKey]) || null;\n\t\treturn !!(refList && refList.length > 1);\n\t};\n\n\t/**\n\t * [ext-clones] Update key and/or refKey for an existing node.\n\t * @param {string} key\n\t * @param {string} refKey\n\t * @returns {boolean}\n\t *\n\t * @alias FancytreeNode#reRegister\n\t * @requires jquery.fancytree.clones.js\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.reRegister = function(\n\t\tkey,\n\t\trefKey\n\t) {\n\t\tkey = key == null ? null : \"\" + key;\n\t\trefKey = refKey == null ? null : \"\" + refKey;\n\t\t// this.debug(\"reRegister\", key, refKey);\n\n\t\tvar tree = this.tree,\n\t\t\tprevKey = this.key,\n\t\t\tprevRefKey = this.refKey,\n\t\t\tkeyMap = tree.keyMap,\n\t\t\trefMap = tree.refMap,\n\t\t\trefList = refMap[prevRefKey] || null,\n\t\t\t//\t\tcurCloneKeys = refList ? node.getCloneList(true),\n\t\t\tmodified = false;\n\n\t\t// Key has changed: update all references\n\t\tif (key != null && key !== this.key) {\n\t\t\tif (keyMap[key]) {\n\t\t\t\t$.error(\n\t\t\t\t\t\"[ext-clones] reRegister(\" +\n\t\t\t\t\t\tkey +\n\t\t\t\t\t\t\"): already exists: \" +\n\t\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\t\t\t// Update keyMap\n\t\t\tdelete keyMap[prevKey];\n\t\t\tkeyMap[key] = this;\n\t\t\t// Update refMap\n\t\t\tif (refList) {\n\t\t\t\trefMap[prevRefKey] = $.map(refList, function(e) {\n\t\t\t\t\treturn e === prevKey ? key : e;\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.key = key;\n\t\t\tmodified = true;\n\t\t}\n\n\t\t// refKey has changed\n\t\tif (refKey != null && refKey !== this.refKey) {\n\t\t\t// Remove previous refKeys\n\t\t\tif (refList) {\n\t\t\t\tif (refList.length === 1) {\n\t\t\t\t\tdelete refMap[prevRefKey];\n\t\t\t\t} else {\n\t\t\t\t\trefMap[prevRefKey] = $.map(refList, function(e) {\n\t\t\t\t\t\treturn e === prevKey ? null : e;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Add refKey\n\t\t\tif (refMap[refKey]) {\n\t\t\t\trefMap[refKey].append(key);\n\t\t\t} else {\n\t\t\t\trefMap[refKey] = [this.key];\n\t\t\t}\n\t\t\tthis.refKey = refKey;\n\t\t\tmodified = true;\n\t\t}\n\t\treturn modified;\n\t};\n\n\t/**\n\t * [ext-clones] Define a refKey for an existing node.\n\t * @param {string} refKey\n\t * @returns {boolean}\n\t *\n\t * @alias FancytreeNode#setRefKey\n\t * @requires jquery.fancytree.clones.js\n\t * @since 2.16\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.setRefKey = function(refKey) {\n\t\treturn this.reRegister(null, refKey);\n\t};\n\n\t/**\n\t * [ext-clones] Return all nodes with a given refKey (null if not found).\n\t * @param {string} refKey\n\t * @param {FancytreeNode} [rootNode] optionally restrict results to descendants of this node\n\t * @returns {FancytreeNode[] | null}\n\t * @alias Fancytree#getNodesByRef\n\t * @requires jquery.fancytree.clones.js\n\t */\n\t$.ui.fancytree._FancytreeClass.prototype.getNodesByRef = function(\n\t\trefKey,\n\t\trootNode\n\t) {\n\t\tvar keyMap = this.keyMap,\n\t\t\trefList = this.refMap[refKey] || null;\n\n\t\tif (refList) {\n\t\t\t// Convert key list to node list\n\t\t\tif (rootNode) {\n\t\t\t\trefList = $.map(refList, function(val) {\n\t\t\t\t\tvar node = keyMap[val];\n\t\t\t\t\treturn node.isDescendantOf(rootNode) ? node : null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\trefList = $.map(refList, function(val) {\n\t\t\t\t\treturn keyMap[val];\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (refList.length < 1) {\n\t\t\t\trefList = null;\n\t\t\t}\n\t\t}\n\t\treturn refList;\n\t};\n\n\t/**\n\t * [ext-clones] Replace a refKey with a new one.\n\t * @param {string} oldRefKey\n\t * @param {string} newRefKey\n\t * @alias Fancytree#changeRefKey\n\t * @requires jquery.fancytree.clones.js\n\t */\n\t$.ui.fancytree._FancytreeClass.prototype.changeRefKey = function(\n\t\toldRefKey,\n\t\tnewRefKey\n\t) {\n\t\tvar i,\n\t\t\tnode,\n\t\t\tkeyMap = this.keyMap,\n\t\t\trefList = this.refMap[oldRefKey] || null;\n\n\t\tif (refList) {\n\t\t\tfor (i = 0; i < refList.length; i++) {\n\t\t\t\tnode = keyMap[refList[i]];\n\t\t\t\tnode.refKey = newRefKey;\n\t\t\t}\n\t\t\tdelete this.refMap[oldRefKey];\n\t\t\tthis.refMap[newRefKey] = refList;\n\t\t}\n\t};\n\n\t/*******************************************************************************\n\t * Extension code\n\t */\n\t$.ui.fancytree.registerExtension({\n\t\tname: \"clones\",\n\t\tversion: \"2.38.0\",\n\t\t// Default options for this extension.\n\t\toptions: {\n\t\t\thighlightActiveClones: true, // set 'fancytree-active-clone' on active clones and all peers\n\t\t\thighlightClones: false, // set 'fancytree-clone' class on any node that has at least one clone\n\t\t},\n\n\t\ttreeCreate: function(ctx) {\n\t\t\tthis._superApply(arguments);\n\t\t\tctx.tree.refMap = {};\n\t\t\tctx.tree.keyMap = {};\n\t\t},\n\t\ttreeInit: function(ctx) {\n\t\t\tthis.$container.addClass(\"fancytree-ext-clones\");\n\t\t\t_assert(ctx.options.defaultKey == null);\n\t\t\t// Generate unique / reproducible default keys\n\t\t\tctx.options.defaultKey = function(node) {\n\t\t\t\treturn calcUniqueKey(node);\n\t\t\t};\n\t\t\t// The default implementation loads initial data\n\t\t\tthis._superApply(arguments);\n\t\t},\n\t\ttreeClear: function(ctx) {\n\t\t\tctx.tree.refMap = {};\n\t\t\tctx.tree.keyMap = {};\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t\ttreeRegisterNode: function(ctx, add, node) {\n\t\t\tvar refList,\n\t\t\t\tlen,\n\t\t\t\ttree = ctx.tree,\n\t\t\t\tkeyMap = tree.keyMap,\n\t\t\t\trefMap = tree.refMap,\n\t\t\t\tkey = node.key,\n\t\t\t\trefKey = node && node.refKey != null ? \"\" + node.refKey : null;\n\n\t\t\t//\t\tctx.tree.debug(\"clones.treeRegisterNode\", add, node);\n\n\t\t\tif (node.isStatusNode()) {\n\t\t\t\treturn this._super(ctx, add, node);\n\t\t\t}\n\n\t\t\tif (add) {\n\t\t\t\tif (keyMap[node.key] != null) {\n\t\t\t\t\tvar other = keyMap[node.key],\n\t\t\t\t\t\tmsg =\n\t\t\t\t\t\t\t\"clones.treeRegisterNode: duplicate key '\" +\n\t\t\t\t\t\t\tnode.key +\n\t\t\t\t\t\t\t\"': /\" +\n\t\t\t\t\t\t\tnode.getPath(true) +\n\t\t\t\t\t\t\t\" => \" +\n\t\t\t\t\t\t\tother.getPath(true);\n\t\t\t\t\t// Sometimes this exception is not visible in the console,\n\t\t\t\t\t// so we also write it:\n\t\t\t\t\ttree.error(msg);\n\t\t\t\t\t$.error(msg);\n\t\t\t\t}\n\t\t\t\tkeyMap[key] = node;\n\n\t\t\t\tif (refKey) {\n\t\t\t\t\trefList = refMap[refKey];\n\t\t\t\t\tif (refList) {\n\t\t\t\t\t\trefList.push(key);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\trefList.length === 2 &&\n\t\t\t\t\t\t\tctx.options.clones.highlightClones\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// Mark peer node, if it just became a clone (no need to\n\t\t\t\t\t\t\t// mark current node, since it will be rendered later anyway)\n\t\t\t\t\t\t\tkeyMap[refList[0]].renderStatus();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\trefMap[refKey] = [key];\n\t\t\t\t\t}\n\t\t\t\t\t// node.debug(\"clones.treeRegisterNode: add clone =>\", refMap[refKey]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (keyMap[key] == null) {\n\t\t\t\t\t$.error(\n\t\t\t\t\t\t\"clones.treeRegisterNode: node.key not registered: \" +\n\t\t\t\t\t\t\tnode.key\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdelete keyMap[key];\n\t\t\t\tif (refKey) {\n\t\t\t\t\trefList = refMap[refKey];\n\t\t\t\t\t// node.debug(\"clones.treeRegisterNode: remove clone BEFORE =>\", refMap[refKey]);\n\t\t\t\t\tif (refList) {\n\t\t\t\t\t\tlen = refList.length;\n\t\t\t\t\t\tif (len <= 1) {\n\t\t\t\t\t\t\t_assert(len === 1);\n\t\t\t\t\t\t\t_assert(refList[0] === key);\n\t\t\t\t\t\t\tdelete refMap[refKey];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_removeArrayMember(refList, key);\n\t\t\t\t\t\t\t// Unmark peer node, if this was the only clone\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tlen === 2 &&\n\t\t\t\t\t\t\t\tctx.options.clones.highlightClones\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t//\t\t\t\t\t\t\tnode.debug(\"clones.treeRegisterNode: last =>\", node.getCloneList());\n\t\t\t\t\t\t\t\tkeyMap[refList[0]].renderStatus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// node.debug(\"clones.treeRegisterNode: remove clone =>\", refMap[refKey]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._super(ctx, add, node);\n\t\t},\n\t\tnodeRenderStatus: function(ctx) {\n\t\t\tvar $span,\n\t\t\t\tres,\n\t\t\t\tnode = ctx.node;\n\n\t\t\tres = this._super(ctx);\n\n\t\t\tif (ctx.options.clones.highlightClones) {\n\t\t\t\t$span = $(node[ctx.tree.statusClassPropName]);\n\t\t\t\t// Only if span already exists\n\t\t\t\tif ($span.length && node.isClone()) {\n\t\t\t\t\t//\t\t\t\tnode.debug(\"clones.nodeRenderStatus: \", ctx.options.clones.highlightClones);\n\t\t\t\t\t$span.addClass(\"fancytree-clone\");\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn res;\n\t\t},\n\t\tnodeSetActive: function(ctx, flag, callOpts) {\n\t\t\tvar res,\n\t\t\t\tscpn = ctx.tree.statusClassPropName,\n\t\t\t\tnode = ctx.node;\n\n\t\t\tres = this._superApply(arguments);\n\n\t\t\tif (ctx.options.clones.highlightActiveClones && node.isClone()) {\n\t\t\t\t$.each(node.getCloneList(true), function(idx, n) {\n\t\t\t\t\t// n.debug(\"clones.nodeSetActive: \", flag !== false);\n\t\t\t\t\t$(n[scpn]).toggleClass(\n\t\t\t\t\t\t\"fancytree-active-clone\",\n\t\t\t\t\t\tflag !== false\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn res;\n\t\t},\n\t});\n\t// Value returned by `require('jquery.fancytree..')`\n\treturn $.ui.fancytree;\n}); // End of closure\n","/*! jQuery UI - v1.12.1 - 2018-05-20\n* http://jqueryui.com\n* Includes: widget.js, position.js, keycode.js, scroll-parent.js, unique-id.js\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\n\n;(function( factory ) {\n\tif ( typeof define === \"function\" && define.amd ) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [ \"jquery\" ], factory );\n\t} else if ( typeof module === \"object\" && module.exports ) {\n\t\t// Node/CommonJS\n\t\tmodule.exports = factory(require(\"jquery\"));\n\t} else {\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n}(function( $ ) {\n\n$.ui = $.ui || {};\n\nvar version = $.ui.version = \"1.12.1\";\n\n\n/*!\n * jQuery UI Widget 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Widget\n//>>group: Core\n//>>description: Provides a factory for creating stateful widgets with a common API.\n//>>docs: http://api.jqueryui.com/jQuery.widget/\n//>>demos: http://jqueryui.com/widget/\n\n\n\nvar widgetUuid = 0;\nvar widgetSlice = Array.prototype.slice;\n\n$.cleanData = $.cleanData || ( function( orig ) {\n\treturn function( elems ) {\n\t\tvar events, elem, i;\n\t\tfor ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\ttry {\n\n\t\t\t\t// Only trigger remove when necessary to save time\n\t\t\t\tevents = $._data( elem, \"events\" );\n\t\t\t\tif ( events && events.remove ) {\n\t\t\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t\t\t}\n\n\t\t\t// Http://bugs.jquery.com/ticket/8235\n\t\t\t} catch ( e ) {}\n\t\t}\n\t\torig( elems );\n\t};\n} )( $.cleanData );\n\n$.widget = $.widget || function( name, base, prototype ) {\n\tvar existingConstructor, constructor, basePrototype;\n\n\t// ProxiedPrototype allows the provided prototype to remain unmodified\n\t// so that it can be used as a mixin for multiple widgets (#8876)\n\tvar proxiedPrototype = {};\n\n\tvar namespace = name.split( \".\" )[ 0 ];\n\tname = name.split( \".\" )[ 1 ];\n\tvar fullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\tif ( $.isArray( prototype ) ) {\n\t\tprototype = $.extend.apply( null, [ {} ].concat( prototype ) );\n\t}\n\n\t// Create selector for plugin\n\t$.expr[ \":\" ][ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\n\t\t// Allow instantiation without \"new\" keyword\n\t\tif ( !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// Allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword (the code above always passes args)\n\t\tif ( arguments.length ) {\n\t\t\tthis._createWidget( options, element );\n\t\t}\n\t};\n\n\t// Extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\n\t\t// Copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\n\t\t// Track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t} );\n\n\tbasePrototype = new base();\n\n\t// We need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( !$.isFunction( value ) ) {\n\t\t\tproxiedPrototype[ prop ] = value;\n\t\t\treturn;\n\t\t}\n\t\tproxiedPrototype[ prop ] = ( function() {\n\t\t\tfunction _super() {\n\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\n\t\t\t}\n\n\t\t\tfunction _superApply( args ) {\n\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n\t\t\t}\n\n\t\t\treturn function() {\n\t\t\t\tvar __super = this._super;\n\t\t\t\tvar __superApply = this._superApply;\n\t\t\t\tvar returnValue;\n\n\t\t\t\tthis._super = _super;\n\t\t\t\tthis._superApply = _superApply;\n\n\t\t\t\treturnValue = value.apply( this, arguments );\n\n\t\t\t\tthis._super = __super;\n\t\t\t\tthis._superApply = __superApply;\n\n\t\t\t\treturn returnValue;\n\t\t\t};\n\t\t} )();\n\t} );\n\tconstructor.prototype = $.widget.extend( basePrototype, {\n\n\t\t// TODO: remove support for widgetEventPrefix\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\n\t\t// don't prefix for widgets that aren't DOM-based\n\t\twidgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name\n\t}, proxiedPrototype, {\n\t\tconstructor: constructor,\n\t\tnamespace: namespace,\n\t\twidgetName: name,\n\t\twidgetFullName: fullName\n\t} );\n\n\t// If this widget is being redefined then we need to find all widgets that\n\t// are inheriting from it and redefine all of them so that they inherit from\n\t// the new version of this widget. We're essentially trying to replace one\n\t// level in the prototype chain.\n\tif ( existingConstructor ) {\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\n\t\t\tvar childPrototype = child.prototype;\n\n\t\t\t// Redefine the child widget using the same prototype that was\n\t\t\t// originally used, but inherit from the new version of the base\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor,\n\t\t\t\tchild._proto );\n\t\t} );\n\n\t\t// Remove the list of existing child constructors from the old constructor\n\t\t// so the old child constructors can be garbage collected\n\t\tdelete existingConstructor._childConstructors;\n\t} else {\n\t\tbase._childConstructors.push( constructor );\n\t}\n\n\t$.widget.bridge( name, constructor );\n\n\treturn constructor;\n};\n\n$.widget.extend = function( target ) {\n\tvar input = widgetSlice.call( arguments, 1 );\n\tvar inputIndex = 0;\n\tvar inputLength = input.length;\n\tvar key;\n\tvar value;\n\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n\t\tfor ( key in input[ inputIndex ] ) {\n\t\t\tvalue = input[ inputIndex ][ key ];\n\t\t\tif ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {\n\n\t\t\t\t// Clone objects\n\t\t\t\tif ( $.isPlainObject( value ) ) {\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n\t\t\t\t\t\t$.widget.extend( {}, value );\n\n\t\t\t\t// Copy everything else by reference\n\t\t\t\t} else {\n\t\t\t\t\ttarget[ key ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n\n$.widget.bridge = function( name, object ) {\n\tvar fullName = object.prototype.widgetFullName || name;\n\t$.fn[ name ] = function( options ) {\n\t\tvar isMethodCall = typeof options === \"string\";\n\t\tvar args = widgetSlice.call( arguments, 1 );\n\t\tvar returnValue = this;\n\n\t\tif ( isMethodCall ) {\n\n\t\t\t// If this is an empty collection, we need to have the instance method\n\t\t\t// return undefined instead of the jQuery instance\n\t\t\tif ( !this.length && options === \"instance\" ) {\n\t\t\t\treturnValue = undefined;\n\t\t\t} else {\n\t\t\t\tthis.each( function() {\n\t\t\t\t\tvar methodValue;\n\t\t\t\t\tvar instance = $.data( this, fullName );\n\n\t\t\t\t\tif ( options === \"instance\" ) {\n\t\t\t\t\t\treturnValue = instance;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !instance ) {\n\t\t\t\t\t\treturn $.error( \"cannot call methods on \" + name +\n\t\t\t\t\t\t\t\" prior to initialization; \" +\n\t\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === \"_\" ) {\n\t\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name +\n\t\t\t\t\t\t\t\" widget instance\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\n\n\t\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\n\t\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n\t\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n\t\t\t\t\t\t\tmethodValue;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Allow multiple hashes to be passed on init\n\t\t\tif ( args.length ) {\n\t\t\t\toptions = $.widget.extend.apply( null, [ options ].concat( args ) );\n\t\t\t}\n\n\t\t\tthis.each( function() {\n\t\t\t\tvar instance = $.data( this, fullName );\n\t\t\t\tif ( instance ) {\n\t\t\t\t\tinstance.option( options || {} );\n\t\t\t\t\tif ( instance._init ) {\n\t\t\t\t\t\tinstance._init();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn returnValue;\n\t};\n};\n\n$.Widget = $.Widget || function( /* options, element */ ) {};\n$.Widget._childConstructors = [];\n\n$.Widget.prototype = {\n\twidgetName: \"widget\",\n\twidgetEventPrefix: \"\",\n\tdefaultElement: \"
        \",\n\n\toptions: {\n\t\tclasses: {},\n\t\tdisabled: false,\n\n\t\t// Callbacks\n\t\tcreate: null\n\t},\n\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = widgetUuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\t\tthis.classesElementLookup = {};\n\n\t\tif ( element !== this ) {\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\tthis.document = $( element.style ?\n\n\t\t\t\t// Element within the document\n\t\t\t\telement.ownerDocument :\n\n\t\t\t\t// Element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );\n\t\t}\n\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis._create();\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis._setOptionDisabled( this.options.disabled );\n\t\t}\n\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\n\t_getCreateOptions: function() {\n\t\treturn {};\n\t},\n\n\t_getCreateEventData: $.noop,\n\n\t_create: $.noop,\n\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tvar that = this;\n\n\t\tthis._destroy();\n\t\t$.each( this.classesElementLookup, function( key, value ) {\n\t\t\tthat._removeClass( value, key );\n\t\t} );\n\n\t\t// We can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeData( this.widgetFullName );\n\t\tthis.widget()\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" );\n\n\t\t// Clean up events and states\n\t\tthis.bindings.off( this.eventNamespace );\n\t},\n\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key;\n\t\tvar parts;\n\t\tvar curOption;\n\t\tvar i;\n\n\t\tif ( arguments.length === 0 ) {\n\n\t\t\t// Don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\n\t\t\t// Handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"classes\" ) {\n\t\t\tthis._setOptionClasses( value );\n\t\t}\n\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis._setOptionDisabled( value );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOptionClasses: function( value ) {\n\t\tvar classKey, elements, currentElements;\n\n\t\tfor ( classKey in value ) {\n\t\t\tcurrentElements = this.classesElementLookup[ classKey ];\n\t\t\tif ( value[ classKey ] === this.options.classes[ classKey ] ||\n\t\t\t\t\t!currentElements ||\n\t\t\t\t\t!currentElements.length ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// We are doing this to create a new jQuery object because the _removeClass() call\n\t\t\t// on the next line is going to destroy the reference to the current elements being\n\t\t\t// tracked. We need to save a copy of this collection so that we can add the new classes\n\t\t\t// below.\n\t\t\telements = $( currentElements.get() );\n\t\t\tthis._removeClass( currentElements, classKey );\n\n\t\t\t// We don't use _addClass() here, because that uses this.options.classes\n\t\t\t// for generating the string of classes. We want to use the value passed in from\n\t\t\t// _setOption(), this is the new value of the classes option which was passed to\n\t\t\t// _setOption(). We pass this value directly to _classes().\n\t\t\telements.addClass( this._classes( {\n\t\t\t\telement: elements,\n\t\t\t\tkeys: classKey,\n\t\t\t\tclasses: value,\n\t\t\t\tadd: true\n\t\t\t} ) );\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._toggleClass( this.widget(), this.widgetFullName + \"-disabled\", null, !!value );\n\n\t\t// If the widget is becoming disabled, then nothing is interactive\n\t\tif ( value ) {\n\t\t\tthis._removeClass( this.hoverable, null, \"ui-state-hover\" );\n\t\t\tthis._removeClass( this.focusable, null, \"ui-state-focus\" );\n\t\t}\n\t},\n\n\tenable: function() {\n\t\treturn this._setOptions( { disabled: false } );\n\t},\n\n\tdisable: function() {\n\t\treturn this._setOptions( { disabled: true } );\n\t},\n\n\t_classes: function( options ) {\n\t\tvar full = [];\n\t\tvar that = this;\n\n\t\toptions = $.extend( {\n\t\t\telement: this.element,\n\t\t\tclasses: this.options.classes || {}\n\t\t}, options );\n\n\t\tfunction processClassString( classes, checkOption ) {\n\t\t\tvar current, i;\n\t\t\tfor ( i = 0; i < classes.length; i++ ) {\n\t\t\t\tcurrent = that.classesElementLookup[ classes[ i ] ] || $();\n\t\t\t\tif ( options.add ) {\n\t\t\t\t\tcurrent = $( $.unique( current.get().concat( options.element.get() ) ) );\n\t\t\t\t} else {\n\t\t\t\t\tcurrent = $( current.not( options.element ).get() );\n\t\t\t\t}\n\t\t\t\tthat.classesElementLookup[ classes[ i ] ] = current;\n\t\t\t\tfull.push( classes[ i ] );\n\t\t\t\tif ( checkOption && options.classes[ classes[ i ] ] ) {\n\t\t\t\t\tfull.push( options.classes[ classes[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._on( options.element, {\n\t\t\t\"remove\": \"_untrackClassesElement\"\n\t\t} );\n\n\t\tif ( options.keys ) {\n\t\t\tprocessClassString( options.keys.match( /\\S+/g ) || [], true );\n\t\t}\n\t\tif ( options.extra ) {\n\t\t\tprocessClassString( options.extra.match( /\\S+/g ) || [] );\n\t\t}\n\n\t\treturn full.join( \" \" );\n\t},\n\n\t_untrackClassesElement: function( event ) {\n\t\tvar that = this;\n\t\t$.each( that.classesElementLookup, function( key, value ) {\n\t\t\tif ( $.inArray( event.target, value ) !== -1 ) {\n\t\t\t\tthat.classesElementLookup[ key ] = $( value.not( event.target ).get() );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_removeClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, false );\n\t},\n\n\t_addClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, true );\n\t},\n\n\t_toggleClass: function( element, keys, extra, add ) {\n\t\tadd = ( typeof add === \"boolean\" ) ? add : extra;\n\t\tvar shift = ( typeof element === \"string\" || element === null ),\n\t\t\toptions = {\n\t\t\t\textra: shift ? keys : extra,\n\t\t\t\tkeys: shift ? element : keys,\n\t\t\t\telement: shift ? this.element : element,\n\t\t\t\tadd: add\n\t\t\t};\n\t\toptions.element.toggleClass( this._classes( options ), add );\n\t\treturn this;\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement;\n\t\tvar instance = this;\n\n\t\t// No suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// No element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\n\t\t\t\t// Allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// Copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ );\n\t\t\tvar eventName = match[ 1 ] + instance.eventNamespace;\n\t\t\tvar selector = match[ 2 ];\n\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.on( eventName, selector, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.on( eventName, handlerProxy );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = ( eventName || \"\" ).split( \" \" ).join( this.eventNamespace + \" \" ) +\n\t\t\tthis.eventNamespace;\n\t\telement.off( eventName ).off( eventName );\n\n\t\t// Clear the stack to avoid memory leaks (#10056)\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig;\n\t\tvar callback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\n\t\t// The original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// Copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( $.isFunction( callback ) &&\n\t\t\tcallback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\n\t\tvar hasOptions;\n\t\tvar effectName = !options ?\n\t\t\tmethod :\n\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\tdefaultEffect :\n\t\t\t\toptions.effect || defaultEffect;\n\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t}\n\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue( function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t} );\n\t\t}\n\t};\n} );\n\nvar widget = $.widget;\n\n\n/*!\n * jQuery UI Position 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/position/\n */\n\n//>>label: Position\n//>>group: Core\n//>>description: Positions elements relative to other elements.\n//>>docs: http://api.jqueryui.com/position/\n//>>demos: http://jqueryui.com/position/\n\n\n( function() {\nvar cachedScrollbarWidth,\n\tmax = Math.max,\n\tabs = Math.abs,\n\trhorizontal = /left|center|right/,\n\trvertical = /top|center|bottom/,\n\troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n\trposition = /^\\w+/,\n\trpercent = /%$/,\n\t_position = $.fn.position;\n\nfunction getOffsets( offsets, width, height ) {\n\treturn [\n\t\tparseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n\t\tparseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n\t];\n}\n\nfunction parseCss( element, property ) {\n\treturn parseInt( $.css( element, property ), 10 ) || 0;\n}\n\nfunction getDimensions( elem ) {\n\tvar raw = elem[ 0 ];\n\tif ( raw.nodeType === 9 ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: 0, left: 0 }\n\t\t};\n\t}\n\tif ( $.isWindow( raw ) ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: elem.scrollTop(), left: elem.scrollLeft() }\n\t\t};\n\t}\n\tif ( raw.preventDefault ) {\n\t\treturn {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\toffset: { top: raw.pageY, left: raw.pageX }\n\t\t};\n\t}\n\treturn {\n\t\twidth: elem.outerWidth(),\n\t\theight: elem.outerHeight(),\n\t\toffset: elem.offset()\n\t};\n}\n\n$.position = $.position || {\n\tscrollbarWidth: function() {\n\t\tif ( cachedScrollbarWidth !== undefined ) {\n\t\t\treturn cachedScrollbarWidth;\n\t\t}\n\t\tvar w1, w2,\n\t\t\tdiv = $( \"
        \" +\n\t\t\t\t\"
        \" ),\n\t\t\tinnerDiv = div.children()[ 0 ];\n\n\t\t$( \"body\" ).append( div );\n\t\tw1 = innerDiv.offsetWidth;\n\t\tdiv.css( \"overflow\", \"scroll\" );\n\n\t\tw2 = innerDiv.offsetWidth;\n\n\t\tif ( w1 === w2 ) {\n\t\t\tw2 = div[ 0 ].clientWidth;\n\t\t}\n\n\t\tdiv.remove();\n\n\t\treturn ( cachedScrollbarWidth = w1 - w2 );\n\t},\n\tgetScrollInfo: function( within ) {\n\t\tvar overflowX = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-x\" ),\n\t\t\toverflowY = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-y\" ),\n\t\t\thasOverflowX = overflowX === \"scroll\" ||\n\t\t\t\t( overflowX === \"auto\" && within.width < within.element[ 0 ].scrollWidth ),\n\t\t\thasOverflowY = overflowY === \"scroll\" ||\n\t\t\t\t( overflowY === \"auto\" && within.height < within.element[ 0 ].scrollHeight );\n\t\treturn {\n\t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n\t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n\t\t};\n\t},\n\tgetWithinInfo: function( element ) {\n\t\tvar withinElement = $( element || window ),\n\t\t\tisWindow = $.isWindow( withinElement[ 0 ] ),\n\t\t\tisDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9,\n\t\t\thasOffset = !isWindow && !isDocument;\n\t\treturn {\n\t\t\telement: withinElement,\n\t\t\tisWindow: isWindow,\n\t\t\tisDocument: isDocument,\n\t\t\toffset: hasOffset ? $( element ).offset() : { left: 0, top: 0 },\n\t\t\tscrollLeft: withinElement.scrollLeft(),\n\t\t\tscrollTop: withinElement.scrollTop(),\n\t\t\twidth: withinElement.outerWidth(),\n\t\t\theight: withinElement.outerHeight()\n\t\t};\n\t}\n};\n\n$.fn.position = function( options ) {\n\tif ( !options || !options.of ) {\n\t\treturn _position.apply( this, arguments );\n\t}\n\n\t// Make a copy, we don't want to modify arguments\n\toptions = $.extend( {}, options );\n\n\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n\t\ttarget = $( options.of ),\n\t\twithin = $.position.getWithinInfo( options.within ),\n\t\tscrollInfo = $.position.getScrollInfo( within ),\n\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\n\t\toffsets = {};\n\n\tdimensions = getDimensions( target );\n\tif ( target[ 0 ].preventDefault ) {\n\n\t\t// Force left top to allow flipping\n\t\toptions.at = \"left top\";\n\t}\n\ttargetWidth = dimensions.width;\n\ttargetHeight = dimensions.height;\n\ttargetOffset = dimensions.offset;\n\n\t// Clone to reuse original targetOffset later\n\tbasePosition = $.extend( {}, targetOffset );\n\n\t// Force my and at to have valid horizontal and vertical positions\n\t// if a value is missing or invalid, it will be converted to center\n\t$.each( [ \"my\", \"at\" ], function() {\n\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\n\t\t\thorizontalOffset,\n\t\t\tverticalOffset;\n\n\t\tif ( pos.length === 1 ) {\n\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n\t\t\t\tpos.concat( [ \"center\" ] ) :\n\t\t\t\trvertical.test( pos[ 0 ] ) ?\n\t\t\t\t\t[ \"center\" ].concat( pos ) :\n\t\t\t\t\t[ \"center\", \"center\" ];\n\t\t}\n\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n\t\t// Calculate offsets\n\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\n\t\tverticalOffset = roffset.exec( pos[ 1 ] );\n\t\toffsets[ this ] = [\n\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n\t\t];\n\n\t\t// Reduce to just the positions without the offsets\n\t\toptions[ this ] = [\n\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n\t\t];\n\t} );\n\n\t// Normalize collision option\n\tif ( collision.length === 1 ) {\n\t\tcollision[ 1 ] = collision[ 0 ];\n\t}\n\n\tif ( options.at[ 0 ] === \"right\" ) {\n\t\tbasePosition.left += targetWidth;\n\t} else if ( options.at[ 0 ] === \"center\" ) {\n\t\tbasePosition.left += targetWidth / 2;\n\t}\n\n\tif ( options.at[ 1 ] === \"bottom\" ) {\n\t\tbasePosition.top += targetHeight;\n\t} else if ( options.at[ 1 ] === \"center\" ) {\n\t\tbasePosition.top += targetHeight / 2;\n\t}\n\n\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n\tbasePosition.left += atOffset[ 0 ];\n\tbasePosition.top += atOffset[ 1 ];\n\n\treturn this.each( function() {\n\t\tvar collisionPosition, using,\n\t\t\telem = $( this ),\n\t\t\telemWidth = elem.outerWidth(),\n\t\t\telemHeight = elem.outerHeight(),\n\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\n\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\n\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) +\n\t\t\t\tscrollInfo.width,\n\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) +\n\t\t\t\tscrollInfo.height,\n\t\t\tposition = $.extend( {}, basePosition ),\n\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n\t\tif ( options.my[ 0 ] === \"right\" ) {\n\t\t\tposition.left -= elemWidth;\n\t\t} else if ( options.my[ 0 ] === \"center\" ) {\n\t\t\tposition.left -= elemWidth / 2;\n\t\t}\n\n\t\tif ( options.my[ 1 ] === \"bottom\" ) {\n\t\t\tposition.top -= elemHeight;\n\t\t} else if ( options.my[ 1 ] === \"center\" ) {\n\t\t\tposition.top -= elemHeight / 2;\n\t\t}\n\n\t\tposition.left += myOffset[ 0 ];\n\t\tposition.top += myOffset[ 1 ];\n\n\t\tcollisionPosition = {\n\t\t\tmarginLeft: marginLeft,\n\t\t\tmarginTop: marginTop\n\t\t};\n\n\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\n\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n\t\t\t\t\ttargetWidth: targetWidth,\n\t\t\t\t\ttargetHeight: targetHeight,\n\t\t\t\t\telemWidth: elemWidth,\n\t\t\t\t\telemHeight: elemHeight,\n\t\t\t\t\tcollisionPosition: collisionPosition,\n\t\t\t\t\tcollisionWidth: collisionWidth,\n\t\t\t\t\tcollisionHeight: collisionHeight,\n\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n\t\t\t\t\tmy: options.my,\n\t\t\t\t\tat: options.at,\n\t\t\t\t\twithin: within,\n\t\t\t\t\telem: elem\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tif ( options.using ) {\n\n\t\t\t// Adds feedback as second argument to using callback, if present\n\t\t\tusing = function( props ) {\n\t\t\t\tvar left = targetOffset.left - position.left,\n\t\t\t\t\tright = left + targetWidth - elemWidth,\n\t\t\t\t\ttop = targetOffset.top - position.top,\n\t\t\t\t\tbottom = top + targetHeight - elemHeight,\n\t\t\t\t\tfeedback = {\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\telement: target,\n\t\t\t\t\t\t\tleft: targetOffset.left,\n\t\t\t\t\t\t\ttop: targetOffset.top,\n\t\t\t\t\t\t\twidth: targetWidth,\n\t\t\t\t\t\t\theight: targetHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\telement: {\n\t\t\t\t\t\t\telement: elem,\n\t\t\t\t\t\t\tleft: position.left,\n\t\t\t\t\t\t\ttop: position.top,\n\t\t\t\t\t\t\twidth: elemWidth,\n\t\t\t\t\t\t\theight: elemHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n\t\t\t\t\t};\n\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n\t\t\t\t\tfeedback.horizontal = \"center\";\n\t\t\t\t}\n\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n\t\t\t\t\tfeedback.vertical = \"middle\";\n\t\t\t\t}\n\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n\t\t\t\t\tfeedback.important = \"horizontal\";\n\t\t\t\t} else {\n\t\t\t\t\tfeedback.important = \"vertical\";\n\t\t\t\t}\n\t\t\t\toptions.using.call( this, props, feedback );\n\t\t\t};\n\t\t}\n\n\t\telem.offset( $.extend( position, { using: using } ) );\n\t} );\n};\n\n$.ui.position = {\n\tfit: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\touterWidth = within.width,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = withinOffset - collisionPosLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n\t\t\t\tnewOverRight;\n\n\t\t\t// Element is wider than within\n\t\t\tif ( data.collisionWidth > outerWidth ) {\n\n\t\t\t\t// Element is initially over the left side of within\n\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.left += overLeft - newOverRight;\n\n\t\t\t\t// Element is initially over right side of within\n\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n\t\t\t\t\tposition.left = withinOffset;\n\n\t\t\t\t// Element is initially over both left and right sides of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overLeft > overRight ) {\n\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far left -> align with left edge\n\t\t\t} else if ( overLeft > 0 ) {\n\t\t\t\tposition.left += overLeft;\n\n\t\t\t// Too far right -> align with right edge\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tposition.left -= overRight;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\touterHeight = data.within.height,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = withinOffset - collisionPosTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n\t\t\t\tnewOverBottom;\n\n\t\t\t// Element is taller than within\n\t\t\tif ( data.collisionHeight > outerHeight ) {\n\n\t\t\t\t// Element is initially over the top of within\n\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.top += overTop - newOverBottom;\n\n\t\t\t\t// Element is initially over bottom of within\n\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n\t\t\t\t\tposition.top = withinOffset;\n\n\t\t\t\t// Element is initially over both top and bottom of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overTop > overBottom ) {\n\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far up -> align with top\n\t\t\t} else if ( overTop > 0 ) {\n\t\t\t\tposition.top += overTop;\n\n\t\t\t// Too far down -> align with bottom edge\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tposition.top -= overBottom;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\n\t\t\t}\n\t\t}\n\t},\n\tflip: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n\t\t\t\touterWidth = within.width,\n\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\n\t\t\t\t\t-data.elemWidth :\n\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\n\t\t\t\t\t\tdata.elemWidth :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\n\t\t\t\t\tdata.targetWidth :\n\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\n\t\t\t\t\t\t-data.targetWidth :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 0 ],\n\t\t\t\tnewOverRight,\n\t\t\t\tnewOverLeft;\n\n\t\t\tif ( overLeft < 0 ) {\n\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -\n\t\t\t\t\touterWidth - withinOffset;\n\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +\n\t\t\t\t\tatOffset + offset - offsetLeft;\n\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n\t\t\t\touterHeight = within.height,\n\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = collisionPosTop - offsetTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n\t\t\t\ttop = data.my[ 1 ] === \"top\",\n\t\t\t\tmyOffset = top ?\n\t\t\t\t\t-data.elemHeight :\n\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\tdata.elemHeight :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\n\t\t\t\t\tdata.targetHeight :\n\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t-data.targetHeight :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 1 ],\n\t\t\t\tnewOverTop,\n\t\t\t\tnewOverBottom;\n\t\t\tif ( overTop < 0 ) {\n\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -\n\t\t\t\t\touterHeight - withinOffset;\n\t\t\t\tif ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tnewOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +\n\t\t\t\t\toffset - offsetTop;\n\t\t\t\tif ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tflipfit: {\n\t\tleft: function() {\n\t\t\t$.ui.position.flip.left.apply( this, arguments );\n\t\t\t$.ui.position.fit.left.apply( this, arguments );\n\t\t},\n\t\ttop: function() {\n\t\t\t$.ui.position.flip.top.apply( this, arguments );\n\t\t\t$.ui.position.fit.top.apply( this, arguments );\n\t\t}\n\t}\n};\n\n} )();\n\nvar position = $.ui.position;\n\n\n/*!\n * jQuery UI Keycode 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Keycode\n//>>group: Core\n//>>description: Provide keycodes as keynames\n//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/\n\n\nvar keycode = $.ui.keyCode = {\n\tBACKSPACE: 8,\n\tCOMMA: 188,\n\tDELETE: 46,\n\tDOWN: 40,\n\tEND: 35,\n\tENTER: 13,\n\tESCAPE: 27,\n\tHOME: 36,\n\tLEFT: 37,\n\tPAGE_DOWN: 34,\n\tPAGE_UP: 33,\n\tPERIOD: 190,\n\tRIGHT: 39,\n\tSPACE: 32,\n\tTAB: 9,\n\tUP: 38\n};\n\n\n/*!\n * jQuery UI Scroll Parent 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: scrollParent\n//>>group: Core\n//>>description: Get the closest ancestor element that is scrollable.\n//>>docs: http://api.jqueryui.com/scrollParent/\n\n\n\nvar scrollParent = $.fn.scrollParent = function( includeHidden ) {\n\tvar position = this.css( \"position\" ),\n\t\texcludeStaticParent = position === \"absolute\",\n\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\n\t\tscrollParent = this.parents().filter( function() {\n\t\t\tvar parent = $( this );\n\t\t\tif ( excludeStaticParent && parent.css( \"position\" ) === \"static\" ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn overflowRegex.test( parent.css( \"overflow\" ) + parent.css( \"overflow-y\" ) +\n\t\t\t\tparent.css( \"overflow-x\" ) );\n\t\t} ).eq( 0 );\n\n\treturn position === \"fixed\" || !scrollParent.length ?\n\t\t$( this[ 0 ].ownerDocument || document ) :\n\t\tscrollParent;\n};\n\n\n/*!\n * jQuery UI Unique ID 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: uniqueId\n//>>group: Core\n//>>description: Functions to generate and remove uniqueId's\n//>>docs: http://api.jqueryui.com/uniqueId/\n\n\n\nvar uniqueId = $.fn.extend( {\n\tuniqueId: ( function() {\n\t\tvar uuid = 0;\n\n\t\treturn function() {\n\t\t\treturn this.each( function() {\n\t\t\t\tif ( !this.id ) {\n\t\t\t\t\tthis.id = \"ui-id-\" + ( ++uuid );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t} )(),\n\n\tremoveUniqueId: function() {\n\t\treturn this.each( function() {\n\t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\n\t\t\t\t$( this ).removeAttr( \"id\" );\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n\n}));\n","'use strict';\nmodule.exports = function (str) {\n\treturn encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n\t\treturn '%' + c.charCodeAt(0).toString(16).toUpperCase();\n\t});\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/build/static/js/2.e9eebe2e.chunk.js b/build/static/js/2.e9eebe2e.chunk.js new file mode 100644 index 0000000000000000000000000000000000000000..68b9107074da435297c0160190a128669c722481 --- /dev/null +++ b/build/static/js/2.e9eebe2e.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see 2.e9eebe2e.chunk.js.LICENSE.txt */ +(this.webpackJsonpautosubmitgui=this.webpackJsonpautosubmitgui||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(56)},function(e,t,n){"use strict";e.exports=n(52)},function(e,t,n){"use strict";function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;tt?1:e>=t?0:NaN},r=function(e){var t;return 1===e.length&&(t=e,e=function(e,n){return i(t(e),n)}),{left:function(t,n,i,r){for(null==i&&(i=0),null==r&&(r=t.length);i>>1;e(t[o],n)<0?i=o+1:r=o}return i},right:function(t,n,i,r){for(null==i&&(i=0),null==r&&(r=t.length);i>>1;e(t[o],n)>0?r=o:i=o+1}return i}}};var o=r(i),s=o.right,a=(o.left,s);var l=function(e){return null===e?NaN:+e},u=function(e,t){var n,i,r,o=e.length,s=-1;if(null==t){for(;++s=n)for(i=r=n;++sn&&(i=n),r=n)for(i=r=n;++sn&&(i=n),r0)return[e];if((i=t0)for(e=Math.ceil(e/s),t=Math.floor(t/s),o=new Array(r=Math.ceil(t-e+1));++a=0?(o>=d?10:o>=h?5:o>=f?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(o>=d?10:o>=h?5:o>=f?2:1)}function g(e,t,n){var i=Math.abs(t-e)/Math.max(0,n),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),o=i/r;return o>=d?r*=10:o>=h?r*=5:o>=f&&(r*=2),t=n)for(i=n;++oi&&(i=n)}else for(;++o=n)for(i=n;++oi&&(i=n);return i},m=function(e,t){var n,i=e.length,r=i,o=-1,s=0;if(null==t)for(;++o=0;)for(t=(i=e[r]).length;--t>=0;)n[--s]=i[t];return n},_=function(e,t){var n,i,r=e.length,o=-1;if(null==t){for(;++o=n)for(i=n;++on&&(i=n)}else for(;++o=n)for(i=n;++on&&(i=n);return i};var w=Array.prototype.slice,x=function(e){return e},k=1e-6;function S(e){return"translate("+(e+.5)+",0)"}function E(e){return"translate(0,"+(e+.5)+")"}function T(e){return function(t){return+e(t)}}function C(e){var t=Math.max(0,e.bandwidth()-1)/2;return e.round()&&(t=Math.round(t)),function(n){return+e(n)+t}}function O(){return!this.__axis}function D(e,t){var n=[],i=null,r=null,o=6,s=6,a=3,l=1===e||4===e?-1:1,u=4===e||2===e?"x":"y",c=1===e||3===e?S:E;function d(d){var h=null==i?t.ticks?t.ticks.apply(t,n):t.domain():i,f=null==r?t.tickFormat?t.tickFormat.apply(t,n):x:r,p=Math.max(o,0)+a,v=t.range(),g=+v[0]+.5,y=+v[v.length-1]+.5,m=(t.bandwidth?C:T)(t.copy()),b=d.selection?d.selection():d,_=b.selectAll(".domain").data([null]),w=b.selectAll(".tick").data(h,t).order(),S=w.exit(),E=w.enter().append("g").attr("class","tick"),D=w.select("line"),M=w.select("text");_=_.merge(_.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),w=w.merge(E),D=D.merge(E.append("line").attr("stroke","#000").attr(u+"2",l*o)),M=M.merge(E.append("text").attr("fill","#000").attr(u,l*p).attr("dy",1===e?"0em":3===e?"0.71em":"0.32em")),d!==b&&(_=_.transition(d),w=w.transition(d),D=D.transition(d),M=M.transition(d),S=S.transition(d).attr("opacity",k).attr("transform",(function(e){return isFinite(e=m(e))?c(e):this.getAttribute("transform")})),E.attr("opacity",k).attr("transform",(function(e){var t=this.parentNode.__axis;return c(t&&isFinite(t=t(e))?t:m(e))}))),S.remove(),_.attr("d",4===e||2==e?"M"+l*s+","+g+"H0.5V"+y+"H"+l*s:"M"+g+","+l*s+"V0.5H"+y+"V"+l*s),w.attr("opacity",1).attr("transform",(function(e){return c(m(e))})),D.attr(u+"2",l*o),M.attr(u,l*p).text(f),b.filter(O).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===e?"start":4===e?"end":"middle"),b.each((function(){this.__axis=m}))}return d.scale=function(e){return arguments.length?(t=e,d):t},d.ticks=function(){return n=w.call(arguments),d},d.tickArguments=function(e){return arguments.length?(n=null==e?[]:w.call(e),d):n.slice()},d.tickValues=function(e){return arguments.length?(i=null==e?null:w.call(e),d):i&&i.slice()},d.tickFormat=function(e){return arguments.length?(r=e,d):r},d.tickSize=function(e){return arguments.length?(o=s=+e,d):o},d.tickSizeInner=function(e){return arguments.length?(o=+e,d):o},d.tickSizeOuter=function(e){return arguments.length?(s=+e,d):s},d.tickPadding=function(e){return arguments.length?(a=+e,d):a},d}function M(e){return D(1,e)}function N(e){return D(3,e)}function P(e){return D(4,e)}var A={value:function(){}};function F(){for(var e,t=0,n=arguments.length,i={};t=0&&(n=e.slice(i+1),e=e.slice(0,i)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function I(e,t){for(var n,i=0,r=e.length;i0)for(var n,i,r=new Array(n),o=0;o=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),B.hasOwnProperty(t)?{space:B[t],local:e}:e};function W(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===H&&t.documentElement.namespaceURI===H?t.createElement(e):t.createElementNS(n,e)}}function U(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}var V=function(e){var t=Y(e);return(t.local?U:W)(t)};function q(){}var G=function(e){return null==e?q:function(){return this.querySelector(e)}};function $(){return[]}var X=function(e){return null==e?$:function(){return this.querySelectorAll(e)}},K=function(e){return function(){return this.matches(e)}};if("undefined"!==typeof document){var Z=document.documentElement;if(!Z.matches){var Q=Z.webkitMatchesSelector||Z.msMatchesSelector||Z.mozMatchesSelector||Z.oMatchesSelector;K=function(e){return function(){return Q.call(this,e)}}}}var J=K,ee=function(e){return new Array(e.length)};function te(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}te.prototype={constructor:te,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function ne(e,t,n,i,r,o){for(var s,a=0,l=t.length,u=o.length;at?1:e>=t?0:NaN}function oe(e){return function(){this.removeAttribute(e)}}function se(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ae(e,t){return function(){this.setAttribute(e,t)}}function le(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function ue(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function ce(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}var de=function(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView};function he(e){return function(){this.style.removeProperty(e)}}function fe(e,t,n){return function(){this.style.setProperty(e,t,n)}}function pe(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function ve(e,t){return e.style.getPropertyValue(t)||de(e).getComputedStyle(e,null).getPropertyValue(t)}function ge(e){return function(){delete this[e]}}function ye(e,t){return function(){this[e]=t}}function me(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function be(e){return e.trim().split(/^|\s+/)}function _e(e){return e.classList||new we(e)}function we(e){this._node=e,this._names=be(e.getAttribute("class")||"")}function xe(e,t){for(var n=_e(e),i=-1,r=t.length;++i=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Ce(){this.textContent=""}function Oe(e){return function(){this.textContent=e}}function De(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function Me(){this.innerHTML=""}function Ne(e){return function(){this.innerHTML=e}}function Pe(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function Ae(){this.nextSibling&&this.parentNode.appendChild(this)}function Fe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Re(){return null}function je(){var e=this.parentNode;e&&e.removeChild(this)}function Ie(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function Le(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var ze={},He=null;"undefined"!==typeof document&&("onmouseenter"in document.documentElement||(ze={mouseenter:"mouseover",mouseleave:"mouseout"}));function Be(e,t,n){return e=Ye(e,t,n),function(t){var n=t.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||e.call(this,t)}}function Ye(e,t,n){return function(i){var r=He;He=i;try{e.call(this,this.__data__,t,n)}finally{He=r}}}function We(e){return e.trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}function Ue(e){return function(){var t=this.__on;if(t){for(var n,i=0,r=-1,o=t.length;i=w&&(w=_+1);!(b=y[w])&&++w=0;)(i=r[o])&&(s&&s!==i.nextSibling&&s.parentNode.insertBefore(i,s),s=i);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=re);for(var n=this._groups,i=n.length,r=new Array(i),o=0;o1?this.each((null==t?he:"function"===typeof t?pe:fe)(e,t,null==n?"":n)):ve(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?ge:"function"===typeof t?me:ye)(e,t)):this.node()[e]},classed:function(e,t){var n=be(e+"");if(arguments.length<2){for(var i=_e(this.node()),r=-1,o=n.length;++r>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):(t=ft.exec(e))?xt(parseInt(t[1],16)):(t=pt.exec(e))?new Tt(t[1],t[2],t[3],1):(t=vt.exec(e))?new Tt(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=gt.exec(e))?kt(t[1],t[2],t[3],t[4]):(t=yt.exec(e))?kt(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=mt.exec(e))?Ct(t[1],t[2]/100,t[3]/100,1):(t=bt.exec(e))?Ct(t[1],t[2]/100,t[3]/100,t[4]):_t.hasOwnProperty(e)?xt(_t[e]):"transparent"===e?new Tt(NaN,NaN,NaN,0):null}function xt(e){return new Tt(e>>16&255,e>>8&255,255&e,1)}function kt(e,t,n,i){return i<=0&&(e=t=n=NaN),new Tt(e,t,n,i)}function St(e){return e instanceof st||(e=wt(e)),e?new Tt((e=e.rgb()).r,e.g,e.b,e.opacity):new Tt}function Et(e,t,n,i){return 1===arguments.length?St(e):new Tt(e,t,n,null==i?1:i)}function Tt(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function Ct(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Mt(e,t,n,i)}function Ot(e){if(e instanceof Mt)return new Mt(e.h,e.s,e.l,e.opacity);if(e instanceof st||(e=wt(e)),!e)return new Mt;if(e instanceof Mt)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),o=Math.max(t,n,i),s=NaN,a=o-r,l=(o+r)/2;return a?(s=t===o?(n-i)/a+6*(n0&&l<1?0:s,new Mt(s,a,l,e.opacity)}function Dt(e,t,n,i){return 1===arguments.length?Ot(e):new Mt(e,t,n,null==i?1:i)}function Mt(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function Nt(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}rt(st,wt,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),rt(Tt,Et,ot(st,{brighter:function(e){return e=null==e?lt:Math.pow(lt,e),new Tt(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?at:Math.pow(at,e),new Tt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}})),rt(Mt,Dt,ot(st,{brighter:function(e){return e=null==e?lt:Math.pow(lt,e),new Mt(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?at:Math.pow(at,e),new Mt(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new Tt(Nt(e>=240?e-240:e+120,r,i),Nt(e,r,i),Nt(e<120?e+240:e-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var Pt=Math.PI/180,At=180/Math.PI,Ft=.95047,Rt=1.08883,jt=4/29,It=6/29,Lt=3*It*It;function zt(e){if(e instanceof Bt)return new Bt(e.l,e.a,e.b,e.opacity);if(e instanceof $t){var t=e.h*Pt;return new Bt(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}e instanceof Tt||(e=St(e));var n=Vt(e.r),i=Vt(e.g),r=Vt(e.b),o=Yt((.4124564*n+.3575761*i+.1804375*r)/Ft),s=Yt((.2126729*n+.7151522*i+.072175*r)/1);return new Bt(116*s-16,500*(o-s),200*(s-Yt((.0193339*n+.119192*i+.9503041*r)/Rt)),e.opacity)}function Ht(e,t,n,i){return 1===arguments.length?zt(e):new Bt(e,t,n,null==i?1:i)}function Bt(e,t,n,i){this.l=+e,this.a=+t,this.b=+n,this.opacity=+i}function Yt(e){return e>.008856451679035631?Math.pow(e,1/3):e/Lt+jt}function Wt(e){return e>It?e*e*e:Lt*(e-jt)}function Ut(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Vt(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function qt(e){if(e instanceof $t)return new $t(e.h,e.c,e.l,e.opacity);e instanceof Bt||(e=zt(e));var t=Math.atan2(e.b,e.a)*At;return new $t(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function Gt(e,t,n,i){return 1===arguments.length?qt(e):new $t(e,t,n,null==i?1:i)}function $t(e,t,n,i){this.h=+e,this.c=+t,this.l=+n,this.opacity=+i}rt(Bt,Ht,ot(st,{brighter:function(e){return new Bt(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new Bt(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return e=1*Wt(e),new Tt(Ut(3.2404542*(t=Ft*Wt(t))-1.5371385*e-.4985314*(n=Rt*Wt(n))),Ut(-.969266*t+1.8760108*e+.041556*n),Ut(.0556434*t-.2040259*e+1.0572252*n),this.opacity)}})),rt($t,Gt,ot(st,{brighter:function(e){return new $t(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker:function(e){return new $t(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb:function(){return zt(this).rgb()}}));var Xt=-.14861,Kt=1.78277,Zt=-.29227,Qt=-.90649,Jt=1.97294,en=-1.7884503806,tn=3.5172982438,nn=-.6557636667999999;function rn(e){if(e instanceof sn)return new sn(e.h,e.s,e.l,e.opacity);e instanceof Tt||(e=St(e));var t=e.r/255,n=e.g/255,i=e.b/255,r=(nn*i+en*t-tn*n)/(nn+en-tn),o=i-r,s=(Jt*(n-r)-Zt*o)/Qt,a=Math.sqrt(s*s+o*o)/(Jt*r*(1-r)),l=a?Math.atan2(s,o)*At-120:NaN;return new sn(l<0?l+360:l,a,r,e.opacity)}function on(e,t,n,i){return 1===arguments.length?rn(e):new sn(e,t,n,null==i?1:i)}function sn(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function an(e,t,n,i,r){var o=e*e,s=o*e;return((1-3*e+3*o-s)*t+(4-6*o+3*s)*n+(1+3*e+3*o-3*s)*i+s*r)/6}rt(sn,on,ot(st,{brighter:function(e){return e=null==e?lt:Math.pow(lt,e),new sn(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?at:Math.pow(at,e),new sn(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*Pt,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),i=Math.cos(e),r=Math.sin(e);return new Tt(255*(t+n*(Xt*i+Kt*r)),255*(t+n*(Zt*i+Qt*r)),255*(t+n*(Jt*i)),this.opacity)}}));var ln=function(e){return function(){return e}};function un(e,t){return function(n){return e+n*t}}function cn(e,t){var n=t-e;return n?un(e,n>180||n<-180?n-360*Math.round(n/360):n):ln(isNaN(e)?t:e)}function dn(e){return 1===(e=+e)?hn:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}(t,n,e):ln(isNaN(t)?n:t)}}function hn(e,t){var n=t-e;return n?un(e,n):ln(isNaN(e)?t:e)}var fn=function e(t){var n=dn(t);function i(e,t){var i=n((e=Et(e)).r,(t=Et(t)).r),r=n(e.g,t.g),o=n(e.b,t.b),s=hn(e.opacity,t.opacity);return function(t){return e.r=i(t),e.g=r(t),e.b=o(t),e.opacity=s(t),e+""}}return i.gamma=e,i}(1);function pn(e){return function(t){var n,i,r=t.length,o=new Array(r),s=new Array(r),a=new Array(r);for(n=0;n=1?(n=1,t-1):Math.floor(n*t),r=e[i],o=e[i+1],s=i>0?e[i-1]:2*r-o,a=io&&(r=t.slice(o,r),a[s]?a[s]+=r:a[++s]=r),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:yn(n,i)})),o=_n.lastIndex;return o180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(r(n)+"rotate(",null,i)-2,x:yn(e,t)})):t&&n.push(r(n)+"rotate("+t+i)}(o.rotate,s.rotate,a,l),function(e,t,n,o){e!==t?o.push({i:n.push(r(n)+"skewX(",null,i)-2,x:yn(e,t)}):t&&n.push(r(n)+"skewX("+t+i)}(o.skewX,s.skewX,a,l),function(e,t,n,i,o,s){if(e!==n||t!==i){var a=o.push(r(o)+"scale(",null,",",null,")");s.push({i:a-4,x:yn(e,n)},{i:a-2,x:yn(t,i)})}else 1===n&&1===i||o.push(r(o)+"scale("+n+","+i+")")}(o.scaleX,o.scaleY,s.scaleX,s.scaleY,a,l),o=s=null,function(e){for(var t,n=-1,i=l.length;++n=0&&t._call.call(null,e),t=t._next;--Hn}()}finally{Hn=0,function(){var e,t,n=In,i=1/0;for(;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:In=t);Ln=e,ei(i)}(),Un=0}}function Jn(){var e=qn.now(),t=e-Wn;t>1e3&&(Vn-=t,Wn=e)}function ei(e){Hn||(Bn&&(Bn=clearTimeout(Bn)),e-Un>24?(e<1/0&&(Bn=setTimeout(Qn,e-qn.now()-Vn)),Yn&&(Yn=clearInterval(Yn))):(Yn||(Wn=qn.now(),Yn=setInterval(Jn,1e3)),Hn=1,Gn(Qn)))}Kn.prototype=Zn.prototype={constructor:Kn,restart:function(e,t,n){if("function"!==typeof e)throw new TypeError("callback is not a function");n=(null==n?$n():+n)+(null==t?0:+t),this._next||Ln===this||(Ln?Ln._next=this:In=this,Ln=this),this._call=e,this._time=n,ei()},stop:function(){this._call&&(this._call=null,this._time=1/0,ei())}};var ti=function(e,t,n){var i=new Kn;return t=null==t?0:+t,i.restart((function(n){i.stop(),e(n+t)}),t,n),i},ni=z("start","end","interrupt"),ii=[],ri=function(e,t,n,i,r,o){var s=e.__transition;if(s){if(n in s)return}else e.__transition={};!function(e,t,n){var i,r=e.__transition;function o(e){n.state=1,n.timer.restart(s,n.delay,n.time),n.delay<=e&&s(e-n.delay)}function s(o){var u,c,d,h;if(1!==n.state)return l();for(u in r)if((h=r[u]).name===n.name){if(3===h.state)return ti(s);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[u]):+u0)throw new Error("too late; already scheduled");return n}function si(e,t){var n=ai(e,t);if(n.state>2)throw new Error("too late; already started");return n}function ai(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}var li=function(e,t){var n,i,r,o=e.__transition,s=!0;if(o){for(r in t=null==t?null:t+"",o)(n=o[r]).name===t?(i=n.state>2&&n.state<5,n.state=6,n.timer.stop(),i&&n.on.call("interrupt",e,e.__data__,n.index,n.group),delete o[r]):s=!1;s&&delete e.__transition}};function ui(e,t){var n,i;return function(){var r=si(this,e),o=r.tween;if(o!==n)for(var s=0,a=(i=n=o).length;s=0&&(e=e.slice(0,t)),!e||"start"===e}))}(t)?oi:si;return function(){var s=o(this,e),a=s.on;a!==i&&(r=(i=a).copy()).on(t,n),s.on=r}}var Ci=Qe.prototype.constructor;function Oi(e,t,n){function i(){var i=this,r=t.apply(i,arguments);return r&&function(t){i.style.setProperty(e,r(t),n)}}return i._value=t,i}var Di=0;function Mi(e,t,n,i){this._groups=e,this._parents=t,this._name=n,this._id=i}function Ni(){return++Di}var Pi=Qe.prototype;function Ai(e){return+e}Mi.prototype=function(e){return Qe().transition(e)}.prototype={constructor:Mi,select:function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=G(e));for(var i=this._groups,r=i.length,o=new Array(r),s=0;sBi)if(Math.abs(c*a-l*u)>Bi&&r){var h=n-o,f=i-s,p=a*a+l*l,v=h*h+f*f,g=Math.sqrt(p),y=Math.sqrt(d),m=r*Math.tan((zi-Math.acos((p+d-v)/(2*g*y)))/2),b=m/y,_=m/g;Math.abs(b-1)>Bi&&(this._+="L"+(e+b*u)+","+(t+b*c)),this._+="A"+r+","+r+",0,0,"+ +(c*h>u*f)+","+(this._x1=e+_*a)+","+(this._y1=t+_*l)}else this._+="L"+(this._x1=e)+","+(this._y1=t);else;},arc:function(e,t,n,i,r,o){e=+e,t=+t;var s=(n=+n)*Math.cos(i),a=n*Math.sin(i),l=e+s,u=t+a,c=1^o,d=o?i-r:r-i;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Bi||Math.abs(this._y1-u)>Bi)&&(this._+="L"+l+","+u),n&&(d<0&&(d=d%Hi+Hi),d>Yi?this._+="A"+n+","+n+",0,1,"+c+","+(e-s)+","+(t-a)+"A"+n+","+n+",0,1,"+c+","+(this._x1=l)+","+(this._y1=u):d>Bi&&(this._+="A"+n+","+n+",0,"+ +(d>=zi)+","+c+","+(this._x1=e+n*Math.cos(r))+","+(this._y1=t+n*Math.sin(r))))},rect:function(e,t,n,i){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var Vi="$";function qi(){}function Gi(e,t){var n=new qi;if(e instanceof qi)e.each((function(e,t){n.set(t,e)}));else if(Array.isArray(e)){var i,r=-1,o=e.length;if(null==t)for(;++r=o?l=!0:10===(i=e.charCodeAt(s++))?u=!0:13===i&&(u=!0,10===e.charCodeAt(s)&&++s),e.slice(r+1,t-1).replace(/""/g,'"')}for(;s=(o=(v+y)/2))?v=o:y=o,(c=n>=(s=(g+m)/2))?g=s:m=s,r=f,!(f=f[d=c<<1|u]))return r[d]=p,e;if(a=+e._x.call(null,f.data),l=+e._y.call(null,f.data),t===a&&n===l)return p.next=f,r?r[d]=p:e._root=p,e;do{r=r?r[d]=new Array(4):e._root=new Array(4),(u=t>=(o=(v+y)/2))?v=o:y=o,(c=n>=(s=(g+m)/2))?g=s:m=s}while((d=c<<1|u)===(h=(l>=s)<<1|a>=o));return r[h]=f,r[d]=p,e}var ar=function(e,t,n,i,r){this.node=e,this.x0=t,this.y0=n,this.x1=i,this.y1=r};function lr(e){return e[0]}function ur(e){return e[1]}function cr(e,t,n){var i=new dr(null==t?lr:t,null==n?ur:n,NaN,NaN,NaN,NaN);return null==e?i:i.addAll(e)}function dr(e,t,n,i,r,o){this._x=e,this._y=t,this._x0=n,this._y0=i,this._x1=r,this._y1=o,this._root=void 0}function hr(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var fr=cr.prototype=dr.prototype;fr.copy=function(){var e,t,n=new dr(this._x,this._y,this._x0,this._y0,this._x1,this._y1),i=this._root;if(!i)return n;if(!i.length)return n._root=hr(i),n;for(e=[{source:i,target:n._root=new Array(4)}];i=e.pop();)for(var r=0;r<4;++r)(t=i.source[r])&&(t.length?e.push({source:t,target:i.target[r]=new Array(4)}):i.target[r]=hr(t));return n},fr.add=function(e){var t=+this._x.call(null,e),n=+this._y.call(null,e);return sr(this.cover(t,n),t,n,e)},fr.addAll=function(e){var t,n,i,r,o=e.length,s=new Array(o),a=new Array(o),l=1/0,u=1/0,c=-1/0,d=-1/0;for(n=0;nc&&(c=i),rd&&(d=r));for(ce||e>r||i>t||t>o))return this;var s,a,l=r-n,u=this._root;switch(a=(t<(i+o)/2)<<1|e<(n+r)/2){case 0:do{(s=new Array(4))[a]=u,u=s}while(o=i+(l*=2),e>(r=n+l)||t>o);break;case 1:do{(s=new Array(4))[a]=u,u=s}while(o=i+(l*=2),(n=r-l)>e||t>o);break;case 2:do{(s=new Array(4))[a]=u,u=s}while(i=o-(l*=2),e>(r=n+l)||i>t);break;case 3:do{(s=new Array(4))[a]=u,u=s}while(i=o-(l*=2),(n=r-l)>e||i>t)}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=i,this._x1=r,this._y1=o,this},fr.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},fr.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},fr.find=function(e,t,n){var i,r,o,s,a,l,u,c=this._x0,d=this._y0,h=this._x1,f=this._y1,p=[],v=this._root;for(v&&p.push(new ar(v,c,d,h,f)),null==n?n=1/0:(c=e-n,d=t-n,h=e+n,f=t+n,n*=n);l=p.pop();)if(!(!(v=l.node)||(r=l.x0)>h||(o=l.y0)>f||(s=l.x1)=y)<<1|e>=g)&&(l=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=l)}else{var m=e-+this._x.call(null,v.data),b=t-+this._y.call(null,v.data),_=m*m+b*b;if(_=(a=(p+g)/2))?p=a:g=a,(c=s>=(l=(v+y)/2))?v=l:y=l,t=f,!(f=f[d=c<<1|u]))return this;if(!f.length)break;(t[d+1&3]||t[d+2&3]||t[d+3&3])&&(n=t,h=d)}for(;f.data!==e;)if(i=f,!(f=f.next))return this;return(r=f.next)&&delete f.next,i?(r?i.next=r:delete i.next,this):t?(r?t[d]=r:delete t[d],(f=t[0]||t[1]||t[2]||t[3])&&f===(t[3]||t[2]||t[1]||t[0])&&!f.length&&(n?n[h]=f:this._root=f),this):(this._root=r,this)},fr.removeAll=function(e){for(var t=0,n=e.length;t1?i[0]+i.slice(2):i,+e.slice(n+1)]},gr=function(e){return(e=vr(Math.abs(e)))?e[1]:NaN},yr=function(e,t){var n=vr(e,t);if(!n)return e+"";var i=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")},mr={"":function(e,t){e:for(var n,i=(e=e.toPrecision(t)).length,r=1,o=-1;r0&&(o=0)}return o>0?e.slice(0,o)+e.slice(n+1):e},"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.round(e).toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return yr(100*e,t)},r:yr,s:function(e,t){var n=vr(e,t);if(!n)return e+"";var i=n[0],r=n[1],o=r-(pr=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,s=i.length;return o===s?i:o>s?i+new Array(o-s+1).join("0"):o>0?i.slice(0,o)+"."+i.slice(o):"0."+new Array(1-o).join("0")+vr(e,Math.max(0,t+o-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}},br=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;function _r(e){return new wr(e)}function wr(e){if(!(t=br.exec(e)))throw new Error("invalid format: "+e);var t,n=t[1]||" ",i=t[2]||">",r=t[3]||"-",o=t[4]||"",s=!!t[5],a=t[6]&&+t[6],l=!!t[7],u=t[8]&&+t[8].slice(1),c=t[9]||"";"n"===c?(l=!0,c="g"):mr[c]||(c=""),(s||"0"===n&&"="===i)&&(s=!0,n="0",i="="),this.fill=n,this.align=i,this.sign=r,this.symbol=o,this.zero=s,this.width=a,this.comma=l,this.precision=u,this.type=c}_r.prototype=wr.prototype,wr.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var xr,kr,Sr,Er=function(e){return e},Tr=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];xr=function(e){var t,n,i=e.grouping&&e.thousands?(t=e.grouping,n=e.thousands,function(e,i){for(var r=e.length,o=[],s=0,a=t[0],l=0;r>0&&a>0&&(l+a+1>i&&(a=Math.max(1,i-l)),o.push(e.substring(r-=a,r+a)),!((l+=a+1)>i));)a=t[s=(s+1)%t.length];return o.reverse().join(n)}):Er,r=e.currency,o=e.decimal,s=e.numerals?function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(e.numerals):Er,a=e.percent||"%";function l(e){var t=(e=_r(e)).fill,n=e.align,l=e.sign,u=e.symbol,c=e.zero,d=e.width,h=e.comma,f=e.precision,p=e.type,v="$"===u?r[0]:"#"===u&&/[boxX]/.test(p)?"0"+p.toLowerCase():"",g="$"===u?r[1]:/[%p]/.test(p)?a:"",y=mr[p],m=!p||/[defgprs%]/.test(p);function b(e){var r,a,u,b=v,_=g;if("c"===p)_=y(e)+_,e="";else{var w=(e=+e)<0;if(e=y(Math.abs(e),f),w&&0===+e&&(w=!1),b=(w?"("===l?l:"-":"-"===l||"("===l?"":l)+b,_=("s"===p?Tr[8+pr/3]:"")+_+(w&&"("===l?")":""),m)for(r=-1,a=e.length;++r(u=e.charCodeAt(r))||u>57){_=(46===u?o+e.slice(r+1):e.slice(r))+_,e=e.slice(0,r);break}}h&&!c&&(e=i(e,1/0));var x=b.length+e.length+_.length,k=x>1)+b+e+_+k.slice(x);break;default:e=k+b+e+_}return s(e)}return f=null==f?p?6:12:/[gprs]/.test(p)?Math.max(1,Math.min(21,f)):Math.max(0,Math.min(20,f)),b.toString=function(){return e+""},b}return{format:l,formatPrefix:function(e,t){var n=l(((e=_r(e)).type="f",e)),i=3*Math.max(-8,Math.min(8,Math.floor(gr(t)/3))),r=Math.pow(10,-i),o=Tr[8+i/3];return function(e){return n(r*e)+o}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),kr=xr.format,Sr=xr.formatPrefix;var Cr=function(){return new Or};function Or(){this.reset()}Or.prototype={constructor:Or,reset:function(){this.s=this.t=0},add:function(e){Mr(Dr,e,this.t),Mr(this,Dr.s,this.s),this.s?this.t+=Dr.t:this.s=Dr.t},valueOf:function(){return this.s}};var Dr=new Or;function Mr(e,t,n){var i=e.s=t+n,r=i-t,o=i-r;e.t=t-o+(n-r)}var Nr=1e-6,Pr=Math.PI,Ar=Pr/2,Fr=Pr/4,Rr=2*Pr,jr=Pr/180,Ir=Math.abs,Lr=Math.atan,zr=Math.atan2,Hr=Math.cos,Br=(Math.ceil,Math.exp),Yr=(Math.floor,Math.log),Wr=(Math.pow,Math.sin),Ur=(Math.sign,Math.sqrt),Vr=Math.tan;function qr(e){return e>1?0:e<-1?Pr:Math.acos(e)}function Gr(e){return e>1?Ar:e<-1?-Ar:Math.asin(e)}function $r(){}Cr(),Cr();function Xr(e){var t=e[0],n=e[1],i=Hr(n);return[i*Hr(t),i*Wr(t),Wr(n)]}function Kr(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function Zr(e){var t=Ur(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}Cr();function Qr(e,t){return[e>Pr?e-Rr:e<-Pr?e+Rr:e,t]}Qr.invert=Qr;var Jr=function(){var e,t=[];return{point:function(t,n){e.push([t,n])},lineStart:function(){t.push(e=[])},lineEnd:$r,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}},eo=function(e,t){return Ir(e[0]-t[0])=0;--o)r.point((c=u[o])[0],c[1]);else i(h.x,h.p.x,-1,r);h=h.p}u=(h=h.o).z,f=!f}while(!h.v);r.lineEnd()}}};function io(e){if(t=e.length){for(var t,n,i=0,r=e[0];++i=0?1:-1,S=k*x,E=S>Pr,T=p*_;if(ro.add(zr(T*k*Wr(S),v*w+T*Hr(S))),o+=E?x+k*Rr:x,E^h>=n^m>=n){var C=Kr(Xr(d),Xr(y));Zr(C);var O=Kr(r,C);Zr(O);var D=(E^x>=0?-1:1)*Gr(O[2]);(i>D||i===D&&(C[0]||C[1]))&&(s+=E^x>=0?1:-1)}}return(o<-1e-6||o0){for(d||(r.polygonStart(),d=!0),r.lineStart(),e=0;e1&&2&l&&h.push(h.pop().concat(h.shift())),s.push(h.filter(ao))}return h}};function ao(e){return e.length>1}function lo(e,t){return((e=e.x)[0]<0?e[1]-Ar-Nr:Ar-e[1])-((t=t.x)[0]<0?t[1]-Ar-Nr:Ar-t[1])}so((function(){return!0}),(function(e){var t,n=NaN,i=NaN,r=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(o,s){var a=o>0?Pr:-Pr,l=Ir(o-n);Ir(l-Pr)0?Ar:-Ar),e.point(r,i),e.lineEnd(),e.lineStart(),e.point(a,i),e.point(o,i),t=0):r!==a&&l>=Pr&&(Ir(n-r)Nr?Lr((Wr(t)*(o=Hr(i))*Wr(n)-Wr(i)*(r=Hr(t))*Wr(e))/(r*o*s)):(t+i)/2}(n,i,o,s),e.point(r,i),e.lineEnd(),e.lineStart(),e.point(a,i),t=0),e.point(n=o,i=s),r=a},lineEnd:function(){e.lineEnd(),n=i=NaN},clean:function(){return 2-t}}}),(function(e,t,n,i){var r;if(null==e)r=n*Ar,i.point(-Pr,r),i.point(0,r),i.point(Pr,r),i.point(Pr,0),i.point(Pr,-r),i.point(0,-r),i.point(-Pr,-r),i.point(-Pr,0),i.point(-Pr,r);else if(Ir(e[0]-t[0])>Nr){var o=e[0]Nr&&--r>0);return[e/(.8707+(o=i*i)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),i]};function ko(e,t){return[Hr(t)*Wr(e),Wr(t)]}ko.invert=go(Gr);function So(e,t){var n=Hr(t),i=1+Hr(e)*n;return[n*Wr(e)/i,Wr(t)/i]}So.invert=go((function(e){return 2*Lr(e)}));function Eo(e,t){return[Yr(Vr((Ar+t)/2)),-e]}Eo.invert=function(e,t){return[-t,2*Lr(Br(e))-Ar]};function To(e){var t=0,n=e.children,i=n&&n.length;if(i)for(;--i>=0;)t+=n[i].value;else t=1;e.value=t}function Co(e,t){var n,i,r,o,s,a=new No(e),l=+e.value&&(a.value=e.value),u=[a];for(null==t&&(t=Oo);n=u.pop();)if(l&&(n.value=+n.data.value),(r=t(n.data))&&(s=r.length))for(n.children=new Array(s),o=s-1;o>=0;--o)u.push(i=n.children[o]=new No(r[o])),i.parent=n,i.depth=n.depth+1;return a.eachBefore(Mo)}function Oo(e){return e.children}function Do(e){e.data=e.data.data}function Mo(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function No(e){this.data=e,this.depth=this.height=0,this.parent=null}No.prototype=Co.prototype={constructor:No,count:function(){return this.eachAfter(To)},each:function(e){var t,n,i,r,o=this,s=[o];do{for(t=s.reverse(),s=[];o=t.pop();)if(e(o),n=o.children)for(i=0,r=n.length;i=0;--n)r.push(t[n]);return this},sum:function(e){return this.eachAfter((function(t){for(var n=+e(t.data)||0,i=t.children,r=i&&i.length;--r>=0;)n+=i[r].value;t.value=n}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),i=t.ancestors(),r=null;e=n.pop(),t=i.pop();for(;e===t;)r=e,e=n.pop(),t=i.pop();return r}(t,e),i=[t];t!==n;)t=t.parent,i.push(t);for(var r=i.length;e!==n;)i.splice(r,0,e),e=e.parent;return i},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){var e=[];return this.each((function(t){e.push(t)})),e},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},copy:function(){return Co(this).eachBefore(Do)}};Array.prototype.slice;var Po=function(e,t,n,i,r){for(var o,s=e.children,a=-1,l=s.length,u=e.value&&(i-t)/e.value;++ah&&(h=a),g=c*c*v,(f=Math.max(h/g,g/d))>p){c-=a;break}p=f}y.push(s={value:c,dice:l1?t:1)},n})(Ro),function e(t){function n(e,n,i,r,o){if((s=e._squarify)&&s.ratio===t)for(var s,a,l,u,c,d=-1,h=s.length,f=e.value;++d1?t:1)},n}(Ro);var Io=[].slice,Lo={};function zo(e){this._size=e,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function Ho(e){if(!e._start)try{!function(e){for(;e._start=e._waiting&&e._active=0;)if((n=e._tasks[i])&&(e._tasks[i]=null,n.abort))try{n.abort()}catch(t){}e._active=NaN,Wo(e)}function Wo(e){if(!e._active&&e._call){var t=e._data;e._data=void 0,e._call(e._error,t)}}zo.prototype=function(e){if(null==e)e=1/0;else if(!((e=+e)>=1))throw new Error("invalid concurrency");return new zo(e)}.prototype={constructor:zo,defer:function(e){if("function"!==typeof e)throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(null!=this._error)return this;var t=Io.call(arguments,1);return t.push(e),++this._waiting,this._tasks.push(t),Ho(this),this},abort:function(){return null==this._error&&Yo(this,new Error("abort")),this},await:function(e){if("function"!==typeof e)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=function(t,n){e.apply(null,[t].concat(n))},Wo(this),this},awaitAll:function(e){if("function"!==typeof e)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=e,Wo(this),this}};var Uo=function(){return Math.random()},Vo=(function e(t){function n(e,n){return e=null==e?0:+e,n=null==n?1:+n,1===arguments.length?(n=e,e=0):n-=e,function(){return t()*n+e}}return n.source=e,n}(Uo),function e(t){function n(e,n){var i,r;return e=null==e?0:+e,n=null==n?1:+n,function(){var o;if(null!=i)o=i,i=null;else do{i=2*t()-1,o=2*t()-1,r=i*i+o*o}while(!r||r>1);return e+n*o*Math.sqrt(-2*Math.log(r)/r)}}return n.source=e,n}(Uo)),qo=(function e(t){function n(){var e=Vo.source(t).apply(this,arguments);return function(){return Math.exp(e())}}return n.source=e,n}(Uo),function e(t){function n(e){return function(){for(var n=0,i=0;i=200&&i<300||304===i){if(r)try{t=r.call(n,l)}catch(o){return void s.call("error",n,o)}else t=l;s.call("load",n,t)}else s.call("error",n,e)}if("undefined"!==typeof XDomainRequest&&!("withCredentials"in l)&&/^(http(s)?:)?\/\//.test(e)&&(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=l.ontimeout=h:l.onreadystatechange=function(e){l.readyState>3&&h(e)},l.onprogress=function(e){s.call("progress",n,e)},n={header:function(e,t){return e=(e+"").toLowerCase(),arguments.length<2?a.get(e):(null==t?a.remove(e):a.set(e,t+""),n)},mimeType:function(e){return arguments.length?(i=null==e?null:e+"",n):i},responseType:function(e){return arguments.length?(o=e,n):o},timeout:function(e){return arguments.length?(d=+e,n):d},user:function(e){return arguments.length<1?u:(u=null==e?null:e+"",n)},password:function(e){return arguments.length<1?c:(c=null==e?null:e+"",n)},response:function(e){return r=e,n},get:function(e,t){return n.send("GET",e,t)},post:function(e,t){return n.send("POST",e,t)},send:function(t,r,h){return l.open(t,e,!0,u,c),null==i||a.has("accept")||a.set("accept",i+",*/*"),l.setRequestHeader&&a.each((function(e,t){l.setRequestHeader(t,e)})),null!=i&&l.overrideMimeType&&l.overrideMimeType(i),null!=o&&(l.responseType=o),d>0&&(l.timeout=d),null==h&&"function"===typeof r&&(h=r,r=null),null!=h&&1===h.length&&(h=function(e){return function(t,n){e(null==t?n:null)}}(h)),null!=h&&n.on("error",h).on("load",(function(e){h(null,e)})),s.call("beforesend",n,l),l.send(null==r?null:r),n},abort:function(){return l.abort(),n},on:function(){var e=s.on.apply(s,arguments);return e===s?n:e}},null!=t){if("function"!==typeof t)throw new Error("invalid callback: "+t);return n.get(t)}return n});var $o=function(e,t){return function(n,i){var r=Go(n).mimeType(e).response(t);if(null!=i){if("function"!==typeof i)throw new Error("invalid callback: "+i);return r.get(i)}return r}},Xo=($o("text/html",(function(e){return document.createRange().createContextualFragment(e.responseText)})),$o("application/json",(function(e){return JSON.parse(e.responseText)})),$o("text/plain",(function(e){return e.responseText})),$o("application/xml",(function(e){var t=e.responseXML;if(!t)throw new Error("parse error");return t})),function(e,t){return function(n,i,r){arguments.length<3&&(r=i,i=null);var o=Go(n).mimeType(e);return o.row=function(e){return arguments.length?o.response(Ko(t,i=e)):i},o.row(i),r?o.get(r):o}});function Ko(e,t){return function(n){return e(n.responseText,t)}}Xo("text/csv",ir),Xo("text/tab-separated-values",or);var Zo=Array.prototype,Qo=Zo.map,Jo=Zo.slice;var es=function(e){return function(){return e}},ts=function(e){return+e},ns=[0,1];function is(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:es(t)}function rs(e,t,n,i){var r=e[0],o=e[1],s=t[0],a=t[1];return o2?os:rs,i=r=null,c}function c(t){return(i||(i=n(o,s,l?function(e){return function(t,n){var i=e(t=+t,n=+n);return function(e){return e<=t?0:e>=n?1:i(e)}}}(e):e,a)))(+t)}return c.invert=function(e){return(r||(r=n(s,o,is,l?function(e){return function(t,n){var i=e(t=+t,n=+n);return function(e){return e<=0?t:e>=1?n:i(e)}}}(t):t)))(+e)},c.domain=function(e){return arguments.length?(o=Qo.call(e,ts),u()):o.slice()},c.range=function(e){return arguments.length?(s=Jo.call(e),u()):s.slice()},c.rangeRound=function(e){return s=Jo.call(e),a=Cn,u()},c.clamp=function(e){return arguments.length?(l=!!e,u()):l},c.interpolate=function(e){return arguments.length?(a=e,u()):a},u()}var ls=function(e,t,n){var i,r=e[0],o=e[e.length-1],s=g(r,o,null==t?10:t);switch((n=_r(null==n?",f":n)).type){case"s":var a=Math.max(Math.abs(r),Math.abs(o));return null!=n.precision||isNaN(i=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(gr(t)/3)))-gr(Math.abs(e)))}(s,a))||(n.precision=i),Sr(n,a);case"":case"e":case"g":case"p":case"r":null!=n.precision||isNaN(i=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,gr(t)-gr(e))+1}(s,Math.max(Math.abs(r),Math.abs(o))))||(n.precision=i-("e"===n.type));break;case"f":case"%":null!=n.precision||isNaN(i=function(e){return Math.max(0,-gr(Math.abs(e)))}(s))||(n.precision=i-2*("%"===n.type))}return kr(n)};function us(e){var t=e.domain;return e.ticks=function(e){var n=t();return p(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){return ls(t(),e,n)},e.nice=function(n){null==n&&(n=10);var i,r=t(),o=0,s=r.length-1,a=r[o],l=r[s];return l0?i=v(a=Math.floor(a/i)*i,l=Math.ceil(l/i)*i,n):i<0&&(i=v(a=Math.ceil(a*i)/i,l=Math.floor(l*i)/i,n)),i>0?(r[o]=Math.floor(a/i)*i,r[s]=Math.ceil(l/i)*i,t(r)):i<0&&(r[o]=Math.ceil(a*i)/i,r[s]=Math.floor(l*i)/i,t(r)),e},e}function cs(){var e=as(is,yn);return e.copy=function(){return ss(e,cs())},us(e)}var ds=new Date,hs=new Date;function fs(e,t,n,i){function r(t){return e(t=new Date(+t)),t}return r.floor=r,r.ceil=function(n){return e(n=new Date(n-1)),t(n,1),e(n),n},r.round=function(e){var t=r(e),n=r.ceil(e);return e-t0))return a;do{a.push(s=new Date(+n)),t(n,o),e(n)}while(s=t)for(;e(t),!n(t);)t.setTime(t-1)}),(function(e,i){if(e>=e)if(i<0)for(;++i<=0;)for(;t(e,-1),!n(e););else for(;--i>=0;)for(;t(e,1),!n(e););}))},n&&(r.count=function(t,i){return ds.setTime(+t),hs.setTime(+i),e(ds),e(hs),Math.floor(n(ds,hs))},r.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?r.filter(i?function(t){return i(t)%e===0}:function(t){return r.count(0,t)%e===0}):r:null}),r}var ps=fs((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));ps.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?fs((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,n){t.setTime(+t+n*e)}),(function(t,n){return(n-t)/e})):ps:null};ps.range;var vs=1e3,gs=6e4,ys=36e5,ms=864e5,bs=6048e5,_s=fs((function(e){e.setTime(Math.floor(e/vs)*vs)}),(function(e,t){e.setTime(+e+t*vs)}),(function(e,t){return(t-e)/vs}),(function(e){return e.getUTCSeconds()})),ws=(_s.range,fs((function(e){e.setTime(Math.floor(e/gs)*gs)}),(function(e,t){e.setTime(+e+t*gs)}),(function(e,t){return(t-e)/gs}),(function(e){return e.getMinutes()}))),xs=(ws.range,fs((function(e){var t=e.getTimezoneOffset()*gs%ys;t<0&&(t+=ys),e.setTime(Math.floor((+e-t)/ys)*ys+t)}),(function(e,t){e.setTime(+e+t*ys)}),(function(e,t){return(t-e)/ys}),(function(e){return e.getHours()}))),ks=(xs.range,fs((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*gs)/ms}),(function(e){return e.getDate()-1}))),Ss=ks;ks.range;function Es(e){return fs((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*gs)/bs}))}var Ts=Es(0),Cs=Es(1),Os=Es(2),Ds=Es(3),Ms=Es(4),Ns=Es(5),Ps=Es(6),As=(Ts.range,Cs.range,Os.range,Ds.range,Ms.range,Ns.range,Ps.range,fs((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}))),Fs=(As.range,fs((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()})));Fs.every=function(e){return isFinite(e=Math.floor(e))&&e>0?fs((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n*e)})):null};var Rs=Fs,js=(Fs.range,fs((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*gs)}),(function(e,t){return(t-e)/gs}),(function(e){return e.getUTCMinutes()}))),Is=(js.range,fs((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*ys)}),(function(e,t){return(t-e)/ys}),(function(e){return e.getUTCHours()}))),Ls=(Is.range,fs((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/ms}),(function(e){return e.getUTCDate()-1}))),zs=Ls;Ls.range;function Hs(e){return fs((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/bs}))}var Bs=Hs(0),Ys=Hs(1),Ws=Hs(2),Us=Hs(3),Vs=Hs(4),qs=Hs(5),Gs=Hs(6),$s=(Bs.range,Ys.range,Ws.range,Us.range,Vs.range,qs.range,Gs.range,fs((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()}))),Xs=($s.range,fs((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()})));Xs.every=function(e){return isFinite(e=Math.floor(e))&&e>0?fs((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)})):null};var Ks=Xs;Xs.range;function Zs(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Qs(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Js(e){return{y:e,m:0,d:1,H:0,M:0,S:0,L:0}}var ea,ta,na,ia={"-":"",_:" ",0:"0"},ra=/^\s*\d+/,oa=/^%/,sa=/[\\^$*+?|[\]().{}]/g;function aa(e,t,n){var i=e<0?"-":"",r=(i?-e:e)+"",o=r.length;return i+(o68?1900:2e3),n+i[0].length):-1}function ma(e,t,n){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return i?(e.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function ba(e,t,n){var i=ra.exec(t.slice(n,n+2));return i?(e.m=i[0]-1,n+i[0].length):-1}function _a(e,t,n){var i=ra.exec(t.slice(n,n+2));return i?(e.d=+i[0],n+i[0].length):-1}function wa(e,t,n){var i=ra.exec(t.slice(n,n+3));return i?(e.m=0,e.d=+i[0],n+i[0].length):-1}function xa(e,t,n){var i=ra.exec(t.slice(n,n+2));return i?(e.H=+i[0],n+i[0].length):-1}function ka(e,t,n){var i=ra.exec(t.slice(n,n+2));return i?(e.M=+i[0],n+i[0].length):-1}function Sa(e,t,n){var i=ra.exec(t.slice(n,n+2));return i?(e.S=+i[0],n+i[0].length):-1}function Ea(e,t,n){var i=ra.exec(t.slice(n,n+3));return i?(e.L=+i[0],n+i[0].length):-1}function Ta(e,t,n){var i=ra.exec(t.slice(n,n+6));return i?(e.L=Math.floor(i[0]/1e3),n+i[0].length):-1}function Ca(e,t,n){var i=oa.exec(t.slice(n,n+1));return i?n+i[0].length:-1}function Oa(e,t,n){var i=ra.exec(t.slice(n));return i?(e.Q=+i[0],n+i[0].length):-1}function Da(e,t,n){var i=ra.exec(t.slice(n));return i?(e.Q=1e3*+i[0],n+i[0].length):-1}function Ma(e,t){return aa(e.getDate(),t,2)}function Na(e,t){return aa(e.getHours(),t,2)}function Pa(e,t){return aa(e.getHours()%12||12,t,2)}function Aa(e,t){return aa(1+Ss.count(Rs(e),e),t,3)}function Fa(e,t){return aa(e.getMilliseconds(),t,3)}function Ra(e,t){return Fa(e,t)+"000"}function ja(e,t){return aa(e.getMonth()+1,t,2)}function Ia(e,t){return aa(e.getMinutes(),t,2)}function La(e,t){return aa(e.getSeconds(),t,2)}function za(e){var t=e.getDay();return 0===t?7:t}function Ha(e,t){return aa(Ts.count(Rs(e),e),t,2)}function Ba(e,t){var n=e.getDay();return e=n>=4||0===n?Ms(e):Ms.ceil(e),aa(Ms.count(Rs(e),e)+(4===Rs(e).getDay()),t,2)}function Ya(e){return e.getDay()}function Wa(e,t){return aa(Cs.count(Rs(e),e),t,2)}function Ua(e,t){return aa(e.getFullYear()%100,t,2)}function Va(e,t){return aa(e.getFullYear()%1e4,t,4)}function qa(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+aa(t/60|0,"0",2)+aa(t%60,"0",2)}function Ga(e,t){return aa(e.getUTCDate(),t,2)}function $a(e,t){return aa(e.getUTCHours(),t,2)}function Xa(e,t){return aa(e.getUTCHours()%12||12,t,2)}function Ka(e,t){return aa(1+zs.count(Ks(e),e),t,3)}function Za(e,t){return aa(e.getUTCMilliseconds(),t,3)}function Qa(e,t){return Za(e,t)+"000"}function Ja(e,t){return aa(e.getUTCMonth()+1,t,2)}function el(e,t){return aa(e.getUTCMinutes(),t,2)}function tl(e,t){return aa(e.getUTCSeconds(),t,2)}function nl(e){var t=e.getUTCDay();return 0===t?7:t}function il(e,t){return aa(Bs.count(Ks(e),e),t,2)}function rl(e,t){var n=e.getUTCDay();return e=n>=4||0===n?Vs(e):Vs.ceil(e),aa(Vs.count(Ks(e),e)+(4===Ks(e).getUTCDay()),t,2)}function ol(e){return e.getUTCDay()}function sl(e,t){return aa(Ys.count(Ks(e),e),t,2)}function al(e,t){return aa(e.getUTCFullYear()%100,t,2)}function ll(e,t){return aa(e.getUTCFullYear()%1e4,t,4)}function ul(){return"+0000"}function cl(){return"%"}function dl(e){return+e}function hl(e){return Math.floor(+e/1e3)}!function(e){ea=function(e){var t=e.dateTime,n=e.date,i=e.time,r=e.periods,o=e.days,s=e.shortDays,a=e.months,l=e.shortMonths,u=ua(r),c=ca(r),d=ua(o),h=ca(o),f=ua(s),p=ca(s),v=ua(a),g=ca(a),y=ua(l),m=ca(l),b={a:function(e){return s[e.getDay()]},A:function(e){return o[e.getDay()]},b:function(e){return l[e.getMonth()]},B:function(e){return a[e.getMonth()]},c:null,d:Ma,e:Ma,f:Ra,H:Na,I:Pa,j:Aa,L:Fa,m:ja,M:Ia,p:function(e){return r[+(e.getHours()>=12)]},Q:dl,s:hl,S:La,u:za,U:Ha,V:Ba,w:Ya,W:Wa,x:null,X:null,y:Ua,Y:Va,Z:qa,"%":cl},_={a:function(e){return s[e.getUTCDay()]},A:function(e){return o[e.getUTCDay()]},b:function(e){return l[e.getUTCMonth()]},B:function(e){return a[e.getUTCMonth()]},c:null,d:Ga,e:Ga,f:Qa,H:$a,I:Xa,j:Ka,L:Za,m:Ja,M:el,p:function(e){return r[+(e.getUTCHours()>=12)]},Q:dl,s:hl,S:tl,u:nl,U:il,V:rl,w:ol,W:sl,x:null,X:null,y:al,Y:ll,Z:ul,"%":cl},w={a:function(e,t,n){var i=f.exec(t.slice(n));return i?(e.w=p[i[0].toLowerCase()],n+i[0].length):-1},A:function(e,t,n){var i=d.exec(t.slice(n));return i?(e.w=h[i[0].toLowerCase()],n+i[0].length):-1},b:function(e,t,n){var i=y.exec(t.slice(n));return i?(e.m=m[i[0].toLowerCase()],n+i[0].length):-1},B:function(e,t,n){var i=v.exec(t.slice(n));return i?(e.m=g[i[0].toLowerCase()],n+i[0].length):-1},c:function(e,n,i){return S(e,t,n,i)},d:_a,e:_a,f:Ta,H:xa,I:xa,j:wa,L:Ea,m:ba,M:ka,p:function(e,t,n){var i=u.exec(t.slice(n));return i?(e.p=c[i[0].toLowerCase()],n+i[0].length):-1},Q:Oa,s:Da,S:Sa,u:ha,U:fa,V:pa,w:da,W:va,x:function(e,t,i){return S(e,n,t,i)},X:function(e,t,n){return S(e,i,t,n)},y:ya,Y:ga,Z:ma,"%":Ca};function x(e,t){return function(n){var i,r,o,s=[],a=-1,l=0,u=e.length;for(n instanceof Date||(n=new Date(+n));++a53)return null;"w"in o||(o.w=1),"Z"in o?(r=(i=Qs(Js(o.y))).getUTCDay(),i=r>4||0===r?Ys.ceil(i):Ys(i),i=zs.offset(i,7*(o.V-1)),o.y=i.getUTCFullYear(),o.m=i.getUTCMonth(),o.d=i.getUTCDate()+(o.w+6)%7):(r=(i=t(Js(o.y))).getDay(),i=r>4||0===r?Cs.ceil(i):Cs(i),i=Ss.offset(i,7*(o.V-1)),o.y=i.getFullYear(),o.m=i.getMonth(),o.d=i.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),r="Z"in o?Qs(Js(o.y)).getUTCDay():t(Js(o.y)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(r+5)%7:o.w+7*o.U-(r+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Qs(o)):t(o)}}function S(e,t,n,i){for(var r,o,s=0,a=t.length,l=n.length;s=l)return-1;if(37===(r=t.charCodeAt(s++))){if(r=t.charAt(s++),!(o=w[r in ia?t.charAt(s++):r])||(i=o(e,n,i))<0)return-1}else if(r!=n.charCodeAt(i++))return-1}return i}return b.x=x(n,b),b.X=x(i,b),b.c=x(t,b),_.x=x(n,_),_.X=x(i,_),_.c=x(t,_),{format:function(e){var t=x(e+="",b);return t.toString=function(){return e},t},parse:function(e){var t=k(e+="",Zs);return t.toString=function(){return e},t},utcFormat:function(e){var t=x(e+="",_);return t.toString=function(){return e},t},utcParse:function(e){var t=k(e,Qs);return t.toString=function(){return e},t}}}(e),ea.format,ea.parse,ta=ea.utcFormat,na=ea.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var fl="%Y-%m-%dT%H:%M:%S.%LZ";Date.prototype.toISOString||ta(fl);+new Date("2000-01-01T00:00:00.000Z")||na(fl);var pl=function(e){return e.match(/.{6}/g).map((function(e){return"#"+e}))};pl("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),pl("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),pl("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),pl("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),zn(on(300,.5,0),on(-240,.5,1)),zn(on(-100,.75,.35),on(80,1.5,.8)),zn(on(260,.75,.35),on(80,1.5,.8)),on();function vl(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}vl(pl("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),vl(pl("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),vl(pl("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),vl(pl("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));Math.abs,Math.atan2,Math.cos,Math.max,Math.min,Math.sin,Math.sqrt;var gl=1e-12,yl=Math.PI,ml=2*yl;function bl(e){this._context=e}bl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var _l=function(e){return new bl(e)};xl(_l);function wl(e){this._curve=e}function xl(e){function t(t){return new wl(e(t))}return t._curve=e,t}wl.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};Array.prototype.slice;Math.sqrt(1/3);var kl=Math.sin(yl/10)/Math.sin(7*yl/10),Sl=(Math.sin(ml/10),Math.cos(ml/10),Math.sqrt(3),Math.sqrt(3),Math.sqrt(12),function(){});function El(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Tl(e){this._context=e}Tl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:El(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:El(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Cl(e){this._context=e}Cl.prototype={areaStart:Sl,areaEnd:Sl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:El(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Ol(e){this._context=e}Ol.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,i=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break;case 3:this._point=4;default:El(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Dl(e,t){this._basis=new Tl(e),this._beta=t}Dl.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var i,r=e[0],o=t[0],s=e[n]-r,a=t[n]-o,l=-1;++l<=n;)i=l/n,this._basis.point(this._beta*e[l]+(1-this._beta)*(r+i*s),this._beta*t[l]+(1-this._beta)*(o+i*a));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};(function e(t){function n(e){return 1===t?new Tl(e):new Dl(e,t)}return n.beta=function(t){return e(+t)},n})(.85);function Ml(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function Nl(e,t){this._context=e,this._k=(1-t)/6}Nl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ml(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Ml(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return new Nl(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Pl(e,t){this._context=e,this._k=(1-t)/6}Pl.prototype={areaStart:Sl,areaEnd:Sl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Ml(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return new Pl(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Al(e,t){this._context=e,this._k=(1-t)/6}Al.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ml(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return new Al(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Fl(e,t,n){var i=e._x1,r=e._y1,o=e._x2,s=e._y2;if(e._l01_a>gl){var a=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);i=(i*a-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,r=(r*a-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>gl){var u=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,c=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*u+e._x1*e._l23_2a-t*e._l12_2a)/c,s=(s*u+e._y1*e._l23_2a-n*e._l12_2a)/c}e._context.bezierCurveTo(i,r,o,s,e._x2,e._y2)}function Rl(e,t){this._context=e,this._alpha=t}Rl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Fl(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return t?new Rl(e,t):new Nl(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function jl(e,t){this._context=e,this._alpha=t}jl.prototype={areaStart:Sl,areaEnd:Sl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Fl(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return t?new jl(e,t):new Pl(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Il(e,t){this._context=e,this._alpha=t}Il.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Fl(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return t?new Il(e,t):new Al(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Ll(e){this._context=e}Ll.prototype={areaStart:Sl,areaEnd:Sl,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function zl(e){return e<0?-1:1}function Hl(e,t,n){var i=e._x1-e._x0,r=t-e._x1,o=(e._y1-e._y0)/(i||r<0&&-0),s=(n-e._y1)/(r||i<0&&-0),a=(o*r+s*i)/(i+r);return(zl(o)+zl(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function Bl(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Yl(e,t,n){var i=e._x0,r=e._y0,o=e._x1,s=e._y1,a=(o-i)/3;e._context.bezierCurveTo(i+a,r+a*t,o-a,s-a*n,o,s)}function Wl(e){this._context=e}function Ul(e){this._context=new Vl(e)}function Vl(e){this._context=e}function ql(e){this._context=e}function Gl(e){var t,n,i=e.length-1,r=new Array(i),o=new Array(i),s=new Array(i);for(r[0]=0,o[0]=2,s[0]=e[0]+2*e[1],t=1;t=0;--t)r[t]=(s[t]-r[t+1])/o[t];for(o[i-1]=(e[i]+r[i-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function Xl(){this._=null}function Kl(e){e.U=e.C=e.L=e.R=e.P=e.N=null}function Zl(e,t){var n=t,i=t.R,r=n.U;r?r.L===n?r.L=i:r.R=i:e._=i,i.U=r,n.U=i,n.R=i.L,n.R&&(n.R.U=n),i.L=n}function Ql(e,t){var n=t,i=t.L,r=n.U;r?r.L===n?r.L=i:r.R=i:e._=i,i.U=r,n.U=i,n.L=i.R,n.L&&(n.L.U=n),i.R=n}function Jl(e){for(;e.L;)e=e.L;return e}Xl.prototype={constructor:Xl,insert:function(e,t){var n,i,r;if(e){if(t.P=e,t.N=e.N,e.N&&(e.N.P=t),e.N=t,e.R){for(e=e.R;e.L;)e=e.L;e.L=t}else e.R=t;n=e}else this._?(e=Jl(this._),t.P=null,t.N=e,e.P=e.L=t,n=e):(t.P=t.N=null,this._=t,n=null);for(t.L=t.R=null,t.U=n,t.C=!0,e=t;n&&n.C;)n===(i=n.U).L?(r=i.R)&&r.C?(n.C=r.C=!1,i.C=!0,e=i):(e===n.R&&(Zl(this,n),n=(e=n).U),n.C=!1,i.C=!0,Ql(this,i)):(r=i.L)&&r.C?(n.C=r.C=!1,i.C=!0,e=i):(e===n.L&&(Ql(this,n),n=(e=n).U),n.C=!1,i.C=!0,Zl(this,i)),n=e.U;this._.C=!1},remove:function(e){e.N&&(e.N.P=e.P),e.P&&(e.P.N=e.N),e.N=e.P=null;var t,n,i,r=e.U,o=e.L,s=e.R;if(n=o?s?Jl(s):o:s,r?r.L===e?r.L=n:r.R=n:this._=n,o&&s?(i=n.C,n.C=e.C,n.L=o,o.U=n,n!==s?(r=n.U,n.U=e.U,e=n.R,r.L=e,n.R=s,s.U=n):(n.U=r,r=n,e=n.R)):(i=e.C,e=n),e&&(e.U=r),!i)if(e&&e.C)e.C=!1;else{do{if(e===this._)break;if(e===r.L){if((t=r.R).C&&(t.C=!1,r.C=!0,Zl(this,r),t=r.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,Ql(this,t),t=r.R),t.C=r.C,r.C=t.R.C=!1,Zl(this,r),e=this._;break}}else if((t=r.L).C&&(t.C=!1,r.C=!0,Ql(this,r),t=r.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,Zl(this,t),t=r.L),t.C=r.C,r.C=t.L.C=!1,Ql(this,r),e=this._;break}t.C=!0,e=r,r=r.U}while(!e.C);e&&(e.C=!1)}}};var eu=Xl;function tu(e,t,n,i){var r=[null,null],o=Eu.push(r)-1;return r.left=e,r.right=t,n&&iu(r,e,t,n),i&&iu(r,t,e,i),ku[e.index].halfedges.push(o),ku[t.index].halfedges.push(o),r}function nu(e,t,n){var i=[t,n];return i.left=e,i}function iu(e,t,n,i){e[0]||e[1]?e.left===n?e[1]=i:e[0]=i:(e[0]=i,e.left=t,e.right=n)}function ru(e,t,n,i,r){var o,s=e[0],a=e[1],l=s[0],u=s[1],c=0,d=1,h=a[0]-l,f=a[1]-u;if(o=t-l,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>d)return;o>c&&(c=o)}if(o=i-l,h||!(o<0)){if(o/=h,h<0){if(o>d)return;o>c&&(c=o)}else if(h>0){if(o0)){if(o/=f,f<0){if(o0){if(o>d)return;o>c&&(c=o)}if(o=r-u,f||!(o<0)){if(o/=f,f<0){if(o>d)return;o>c&&(c=o)}else if(f>0){if(o0||d<1)||(c>0&&(e[0]=[l+c*h,u+c*f]),d<1&&(e[1]=[l+d*h,u+d*f]),!0)}}}}}function ou(e,t,n,i,r){var o=e[1];if(o)return!0;var s,a,l=e[0],u=e.left,c=e.right,d=u[0],h=u[1],f=c[0],p=c[1],v=(d+f)/2,g=(h+p)/2;if(p===h){if(v=i)return;if(d>f){if(l){if(l[1]>=r)return}else l=[v,n];o=[v,r]}else{if(l){if(l[1]1)if(d>f){if(l){if(l[1]>=r)return}else l=[(n-a)/s,n];o=[(r-a)/s,r]}else{if(l){if(l[1]=i)return}else l=[t,s*t+a];o=[i,s*i+a]}else{if(l){if(l[0]=-Cu)){var f=l*l+u*u,p=c*c+d*d,v=(d*f-u*p)/h,g=(l*p-c*f)/h,y=cu.pop()||new du;y.arc=e,y.site=r,y.x=v+s,y.y=(y.cy=g+a)+Math.sqrt(v*v+g*g),e.circle=y;for(var m=null,b=Su._;b;)if(y.yTu)a=a.L;else{if(!((r=o-wu(a,s))>Tu)){i>-Tu?(t=a.P,n=a):r>-Tu?(t=a,n=a.N):t=n=a;break}if(!a.R){t=a;break}a=a.R}!function(e){ku[e.index]={site:e,halfedges:[]}}(e);var l=gu(e);if(xu.insert(t,l),t||n){if(t===n)return fu(t),n=gu(t.site),xu.insert(l,n),l.edge=n.edge=tu(t.site,l.site),hu(t),void hu(n);if(n){fu(t),fu(n);var u=t.site,c=u[0],d=u[1],h=e[0]-c,f=e[1]-d,p=n.site,v=p[0]-c,g=p[1]-d,y=2*(h*g-f*v),m=h*h+f*f,b=v*v+g*g,_=[(g*m-f*b)/y+c,(h*b-v*m)/y+d];iu(n.edge,u,p,_),l.edge=tu(u,e,null,_),n.edge=tu(e,p,null,_),hu(t),hu(n)}else l.edge=tu(t.site,l.site)}}function _u(e,t){var n=e.site,i=n[0],r=n[1],o=r-t;if(!o)return i;var s=e.P;if(!s)return-1/0;var a=(n=s.site)[0],l=n[1],u=l-t;if(!u)return a;var c=a-i,d=1/o-1/u,h=c/u;return d?(-h+Math.sqrt(h*h-2*d*(c*c/(-2*u)-l+u/2+r-o/2)))/d+i:(i+a)/2}function wu(e,t){var n=e.N;if(n)return _u(n,t);var i=e.site;return i[1]===t?i[0]:1/0}var xu,ku,Su,Eu,Tu=1e-6,Cu=1e-12;function Ou(e,t){return t[1]-e[1]||t[0]-e[0]}function Du(e,t){var n,i,r,o=e.sort(Ou).pop();for(Eu=[],ku=new Array(e.length),xu=new eu,Su=new eu;;)if(r=uu,o&&(!r||o[1]Tu||Math.abs(r[0][1]-r[1][1])>Tu)||delete Eu[o]}(s,a,l,u),function(e,t,n,i){var r,o,s,a,l,u,c,d,h,f,p,v,g=ku.length,y=!0;for(r=0;rTu||Math.abs(v-h)>Tu)&&(l.splice(a,0,Eu.push(nu(s,f,Math.abs(p-e)Tu?[e,Math.abs(d-e)Tu?[Math.abs(h-i)Tu?[n,Math.abs(d-n)Tu?[Math.abs(h-t)=a)return null;var l=e-r.site[0],u=t-r.site[1],c=l*l+u*u;do{r=o.cells[i=s],s=null,r.halfedges.forEach((function(n){var i=o.edges[n],a=i.left;if(a!==r.site&&a||(a=i.right)){var l=e-a[0],u=t-a[1],d=l*l+u*u;d=0;h--){var f=s[h];"."===f?o(s,h):".."===f?(o(s,h),d++):d&&(o(s,h),d--)}if(!u)for(;d--;d)s.unshift("..");!u||""===s[0]||s[0]&&r(s[0])||s.unshift("");var p=s.join("/");return n&&"/"!==p.substr(-1)&&(p+="/"),p};function a(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,i){return e(t,n[i])}));if("object"===typeof t||"object"===typeof n){var i=a(t),r=a(n);return i!==t||r!==n?e(i,r):Object.keys(Object.assign({},t,n)).every((function(i){return e(t[i],n[i])}))}return!1},u=n(17);function c(e){return"/"===e.charAt(0)?e:"/"+e}function d(e){return"/"===e.charAt(0)?e.substr(1):e}function h(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function f(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,i=e.hash,r=t||"/";return n&&"?"!==n&&(r+="?"===n.charAt(0)?n:"?"+n),i&&"#"!==i&&(r+="#"===i.charAt(0)?i:"#"+i),r}function v(e,t,n,r){var o;"string"===typeof e?(o=function(e){var t=e||"/",n="",i="",r=t.indexOf("#");-1!==r&&(i=t.substr(r),t=t.substr(0,r));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===i?"":i}}(e)).state=t:(void 0===(o=Object(i.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(a){throw a instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):a}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=s(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function g(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,i,r){if(null!=e){var o="function"===typeof e?e(t,n):e;"string"===typeof o?"function"===typeof i?i(o,r):r(!0):r(!1!==o)}else r(!0)},appendListener:function(e){var n=!0;function i(){n&&e.apply(void 0,arguments)}return t.push(i),function(){n=!1,t=t.filter((function(e){return e!==i}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),i=0;it?n.splice(t,n.length-t,r):n.push(r),d({action:i,location:r,index:t,entries:n})}}))},replace:function(e,t){var i="REPLACE",r=v(e,t,h(),_.location);c.confirmTransitionTo(r,i,n,(function(e){e&&(_.entries[_.index]=r,d({action:i,location:r}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=_.index+e;return t>=0&&t<_.entries.length},block:function(e){return void 0===e&&(e=!1),c.setPrompt(e)},listen:function(e){return c.appendListener(e)}};return _}},function(e,t,n){var i,r,o;r=[n(21),n(62)],void 0===(o="function"===typeof(i=function(e){"use strict";if(!e.ui||!e.ui.fancytree){var t,n,i=null,r=new RegExp(/\.|\//),o=/[&<>"'/]/g,s=/[<>"'/]/g,a="$recursive_request",l="$request_target_invalid",u={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},c={16:!0,17:!0,18:!0},d={8:"backspace",9:"tab",10:"return",13:"return",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",59:";",61:"=",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},h={16:"shift",17:"ctrl",18:"alt",91:"meta",93:"meta"},f={0:"",1:"left",2:"middle",3:"right"},p="active expanded focus folder lazy radiogroup selected unselectable unselectableIgnore".split(" "),v={},g="columns types".split(" "),y="checkbox expanded extraClasses folder icon iconTooltip key lazy partsel radiogroup refKey selected statusNodeType title tooltip type unselectable unselectableIgnore unselectableStatus".split(" "),m={},b={},_={active:!0,children:!0,data:!0,focus:!0};for(t=0;t=0,"insertBefore must be an existing child"),this.children.splice.apply(this.children,[o,0].concat(u))),s&&!n){for(i=0,r=u.length;i=0;i--)"paging"===(r=this.children[i]).statusNodeType&&this.removeChild(r);this.partload=!1},appendSibling:function(e){return this.addNode(e,"after")},applyCommand:function(e,t){return this.tree.applyCommand(e,this,t)},applyPatch:function(t){if(null===t)return this.remove(),O(this);var n,i,r={children:!0,expanded:!0,parent:!0};for(n in t)t.hasOwnProperty(n)&&(i=t[n],r[n]||e.isFunction(i)||(m[n]?this[n]=i:this.data[n]=i));return t.hasOwnProperty("children")&&(this.removeChildren(),t.children&&this._setChildren(t.children)),this.isVisible()&&(this.renderTitle(),this.renderStatus()),t.hasOwnProperty("expanded")?this.setExpanded(t.expanded):O(this)},collapseSiblings:function(){return this.tree._callHook("nodeCollapseSiblings",this)},copyTo:function(e,t,n){return e.addNode(this.toDict(!0,n),t)},countChildren:function(e){var t,n,i,r=this.children;if(!r)return 0;if(i=r.length,!1!==e)for(t=0,n=i;t=4&&(Array.prototype.unshift.call(arguments,this.toString()),x("log",arguments))},discard:function(){return this.warn("FancytreeNode.discard() is deprecated since 2014-02-16. Use .resetLazy() instead."),this.resetLazy()},discardMarkup:function(e){var t=e?"nodeRemoveMarkup":"nodeRemoveChildMarkup";this.tree._callHook(t,this)},error:function(e){this.tree.options.debugLevel>=1&&(Array.prototype.unshift.call(arguments,this.toString()),x("error",arguments))},findAll:function(t){t=e.isFunction(t)?t:A(t);var n=[];return this.visit((function(e){t(e)&&n.push(e)})),n},findFirst:function(t){t=e.isFunction(t)?t:A(t);var n=null;return this.visit((function(e){if(t(e))return n=e,!1})),n},findRelatedNode:function(e,t){return this.tree.findRelatedNode(this,e,t)},_changeSelectStatusAttrs:function(e){var t=!1,n=this.tree.options,r=i.evalOption("unselectable",this,this,n,!1),o=i.evalOption("unselectableStatus",this,this,n,void 0);switch(r&&null!=o&&(e=o),e){case!1:t=this.selected||this.partsel,this.selected=!1,this.partsel=!1;break;case!0:t=!this.selected||!this.partsel,this.selected=!0,this.partsel=!0;break;case void 0:t=this.selected||!this.partsel,this.selected=!1,this.partsel=!0;break;default:w(!1,"invalid state: "+e)}return t&&this.renderStatus(),t},fixSelection3AfterClick:function(e){var t=this.isSelected();this.visit((function(e){if(e._changeSelectStatusAttrs(t),e.radiogroup)return"skip"})),this.fixSelection3FromEndNodes(e)},fixSelection3FromEndNodes:function(e){var t=this.tree.options;function n(e){var r,o,s,a,l,u,c,d,h=e.children;if(h&&h.length){for(u=!0,c=!1,r=0,o=h.length;r=0},hasFocus:function(){return this.tree.hasFocus()&&this.tree.focusNode===this},info:function(e){this.tree.options.debugLevel>=3&&(Array.prototype.unshift.call(arguments,this.toString()),x("info",arguments))},isActive:function(){return this.tree.activeNode===this},isBelowOf:function(e){return this.getIndexHier(".",5)>e.getIndexHier(".",5)},isChildOf:function(e){return this.parent&&this.parent===e},isDescendantOf:function(t){if(!t||t.tree!==this.tree)return!1;for(var n=this.parent;n;){if(n===t)return!0;n===n.parent&&e.error("Recursive parent link: "+n),n=n.parent}return!1},isExpanded:function(){return!!this.expanded},isFirstSibling:function(){var e=this.parent;return!e||e.children[0]===this},isFolder:function(){return!!this.folder},isLastSibling:function(){var e=this.parent;return!e||e.children[e.children.length-1]===this},isLazy:function(){return!!this.lazy},isLoaded:function(){return!this.lazy||void 0!==this.hasChildren()},isLoading:function(){return!!this._isLoading},isRoot:function(){return this.isRootNode()},isPartsel:function(){return!this.selected&&!!this.partsel},isPartload:function(){return!!this.partload},isRootNode:function(){return this.tree.rootNode===this},isSelected:function(){return!!this.selected},isStatusNode:function(){return!!this.statusNodeType},isPagingNode:function(){return"paging"===this.statusNodeType},isTopLevel:function(){return this.tree.rootNode===this.parent},isUndefined:function(){return void 0===this.hasChildren()},isVisible:function(){var e,t,n=this.tree.enableFilter,i=this.getParentList(!1,!1);if(n&&!this.match&&!this.subMatchCount)return!1;for(e=0,t=i.length;e=0;n--)r.push(s[n].setExpanded(!0,t));return e.when.apply(e,r).done((function(){u?i.scrollIntoView(l).done((function(){o.resolve()})):o.resolve()})),o.promise()},moveTo:function(t,n,i){void 0===n||"over"===n?n="child":"firstChild"===n&&(t.children&&t.children.length?(n="before",t=t.children[0]):n="child");var r,o=this.tree,s=this.parent,a="child"===n?t:t.parent;if(this!==t){if(this.parent?a.isDescendantOf(this)&&e.error("Cannot move a node to its own descendant"):e.error("Cannot move system root"),a!==s&&s.triggerModifyChild("remove",this),1===this.parent.children.length){if(this.parent===a)return;this.parent.children=this.parent.lazy?[]:null,this.parent.expanded=!1}else w((r=e.inArray(this,this.parent.children))>=0,"invalid source parent"),this.parent.children.splice(r,1);if(this.parent=a,a.hasChildren())switch(n){case"child":a.children.push(this);break;case"before":w((r=e.inArray(t,a.children))>=0,"invalid target parent"),a.children.splice(r,0,this);break;case"after":w((r=e.inArray(t,a.children))>=0,"invalid target parent"),a.children.splice(r+1,0,this);break;default:e.error("Invalid mode "+n)}else a.children=[this];i&&t.visit(i,!0),a===s?a.triggerModifyChild("move",this):a.triggerModifyChild("add",this),o!==t.tree&&(this.warn("Cross-tree moveTo is experimental!"),this.visit((function(e){e.tree=t.tree}),!0)),o._callHook("treeStructureChanged",o,"moveTo"),s.isDescendantOf(a)||s.render(),a.isDescendantOf(s)||a===s||a.render()}},navigate:function(t,n){var i,r=e.ui.keyCode;switch(t){case"left":case r.LEFT:if(this.expanded)return this.setExpanded(!1);break;case"right":case r.RIGHT:if(!this.expanded&&(this.children||this.lazy))return this.setExpanded()}if(i=this.findRelatedNode(t)){try{i.makeVisible({scrollIntoView:!1})}catch(o){}return!1===n?(i.setFocus(),O()):i.setActive()}return this.warn("Could not find related node '"+t+"'."),O()},remove:function(){return this.parent.removeChild(this)},removeChild:function(e){return this.tree._callHook("nodeRemoveChild",this,e)},removeChildren:function(){return this.tree._callHook("nodeRemoveChildren",this)},removeClass:function(e){return this.toggleClass(e,!1)},render:function(e,t){return this.tree._callHook("nodeRender",this,e,t)},renderTitle:function(){return this.tree._callHook("nodeRenderTitle",this)},renderStatus:function(){return this.tree._callHook("nodeRenderStatus",this)},replaceWith:function(n){var i,r=this.parent,o=e.inArray(this,r.children),s=this;return w(this.isPagingNode(),"replaceWith() currently requires a paging status node"),(i=this.tree._callHook("nodeLoadChildren",this,n)).done((function(e){var n=s.children;for(t=0;tg+v-p&&(_=l+h-v+p,b&&(w(b.isRootNode()||b.isVisible(),"topNode must be visible"),a<_&&(_=a-f))),null===_?c.resolveWith(this):i.effects?(i.effects.complete=function(){c.resolveWith(d)},y.stop(!0).animate({scrollTop:_},i.effects)):(y[0].scrollTop=_,c.resolveWith(this)),c.promise())},setActive:function(e,t){return this.tree._callHook("nodeSetActive",this,e,t)},setExpanded:function(e,t){return this.tree._callHook("nodeSetExpanded",this,e,t)},setFocus:function(e){return this.tree._callHook("nodeSetFocus",this,e)},setSelected:function(e,t){return this.tree._callHook("nodeSetSelected",this,e,t)},setStatus:function(e,t,n){return this.tree._callHook("nodeSetStatus",this,e,t,n)},setTitle:function(e){this.title=e,this.renderTitle(),this.triggerModify("rename")},sortChildren:function(e,t){var n,i,r=this.children;if(r){if(e=e||function(e,t){var n=e.title.toLowerCase(),i=t.title.toLowerCase();return n===i?0:n>i?1:-1},r.sort(e),t)for(n=0,i=r.length;n=0,n=void 0===n?!r:!!n)r||(c+=i+" ",l=!0);else for(;c.indexOf(" "+i+" ")>-1;)c=c.replace(" "+i+" "," ");return this.extraClasses=e.trim(c),l},toggleExpanded:function(){return this.tree._callHook("nodeToggleExpanded",this)},toggleSelected:function(){return this.tree._callHook("nodeToggleSelected",this)},toString:function(){return"FancytreeNode@"+this.key+"[title='"+this.title+"']"},triggerModifyChild:function(t,n,i){var r,o=this.tree.options.modifyChild;o&&(n&&n.parent!==this&&e.error("childNode "+n+" is not a child of "+this),r={node:this,tree:this.tree,operation:t,childNode:n||null},i&&e.extend(r,i),o({type:"modifyChild"},r))},triggerModify:function(e,t){this.parent.triggerModifyChild(e,this,t)},visit:function(e,t){var n,i,r=!0,o=this.children;if(!0===t&&(!1===(r=e(this))||"skip"===r))return r;if(o)for(n=0,i=o.length;n=2&&(Array.prototype.unshift.call(arguments,this.toString()),x("warn",arguments))}},j.prototype={_makeHookContext:function(t,n,i){var r,o;return void 0!==t.node?(n&&t.originalEvent!==n&&e.error("invalid args"),r=t):t.tree?r={node:t,tree:o=t.tree,widget:o.widget,options:o.widget.options,originalEvent:n,typeInfo:o.types[t.type]||{}}:t.widget?r={node:null,tree:t,widget:t.widget,options:t.widget.options,originalEvent:n}:e.error("invalid args"),i&&e.extend(r,i),r},_callHook:function(t,n,i){var r=this._makeHookContext(n),o=this[t],s=Array.prototype.slice.call(arguments,2);return e.isFunction(o)||e.error("_callHook('"+t+"') is not a function"),s.unshift(r),o.apply(this,s)},_setExpiringValue:function(e,t,n){this._tempCache[e]={value:t,expire:Date.now()+(+n||50)}},_getExpiringValue:function(e){var t=this._tempCache[e];return t&&t.expire>Date.now()?t.value:(delete this._tempCache[e],null)},_usesExtension:function(t){return e.inArray(t,this.options.extensions)>=0},_requireExtension:function(t,n,i,r){null!=i&&(i=!!i);var o=this._local.name,s=this.options.extensions,a=e.inArray(t,s)=4&&(Array.prototype.unshift.call(arguments,this.toString()),x("log",arguments))},destroy:function(){this.widget.destroy()},enable:function(e){!1===e?this.widget.disable():this.widget.enable()},enableUpdate:function(e){return e=!1!==e,!!this._enableUpdate===!!e?e:(this._enableUpdate=e,e?(this.debug("enableUpdate(true): redraw "),this._callHook("treeStructureChanged",this,"enableUpdate"),this.render()):this.debug("enableUpdate(false)..."),!e)},error:function(e){this.options.debugLevel>=1&&(Array.prototype.unshift.call(arguments,this.toString()),x("error",arguments))},expandAll:function(e,t){var n=this.enableUpdate(!1);e=!1!==e,this.visit((function(n){!1!==n.hasChildren()&&n.isExpanded()!==e&&n.setExpanded(e,t)})),this.enableUpdate(n)},findAll:function(e){return this.rootNode.findAll(e)},findFirst:function(e){return this.rootNode.findFirst(e)},findNextNode:function(e,t){var n=null,i=this.getFirstChild();function r(i){if(e(i)&&(n=i),n||i===t)return!1}return e="string"===typeof e?F(e):e,t=t||i,this.visitRows(r,{start:t,includeSelf:!1}),n||t===i||this.visitRows(r,{start:i,includeSelf:!0}),n},findRelatedNode:function(t,n,i){var r=null,o=e.ui.keyCode;switch(n){case"parent":case o.BACKSPACE:t.parent&&t.parent.parent&&(r=t.parent);break;case"first":case o.HOME:this.visit((function(e){if(e.isVisible())return r=e,!1}));break;case"last":case o.END:this.visit((function(e){e.isVisible()&&(r=e)}));break;case"left":case o.LEFT:t.expanded?t.setExpanded(!1):t.parent&&t.parent.parent&&(r=t.parent);break;case"right":case o.RIGHT:t.expanded||!t.children&&!t.lazy?t.children&&t.children.length&&(r=t.children[0]):(t.setExpanded(),r=t);break;case"up":case o.UP:this.visitRows((function(e){return r=e,!1}),{start:t,reverse:!0,includeSelf:!1});break;case"down":case o.DOWN:this.visitRows((function(e){return r=e,!1}),{start:t,includeSelf:!1});break;default:this.tree.warn("Unknown relation '"+n+"'.")}return r},generateFormElements:function(t,n,i){i=i||{};var r,o="string"===typeof t?t:"ft_"+this._id+"[]",s="string"===typeof n?n:"ft_"+this._id+"_active",a="fancytree_result_"+this._id,l=e("#"+a),u=3===this.options.selectMode&&!1!==i.stopOnParents;function c(t){l.append(e("",{type:"checkbox",name:o,value:t.key,checked:!0}))}l.length?l.empty():l=e("
        ",{id:a}).hide().insertAfter(this.$container),!1!==n&&this.activeNode&&l.append(e("",{type:"radio",name:s,value:this.activeNode.key,checked:!0})),i.filter?this.visit((function(e){var t=i.filter(e);if("skip"===t)return t;!1!==t&&c(e)})):!1!==t&&(r=this.getSelectedNodes(u),e.each(r,(function(e,t){c(t)})))},getActiveNode:function(){return this.activeNode},getFirstChild:function(){return this.rootNode.getFirstChild()},getFocusNode:function(){return this.focusNode},getOption:function(e){return this.widget.option(e)},getNodeByKey:function(e,t){var n,i;return!t&&(n=document.getElementById(this.options.idPrefix+e))?n.ftnode?n.ftnode:null:(t=t||this.rootNode,i=null,e=""+e,t.visit((function(t){if(t.key===e)return i=t,!1}),!0),i)},getRootNode:function(){return this.rootNode},getSelectedNodes:function(e){return this.rootNode.getSelectedNodes(e)},hasFocus:function(){return!!this._hasFocus},info:function(e){this.options.debugLevel>=3&&(Array.prototype.unshift.call(arguments,this.toString()),x("info",arguments))},isLoading:function(){var e=!1;return this.rootNode.visit((function(t){if(t._isLoading||t._requestId)return e=!0,!1}),!0),e},loadKeyPath:function(t,n){var i,r,o,s=this,a=new e.Deferred,l=this.getRootNode(),u=this.options.keyPathSeparator,c=[],d=e.extend({},n);for("function"===typeof n?i=n:n&&n.callback&&(i=n.callback),d.callback=function(e,t,n){i&&i.call(e,t,n),a.notifyWith(e,[{node:t,status:n}])},null==d.matchKey&&(d.matchKey=function(e,t){return e.key===t}),e.isArray(t)||(t=[t]),r=0;r=4&&window.console.time(this+" - "+e)},debugTimeEnd:function(e){this.options.debugLevel>=4&&window.console.timeEnd(this+" - "+e)},toDict:function(e,t){var n=this.rootNode.toDict(!0,t);return e?n:n.children},toString:function(){return"Fancytree@"+this._id},_triggerNodeEvent:function(e,t,n,i){var r=this._makeHookContext(t,n,i),o=this.widget._trigger(e,n,r);return!1!==o&&void 0!==r.result?r.result:o},_triggerTreeEvent:function(e,t,n){var i=this._makeHookContext(this,t,n),r=this.widget._trigger(e,t,i);return!1!==r&&void 0!==i.result?i.result:r},visit:function(e){return this.rootNode.visit(e,!1)},visitRows:function(e,t){if(!this.rootNode.hasChildren())return!1;if(t&&t.reverse)return delete t.reverse,this._visitRowsUp(e,t);var n,i,r,o,s=0,a=!1===(t=t||{}).includeSelf,l=!!t.includeHidden,u=!l&&this.enableFilter,c=t.start||this.rootNode.children[0];for(r=c.parent;r;){for(w((i=(o=r.children).indexOf(c)+s)>=0,"Could not find "+c+" in parent's children: "+r),n=i;n=2&&(Array.prototype.unshift.call(arguments,this.toString()),x("warn",arguments))}},e.extend(j.prototype,{nodeClick:function(e){var t,n,i=e.targetType,r=e.node;if("expander"===i){if(r.isLoading())return void r.debug("Got 2nd click while loading: ignored");this._callHook("nodeToggleExpanded",e)}else if("checkbox"===i)this._callHook("nodeToggleSelected",e),e.options.focusOnSelect&&this._callHook("nodeSetFocus",e,!0);else{if(n=!1,t=!0,r.folder)switch(e.options.clickFolderMode){case 2:n=!0,t=!1;break;case 3:t=!0,n=!0}t&&(this.nodeSetFocus(e),this._callHook("nodeSetActive",e,!0)),n&&this._callHook("nodeToggleExpanded",e)}},nodeCollapseSiblings:function(e,t){var n,i,r,o=e.node;if(o.parent)for(i=0,r=(n=o.parent.children).length;i500&&(l.lastQuicksearchTerm=""),l.lastQuicksearchTime=r,l.lastQuicksearchTerm+=f,(n=l.findNextNode(l.lastQuicksearchTerm,l.getActiveNode()))&&n.setActive(),void s.preventDefault();switch(i.eventToString(s)){case"+":case"=":l.nodeSetExpanded(t,!0);break;case"-":l.nodeSetExpanded(t,!1);break;case"space":a.isPagingNode()?l._triggerNodeEvent("clickPaging",t,s):i.evalOption("checkbox",a,a,u,!1)?l.nodeToggleSelected(t):l.nodeSetActive(t,!0);break;case"return":l.nodeSetActive(t,!0);break;case"home":case"end":case"backspace":case"left":case"right":case"up":case"down":a.navigate(s.which,m);break;default:y=!1}y&&s.preventDefault()},nodeLoadChildren:function(t,n){var i,r,o,s=null,u=!0,c=t.tree,d=t.node,h=d.parent,f="nodeLoadChildren",p=Date.now();return e.isFunction(n)&&(n=n.call(c,{type:"source"},t),w(!e.isFunction(n),"source callback must not return another function")),e.isFunction(n.then)?s=n:n.url?(i=e.extend({},t.options.ajax,n)).debugDelay?(r=i.debugDelay,delete i.debugDelay,e.isArray(r)&&(r=r[0]+Math.random()*(r[1]-r[0])),d.warn("nodeLoadChildren waiting debugDelay "+Math.round(r)+" ms ..."),s=e.Deferred((function(t){setTimeout((function(){e.ajax(i).done((function(){t.resolveWith(this,arguments)})).fail((function(){t.rejectWith(this,arguments)}))}),r)}))):s=e.ajax(i):e.isPlainObject(n)||e.isArray(n)?(s={then:function(e,t){e(n,null,null)}},u=!1):e.error("Invalid source type: "+n),d._requestId&&(d.warn("Recursive load request #"+p+" while #"+d._requestId+" is pending."),d._requestId=p),u&&(c.debugTime(f),c.nodeSetStatus(t,"loading")),o=new e.Deferred,s.then((function(i,r,s){var u,f;if("json"!==n.dataType&&"jsonp"!==n.dataType||"string"!==typeof i||e.error("Ajax request returned a string (did you get the JSON dataType wrong?)."),d._requestId&&d._requestId>p)o.rejectWith(this,[a]);else if(null!==d.parent||null===h){if(t.options.postProcess){try{(f=c._triggerNodeEvent("postProcess",t,t.originalEvent,{response:i,error:null,dataType:n.dataType})).error&&c.warn("postProcess returned error:",f)}catch(v){f={error:v,message:""+v,details:"postProcess failed"}}if(f.error)return u=e.isPlainObject(f.error)?f.error:{message:f.error},u=c._makeHookContext(d,null,u),void o.rejectWith(this,[u]);(e.isArray(f)||e.isPlainObject(f)&&e.isArray(f.children))&&(i=f)}else i&&i.hasOwnProperty("d")&&t.options.enableAspx&&(42===t.options.enableAspx&&c.warn("The default for enableAspx will change to `false` in the fututure. Pass `enableAspx: true` or implement postProcess to silence this warning."),i="string"===typeof i.d?e.parseJSON(i.d):i.d);o.resolveWith(this,[i])}else o.rejectWith(this,[l])}),(function(e,t,n){var i=c._makeHookContext(d,null,{error:e,args:Array.prototype.slice.call(arguments),message:n,details:e.status+": "+n});o.rejectWith(this,[i])})),o.done((function(n){var i,r,o;c.nodeSetStatus(t,"ok"),e.isPlainObject(n)?(w(d.isRootNode(),"source may only be an object for root nodes (expecting an array of child objects otherwise)"),w(e.isArray(n.children),"if an object is passed as source, it must contain a 'children' array (all other properties are added to 'tree.data')"),r=n,i=n.children,delete r.children,e.each(g,(function(e,t){void 0!==r[t]&&(c[t]=r[t],delete r[t])})),e.extend(c.data,r)):i=n,w(e.isArray(i),"expected array of children"),d._setChildren(i),c.options.nodata&&0===i.length&&(e.isFunction(c.options.nodata)?o=c.options.nodata.call(c,{type:"nodata"},t):!0===c.options.nodata&&d.isRootNode()?o=c.options.strings.noData:"string"===typeof c.options.nodata&&d.isRootNode()&&(o=c.options.nodata),o&&d.setStatus("nodata",o)),c._triggerNodeEvent("loadChildren",d)})).fail((function(e){var n;e!==a?e!==l?(e.node&&e.error&&e.message?n=e:"[object Object]"===(n=c._makeHookContext(d,null,{error:e,args:Array.prototype.slice.call(arguments),message:e?e.message||e.toString():""})).message&&(n.message=""),d.warn("Load children failed ("+n.message+")",n),!1!==c._triggerNodeEvent("loadError",n,null)&&c.nodeSetStatus(t,"error",n.message,n.details)):d.warn("Lazy parent node was removed while loading: discarding response."):d.warn("Ignored response for obsolete load request #"+p+" (expected #"+d._requestId+")")})).always((function(){d._requestId=null,u&&c.debugTimeEnd(f)})),o.promise()},nodeLoadKeyPath:function(e,t){},nodeRemoveChild:function(t,n){var i,r=t.node,o=e.extend({},t,{node:n}),s=r.children;if(1===s.length)return w(n===s[0],"invalid single child"),this.nodeRemoveChildren(t);this.activeNode&&(n===this.activeNode||this.activeNode.isDescendantOf(n))&&this.activeNode.setActive(!1),this.focusNode&&(n===this.focusNode||this.focusNode.isDescendantOf(n))&&(this.focusNode=null),this.nodeRemoveMarkup(o),this.nodeRemoveChildren(o),w((i=e.inArray(n,s))>=0,"invalid child"),r.triggerModifyChild("remove",n),n.visit((function(e){e.parent=null}),!0),this._callHook("treeRegisterNode",this,!1,n),s.splice(i,1)},nodeRemoveChildMarkup:function(t){var n=t.node;n.ul&&(n.isRootNode()?e(n.ul).empty():(e(n.ul).remove(),n.ul=null),n.visit((function(e){e.li=e.ul=null})))},nodeRemoveChildren:function(e){var t=e.tree,n=e.node;n.children&&(this.activeNode&&this.activeNode.isDescendantOf(n)&&this.activeNode.setActive(!1),this.focusNode&&this.focusNode.isDescendantOf(n)&&(this.focusNode=null),this.nodeRemoveChildMarkup(e),n.triggerModifyChild("remove",null),n.visit((function(e){e.parent=null,t._callHook("treeRegisterNode",t,!1,e)})),n.lazy?n.children=[]:n.children=null,n.isRootNode()||(n.expanded=!1),this.nodeRenderStatus(e))},nodeRemoveMarkup:function(t){var n=t.node;n.li&&(e(n.li).remove(),n.li=null),this.nodeRemoveChildMarkup(t)},nodeRender:function(t,n,i,r,o){var s,a,l,u,c,d,h,f=t.node,p=t.tree,v=t.options,g=v.aria,y=!1,m=f.parent,b=!m,_=f.children,x=null;if(!1!==p._enableUpdate&&(b||m.ul)){if(w(b||m.ul,"parent UL must exist"),b||(f.li&&(n||f.li.parentNode!==f.parent.ul)&&(f.li.parentNode===f.parent.ul?x=f.li.nextSibling:this.debug("Unlinking "+f+" (must be child of "+f.parent+")"),this.nodeRemoveMarkup(t)),f.li?this.nodeRenderStatus(t):(y=!0,f.li=document.createElement("li"),f.li.ftnode=f,f.key&&v.generateIds&&(f.li.id=v.idPrefix+f.key),f.span=document.createElement("span"),f.span.className="fancytree-node",g&&!f.tr&&e(f.li).attr("role","treeitem"),f.li.appendChild(f.span),this.nodeRenderTitle(t),v.createNode&&v.createNode.call(p,{type:"createNode"},t)),v.renderNode&&v.renderNode.call(p,{type:"renderNode"},t)),_){if(b||f.expanded||!0===i){for(f.ul||(f.ul=document.createElement("ul"),(!0!==r||o)&&f.expanded||(f.ul.style.display="none"),g&&e(f.ul).attr("role","group"),f.li?f.li.appendChild(f.ul):f.tree.$div.append(f.ul)),u=0,c=_.length;u1&&y.push("")):y.push(""),(o=i.evalOption("checkbox",h,h,p,!1))&&!h.isStatusNode()&&(u=v?" role='checkbox'":"",s="fancytree-checkbox",("radio"===o||h.parent&&h.parent.radiogroup)&&(s+=" fancytree-radio"),y.push("")),void 0!==h.data.iconClass&&(h.icon?e.error("'iconClass' node option is deprecated since v2.14.0: use 'icon' only instead"):(h.warn("'iconClass' node option is deprecated since v2.14.0: use 'icon' instead"),h.icon=h.data.iconClass)),!1!==(a=i.evalOption("icon",h,h,p,!0))&&(u=v?" role='presentation'":"",d=(d=i.evalOption("iconTooltip",h,h,p,null))?" title='"+P(d)+"'":"","string"===typeof a?r.test(a)?(a="/"===a.charAt(0)?a:(p.imagePath||"")+a,y.push("")):y.push(""):a.text?y.push(""+i.escapeHtml(a.text)+""):a.html?y.push(""+a.html+""):y.push("")),l="",p.renderTitle&&(l=p.renderTitle.call(f,{type:"renderTitle"},t)||""),l||(!0===(c=i.evalOption("tooltip",h,h,p,null))&&(c=h.title),l=""+(p.escapeTitles?i.escapeHtml(h.title):h.title)+""),y.push(l),h.span.innerHTML=y.join(""),this.nodeRenderStatus(t),p.enhanceTitle&&(t.$title=e(">span.fancytree-title",h.span),l=p.enhanceTitle.call(f,{type:"enhanceTitle"},t)||""))},nodeRenderStatus:function(t){var n,r=t.node,o=t.tree,s=t.options,a=r.hasChildren(),l=r.isLastSibling(),u=s.aria,c=s._classNames,d=[],h=r[o.statusClassPropName];h&&!1!==o._enableUpdate&&(u&&(n=e(r.tr||r.li)),d.push(c.node),o.activeNode===r&&d.push(c.active),o.focusNode===r&&d.push(c.focused),r.expanded&&d.push(c.expanded),u&&(!1===a?n.removeAttr("aria-expanded"):n.attr("aria-expanded",Boolean(r.expanded))),r.folder&&d.push(c.folder),!1!==a&&d.push(c.hasChildren),l&&d.push(c.lastsib),r.lazy&&null==r.children&&d.push(c.lazy),r.partload&&d.push(c.partload),r.partsel&&d.push(c.partsel),i.evalOption("unselectable",r,r,s,!1)&&d.push(c.unselectable),r._isLoading&&d.push(c.loading),r._error&&d.push(c.error),r.statusNodeType&&d.push(c.statusNodePrefix+r.statusNodeType),r.selected?(d.push(c.selected),u&&n.attr("aria-selected",!0)):u&&n.attr("aria-selected",!1),r.extraClasses&&d.push(r.extraClasses),!1===a?d.push(c.combinedExpanderPrefix+"n"+(l?"l":"")):d.push(c.combinedExpanderPrefix+(r.expanded?"e":"c")+(r.lazy&&null==r.children?"d":"")+(l?"l":"")),d.push(c.combinedIconPrefix+(r.expanded?"e":"c")+(r.folder?"f":"")),h.className=d.join(" "),r.li&&e(r.li).toggleClass(c.lastsib,l))},nodeSetActive:function(t,n,i){i=i||{};var r,o=t.node,s=t.tree,a=t.options,l=!0===i.noEvents,u=!0===i.noFocus,c=!1!==i.scrollIntoView;return o===s.activeNode===(n=!1!==n)?O(o):(c&&t.originalEvent&&e(t.originalEvent.target).is("a,:checkbox")&&(o.info("Not scrolling while clicking an embedded link."),c=!1),n&&!l&&!1===this._triggerNodeEvent("beforeActivate",o,t.originalEvent)?D(o,["rejected"]):(n?(s.activeNode&&(w(s.activeNode!==o,"node was active (inconsistency)"),r=e.extend({},t,{node:s.activeNode}),s.nodeSetActive(r,!1),w(null===s.activeNode,"deactivate was out of sync?")),a.activeVisible&&o.makeVisible({scrollIntoView:c}),s.activeNode=o,s.nodeRenderStatus(t),u||s.nodeSetFocus(t),l||s._triggerNodeEvent("activate",o,t.originalEvent)):(w(s.activeNode===o,"node was not active (inconsistency)"),s.activeNode=null,this.nodeRenderStatus(t),l||t.tree._triggerNodeEvent("deactivate",o,t.originalEvent)),O(o)))},nodeSetExpanded:function(t,n,i){i=i||{};var r,o,s,a,l,u,c=t.node,d=t.tree,h=t.options,f=!0===i.noAnimation,p=!0===i.noEvents;if(n=!1!==n,e(c.li).hasClass(h._classNames.animating))return c.warn("setExpanded("+n+") while animating: ignored."),D(c,["recursion"]);if(c.expanded&&n||!c.expanded&&!n)return O(c);if(n&&!c.lazy&&!c.hasChildren())return O(c);if(!n&&c.getLevel()=1||e(r.$container).focus(),s.autoScroll&&o.scrollIntoView(),this._callHook("nodeRenderStatus",t))},nodeSetSelected:function(e,t,n){n=n||{};var r=e.node,o=e.tree,s=e.options,a=!0===n.noEvents,l=r.parent;if(t=!1!==t,!i.evalOption("unselectable",r,r,s,!1)){if(r._lastSelectIntent=t,!!r.selected===t&&(3!==s.selectMode||!r.partsel||t))return t;if(!a&&!1===this._triggerNodeEvent("beforeSelect",r,e.originalEvent))return!!r.selected;t&&1===s.selectMode?(o.lastSelectedNode&&o.lastSelectedNode.setSelected(!1),r.selected=t):3!==s.selectMode||!l||l.radiogroup||r.radiogroup?l&&l.radiogroup?r.visitSiblings((function(e){e._changeSelectStatusAttrs(t&&e===r)}),!0):r.selected=t:(r.selected=t,r.fixSelection3AfterClick(n)),this.nodeRenderStatus(e),o.lastSelectedNode=t?r:null,a||o._triggerNodeEvent("select",e)}},nodeSetStatus:function(t,n,i,r){var o=t.node,s=t.tree;function a(){var e=o.children?o.children[0]:null;if(e&&e.isStatusNode()){try{o.ul&&(o.ul.removeChild(e.li),e.li=null)}catch(n){}1===o.children.length?o.children=[]:o.children.shift(),s._callHook("treeStructureChanged",t,"clearStatusNode")}}function l(n,i){var r=o.children?o.children[0]:null;return r&&r.isStatusNode()?(e.extend(r,n),r.statusNodeType=i,s._callHook("nodeRenderTitle",r)):(o._setChildren([n]),s._callHook("treeStructureChanged",t,"setStatusNode"),o.children[0].statusNodeType=i,s.render()),o.children[0]}switch(n){case"ok":a(),o._isLoading=!1,o._error=null,o.renderStatus();break;case"loading":o.parent||l({title:s.options.strings.loading+(i?" ("+i+")":""),checkbox:!1,tooltip:r},n),o._isLoading=!0,o._error=null,o.renderStatus();break;case"error":l({title:s.options.strings.loadError+(i?" ("+i+")":""),checkbox:!1,tooltip:r},n),o._isLoading=!1,o._error={message:i,details:r},o.renderStatus();break;case"nodata":l({title:i||s.options.strings.noData,checkbox:!1,tooltip:r},n),o._isLoading=!1,o._error=null,o.renderStatus();break;default:e.error("invalid node status "+n)}},nodeToggleExpanded:function(e){return this.nodeSetExpanded(e,!e.node.expanded)},nodeToggleSelected:function(e){var t=e.node,n=!t.selected;return t.partsel&&!t.selected&&!0===t._lastSelectIntent&&(n=!1,t.selected=!0),t._lastSelectIntent=n,this.nodeSetSelected(e,n)},treeClear:function(e){var t=e.tree;t.activeNode=null,t.focusNode=null,t.$div.find(">ul.fancytree-container").empty(),t.rootNode.children=null,t._callHook("treeStructureChanged",e,"clear")},treeCreate:function(e){},treeDestroy:function(e){this.$div.find(">ul.fancytree-container").remove(),this.$source&&this.$source.removeClass("fancytree-helper-hidden")},treeInit:function(t){var n=t.tree,i=n.options;n.$container.attr("tabindex",i.tabindex),e.each(g,(function(e,t){void 0!==i[t]&&(n.info("Move option "+t+" to tree"),n[t]=i[t],delete i[t])})),i.checkboxAutoHide&&n.$container.addClass("fancytree-checkbox-auto-hide"),i.rtl?n.$container.attr("DIR","RTL").addClass("fancytree-rtl"):n.$container.removeAttr("DIR").removeClass("fancytree-rtl"),i.aria&&(n.$container.attr("role","tree"),1!==i.selectMode&&n.$container.attr("aria-multiselectable",!0)),this.treeLoad(t)},treeLoad:function(t,n){var r,o,s,a=t.tree,l=t.widget.element,u=e.extend({},t,{node:this.rootNode});if(a.rootNode.children&&this.treeClear(t),n=n||this.options.source)"string"===typeof n&&e.error("Not implemented");else switch(o=l.data("type")||"html"){case"html":(s=l.find(">ul").not(".fancytree-container").first()).length?(s.addClass("ui-fancytree-source fancytree-helper-hidden"),n=e.ui.fancytree.parseHtml(s),this.data=e.extend(this.data,N(s))):(i.warn("No `source` option was passed and container does not contain `
          `: assuming `source: []`."),n=[]);break;case"json":n=e.parseJSON(l.text()),l.contents().filter((function(){return 3===this.nodeType})).remove(),e.isPlainObject(n)&&(w(e.isArray(n.children),"if an object is passed as source, it must contain a 'children' array (all other properties are added to 'tree.data')"),r=n,n=n.children,delete r.children,e.each(g,(function(e,t){void 0!==r[t]&&(a[t]=r[t],delete r[t])})),e.extend(a.data,r));break;default:e.error("Invalid data-type: "+o)}return a._triggerTreeEvent("preInit",null),this.nodeLoadChildren(u,n).done((function(){a._callHook("treeStructureChanged",t,"loadChildren"),a.render(),3===t.options.selectMode&&a.rootNode.fixSelection3FromEndNodes(),a.activeNode&&a.options.activeVisible&&a.activeNode.makeVisible(),a._triggerTreeEvent("init",null,{status:!0})})).fail((function(){a.render(),a._triggerTreeEvent("init",null,{status:!1})}))},treeRegisterNode:function(e,t,n){e.tree._callHook("treeStructureChanged",e,t?"addNode":"removeNode")},treeSetFocus:function(t,n,i){var r;(n=!1!==n)!==this.hasFocus()&&(this._hasFocus=n,!n&&this.focusNode?this.focusNode.setFocus(!1):!n||i&&i.calledByNode||e(this.$container).focus(),this.$container.toggleClass("fancytree-treefocus",n),this._triggerTreeEvent(n?"focusTree":"blurTree"),n&&!this.activeNode&&(r=this._lastMousedownNode||this.getFirstChild())&&r.setFocus())},treeSetOption:function(t,n,i){var r=t.tree,o=!0,s=!1,a=!1;switch(n){case"aria":case"checkbox":case"icon":case"minExpandLevel":case"tabindex":s=!0,a=!0;break;case"checkboxAutoHide":r.$container.toggleClass("fancytree-checkbox-auto-hide",!!i);break;case"escapeTitles":case"tooltip":a=!0;break;case"rtl":!1===i?r.$container.removeAttr("DIR").removeClass("fancytree-rtl"):r.$container.attr("DIR","RTL").addClass("fancytree-rtl"),a=!0;break;case"source":o=!1,r._callHook("treeLoad",r,i),a=!0}r.debug("set option "+n+"="+i+" <"+typeof i+">"),o&&(this.widget._super?this.widget._super.call(this.widget,n,i):e.Widget.prototype._setOption.call(this.widget,n,i)),s&&r._callHook("treeCreate",r),a&&r.render(!0,!1)},treeStructureChanged:function(e,t){}}),e.widget("ui.fancytree",{options:{activeVisible:!0,ajax:{type:"GET",cache:!1,dataType:"json"},aria:!0,autoActivate:!0,autoCollapse:!1,autoScroll:!1,checkbox:!1,clickFolderMode:4,copyFunctionsToData:!1,debugLevel:null,disabled:!1,enableAspx:42,escapeTitles:!1,extensions:[],focusOnSelect:!1,generateIds:!1,icon:!0,idPrefix:"ft_",keyboard:!0,keyPathSeparator:"/",minExpandLevel:1,nodata:!0,quicksearch:!1,rtl:!1,scrollOfs:{top:0,bottom:0},scrollParent:null,selectMode:2,strings:{loading:"Loading...",loadError:"Load error!",moreData:"More...",noData:"No data."},tabindex:"0",titlesTabbable:!1,toggleEffect:{effect:"slideToggle",duration:200},tooltip:!1,treeId:null,_classNames:{active:"fancytree-active",animating:"fancytree-animating",combinedExpanderPrefix:"fancytree-exp-",combinedIconPrefix:"fancytree-ico-",error:"fancytree-error",expanded:"fancytree-expanded",focused:"fancytree-focused",folder:"fancytree-folder",hasChildren:"fancytree-has-children",lastsib:"fancytree-lastsib",lazy:"fancytree-lazy",loading:"fancytree-loading",node:"fancytree-node",partload:"fancytree-partload",partsel:"fancytree-partsel",radio:"fancytree-radio",selected:"fancytree-selected",statusNodePrefix:"fancytree-statusnode-",unselectable:"fancytree-unselectable"},lazyLoad:null,postProcess:null},_deprecationWarning:function(e){var t=this.tree;t&&t.options.debugLevel>=3&&t.warn("$().fancytree('"+e+"') is deprecated (see https://wwwendt.de/tech/fancytree/doc/jsdoc/Fancytree_Widget.html")},_create:function(){this.tree=new j(this),this.$source=this.source||"json"===this.element.data("type")?this.element:this.element.find(">ul").first();var t,n,i,r=this.options,o=r.extensions,s=this.tree;for(i=0;i element.");else{if(o){if(r._getExpiringValue("focusin"))return void r.debug("Ignored double focusin.");r._setExpiringValue("focusin",!0,50),n||(n=r._getExpiringValue("mouseDownNode"))&&r.debug("Reconstruct mouse target for focusin from recent event.")}n?r._callHook("nodeSetFocus",r._makeHookContext(n,t),o):r.tbody&&e(t.target).parents("table.fancytree-container > thead").length?r.debug("Ignore focus event outside table body.",t):r._callHook("treeSetFocus",r,o)}})).on("selectstart"+o,"span.fancytree-title",(function(e){e.preventDefault()})).on("keydown"+o,(function(e){if(n.disabled||!1===n.keyboard)return!0;var t,i=r.focusNode,o=r._makeHookContext(i||r,e),s=r.phase;try{return r.phase="userEvent","preventNav"===(t=i?r._triggerNodeEvent("keydown",i,e):r._triggerTreeEvent("keydown",e))?t=!0:!1!==t&&(t=r._callHook("nodeKeydown",o)),t}finally{r.phase=s}})).on("mousedown"+o,(function(e){var t=i.getEventTarget(e);r._lastMousedownNode=t?t.node:null,r._setExpiringValue("mouseDownNode",r._lastMousedownNode)})).on("click"+o+" dblclick"+o,(function(e){if(n.disabled)return!0;var r,o=i.getEventTarget(e),s=o.node,a=t.tree,l=a.phase;if(!s)return!0;r=a._makeHookContext(s,e);try{switch(a.phase="userEvent",e.type){case"click":return r.targetType=o.type,s.isPagingNode()?!0===a._triggerNodeEvent("clickPaging",r,e):!1!==a._triggerNodeEvent("click",r,e)&&a._callHook("nodeClick",r);case"dblclick":return r.targetType=o.type,!1!==a._triggerNodeEvent("dblclick",r,e)&&a._callHook("nodeDblclick",r)}}finally{a.phase=l}}))},getActiveNode:function(){return this._deprecationWarning("getActiveNode"),this.tree.activeNode},getNodeByKey:function(e){return this._deprecationWarning("getNodeByKey"),this.tree.getNodeByKey(e)},getRootNode:function(){return this._deprecationWarning("getRootNode"),this.tree.rootNode},getTree:function(){return this._deprecationWarning("getTree"),this.tree}}),i=e.ui.fancytree,e.extend(e.ui.fancytree,{version:"2.38.0",buildType:"production",debugLevel:3,_nextId:1,_nextNodeKey:1,_extensions:{},_FancytreeClass:j,_FancytreeNodeClass:R,jquerySupports:{positionMyOfs:S(e.ui.version,1,9)},assert:function(e,t){return w(e,t)},createTree:function(t,n){var r=e(t).fancytree(n);return i.getTree(r)},debounce:function(e,t,n,i){var r;return 3===arguments.length&&"boolean"!==typeof n&&(i=n,n=!1),function(){var o=arguments;i=i||this,n&&!r&&t.apply(i,o),clearTimeout(r),r=setTimeout((function(){n||t.apply(i,o),r=null}),e)}},debug:function(t){e.ui.fancytree.debugLevel>=4&&x("log",arguments)},error:function(t){e.ui.fancytree.debugLevel>=1&&x("error",arguments)},escapeHtml:function(e){return(""+e).replace(o,(function(e){return u[e]}))},fixPositionOptions:function(t){if((t.offset||(""+t.my+t.at).indexOf("%")>=0)&&e.error("expected new position syntax (but '%' is not supported)"),!e.ui.fancytree.jquerySupports.positionMyOfs){var n=/(\w+)([+-]?\d+)?\s+(\w+)([+-]?\d+)?/.exec(t.my),i=/(\w+)([+-]?\d+)?\s+(\w+)([+-]?\d+)?/.exec(t.at),r=(n[2]?+n[2]:0)+(i[2]?+i[2]:0),o=(n[4]?+n[4]:0)+(i[4]?+i[4]:0);t=e.extend({},t,{my:n[1]+" "+n[3],at:i[1]+" "+i[3]}),(r||o)&&(t.offset=r+" "+o)}return t},getEventTarget:function(t){var n,r=t&&t.target?t.target.className:"",o={node:this.getNode(t.target),type:void 0};return/\bfancytree-title\b/.test(r)?o.type="title":/\bfancytree-expander\b/.test(r)?o.type=!1===o.node.hasChildren()?"prefix":"expander":/\bfancytree-checkbox\b/.test(r)?o.type="checkbox":/\bfancytree(-custom)?-icon\b/.test(r)?o.type="icon":/\bfancytree-node\b/.test(r)?o.type="title":t&&t.target&&((n=e(t.target)).is("ul[role=group]")?((o.node&&o.node.tree||i).debug("Ignoring click on outer UL."),o.node=null):n.closest(".fancytree-title").length?o.type="title":n.closest(".fancytree-checkbox").length?o.type="checkbox":n.closest(".fancytree-expander").length&&(o.type="expander")),o},getEventTargetType:function(e){return this.getEventTarget(e).type},getNode:function(t){if(t instanceof R)return t;for(t instanceof e?t=t[0]:void 0!==t.originalEvent&&(t=t.target);t;){if(t.ftnode)return t.ftnode;t=t.parentNode}return null},getTree:function(t){var n,i=t;return t instanceof j?t:(void 0===t&&(t=0),"number"===typeof t?t=e(".fancytree-container").eq(t):"string"===typeof t?(t=e("#ft-id-"+i).eq(0)).length||(t=e(i).eq(0)):t instanceof Element||t instanceof HTMLDocument?t=e(t):t instanceof e?t=t.eq(0):void 0!==t.originalEvent&&(t=e(t.target)),(n=(t=t.closest(":ui-fancytree")).data("ui-fancytree")||t.data("fancytree"))?n.tree:null)},evalOption:function(t,n,i,r,o){var s,a,l=n.tree,u=r[t],c=i[t];return e.isFunction(u)?(s={node:n,tree:l,widget:l.widget,options:l.widget.options,typeInfo:l.types[n.type]||{}},null==(a=u.call(l,{type:t},s))&&(a=c)):a=null==c?u:c,null==a&&(a=o),a},setSpanIcon:function(t,n,i){var r=e(t);"string"===typeof i?r.attr("class",n+" "+i):(i.text?r.text(""+i.text):i.html&&(t.innerHTML=i.html),r.attr("class",n+" "+(i.addClass||"")))},eventToString:function(e){var t=e.which,n=e.type,i=[];return e.altKey&&i.push("alt"),e.ctrlKey&&i.push("ctrl"),e.metaKey&&i.push("meta"),e.shiftKey&&i.push("shift"),"click"===n||"dblclick"===n?i.push(f[e.button]+n):"wheel"===n?i.push(n):c[t]||i.push(d[t]||String.fromCharCode(t).toLowerCase()),i.join("+")},info:function(t){e.ui.fancytree.debugLevel>=3&&x("info",arguments)},keyEventToString:function(e){return this.warn("keyEventToString() is deprecated: use eventToString()"),this.eventToString(e)},overrideMethod:function(t,n,i,r){var o,s=t[n]||e.noop;t[n]=function(){var e=r||this;try{return o=e._super,e._super=s,i.apply(e,arguments)}finally{e._super=o}}},parseHtml:function(t){var n,i,r,o,s,a,l,u,c=t.find(">li"),d=[];return c.each((function(){var c,h,f=e(this),g=f.find(">span",this).first(),m=g.length?null:f.find(">a").first(),_={tooltip:null,data:{}};for(g.length?_.title=g.html():m&&m.length?(_.title=m.html(),_.data.href=m.attr("href"),_.data.target=m.attr("target"),_.tooltip=m.attr("title")):(_.title=f.html(),(s=_.title.search(/
            =0&&(_.title=_.title.substring(0,s))),_.title=e.trim(_.title),o=0,a=p.length;oul").first()).length?_.children=e.ui.fancytree.parseHtml(t):_.children=_.lazy?void 0:null,d.push(_)})),d},registerExtension:function(t){w(null!=t.name,"extensions must have a `name` property."),w(null!=t.version,"extensions must have a `version` property."),e.ui.fancytree._extensions[t.name]=t},unescapeHtml:function(e){var t=document.createElement("div");return t.innerHTML=e,0===t.childNodes.length?"":t.childNodes[0].nodeValue},warn:function(t){e.ui.fancytree.debugLevel>=2&&x("warn",arguments)}}),e.ui.fancytree}function w(t,n){t||(n="Fancytree assertion failed"+(n=n?": "+n:""),e.ui.fancytree.error(n),e.error(n))}function x(e,t){var n,i,r=window.console?window.console[e]:null;if(r)try{r.apply(window.console,t)}catch(o){for(i="",n=0;na;return!0}function E(){var t,n,i,r,o,s=arguments[0]||{},a=1,l=arguments.length;if("object"===typeof s||e.isFunction(s)||(s={}),a===l)throw Error("need at least two args");for(;a=0}}function F(e){var t=new RegExp("^"+e,"i");return function(e){return t.test(e.title)}}function R(t,n){var r,o,s,a;for(this.parent=t,this.tree=t.tree,this.ul=null,this.li=null,this.statusNodeType=null,this._isLoading=!1,this._error=null,this.data={},r=0,o=y.length;rul.fancytree-container").remove();var n,r={tree:this};this.rootNode=new R(r,{title:"root",key:"root_"+this._id,children:null,expanded:!0}),this.rootNode.parent=null,n=e("
              ",{id:"ft-id-"+this._id,class:"ui-fancytree fancytree-container fancytree-plain"}).appendTo(this.$div),this.$container=n,this.rootNode.ul=n[0],null==this.options.debugLevel&&(this.options.debugLevel=i.debugLevel)}e.ui.fancytree.warn("Fancytree: ignored duplicate include")})?i.apply(t,r):i)||(e.exports=o)},function(e,t,n){var i;!function(t,n){"use strict";"object"===typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!==typeof window?window:this,(function(n,r){"use strict";var o=[],s=Object.getPrototypeOf,a=o.slice,l=o.flat?function(e){return o.flat.call(e)}:function(e){return o.concat.apply([],e)},u=o.push,c=o.indexOf,d={},h=d.toString,f=d.hasOwnProperty,p=f.toString,v=p.call(Object),g={},y=function(e){return"function"===typeof e&&"number"!==typeof e.nodeType&&"function"!==typeof e.item},m=function(e){return null!=e&&e===e.window},b=n.document,_={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var i,r,o=(n=n||b).createElement("script");if(o.text=e,t)for(i in _)(r=t[i]||t.getAttribute&&t.getAttribute(i))&&o.setAttribute(i,r);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"===typeof e||"function"===typeof e?d[h.call(e)]||"object":typeof e}var k="3.6.0",S=function e(t,n){return new e.fn.init(t,n)};function E(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!y(e)&&!m(e)&&("array"===n||0===t||"number"===typeof t&&t>0&&t-1 in e)}S.fn=S.prototype={jquery:k,constructor:S,length:0,toArray:function(){return a.call(this)},get:function(e){return null==e?a.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(e){return this.pushStack(S.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(a.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(n>=0&&n+~]|[\\x20\\t\\r\\n\\f])[\\x20\\t\\r\\n\\f]*"),V=new RegExp(I+"|>"),q=new RegExp(H),G=new RegExp("^"+L+"$"),$={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+z),PSEUDO:new RegExp("^"+H),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)","i"),bool:new RegExp("^(?:"+j+")$","i"),needsContext:new RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)","i")},X=/HTML$/i,K=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\([^\\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))},ie=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,re=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){h()},se=_e((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{A.apply(M=F.call(w.childNodes),w.childNodes),M[w.childNodes.length].nodeType}catch(Ee){A={apply:M.length?function(e,t){P.apply(e,F.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function ae(e,t,i,r){var o,a,u,c,d,p,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(i=i||[],"string"!==typeof e||!e||1!==w&&9!==w&&11!==w)return i;if(!r&&(h(t),t=t||f,v)){if(11!==w&&(d=J.exec(e)))if(o=d[1]){if(9===w){if(!(u=t.getElementById(o)))return i;if(u.id===o)return i.push(u),i}else if(m&&(u=m.getElementById(o))&&b(t,u)&&u.id===o)return i.push(u),i}else{if(d[2])return A.apply(i,t.getElementsByTagName(e)),i;if((o=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return A.apply(i,t.getElementsByClassName(o)),i}if(n.qsa&&!C[e+" "]&&(!g||!g.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(V.test(e)||U.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(ie,re):t.setAttribute("id",c=_)),a=(p=s(e)).length;a--;)p[a]=(c?"#"+c:":scope")+" "+be(p[a]);y=p.join(",")}try{return A.apply(i,m.querySelectorAll(y)),i}catch(x){C(e,!0)}finally{c===_&&t.removeAttribute("id")}}}return l(e.replace(Y,"$1"),t,i,r)}function le(){var e=[];return function t(n,r){return e.push(n+" ")>i.cacheLength&&delete t[e.shift()],t[n+" "]=r}}function ue(e){return e[_]=!0,e}function ce(e){var t=f.createElement("fieldset");try{return!!e(t)}catch(Ee){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),r=n.length;r--;)i.attrHandle[n[r]]=t}function he(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ve(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&se(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ge(e){return ue((function(t){return t=+t,ue((function(n,i){for(var r,o=e([],n.length,t),s=o.length;s--;)n[r=o[s]]&&(n[r]=!(i[r]=n[r]))}))}))}function ye(e){return e&&"undefined"!==typeof e.getElementsByTagName&&e}for(t in n=ae.support={},o=ae.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!X.test(t||n&&n.nodeName||"HTML")},h=ae.setDocument=function(e){var t,r,s=e?e.ownerDocument||e:w;return s!=f&&9===s.nodeType&&s.documentElement?(p=(f=s).documentElement,v=!o(f),w!=f&&(r=f.defaultView)&&r.top!==r&&(r.addEventListener?r.addEventListener("unload",oe,!1):r.attachEvent&&r.attachEvent("onunload",oe)),n.scope=ce((function(e){return p.appendChild(e).appendChild(f.createElement("div")),"undefined"!==typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.attributes=ce((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ce((function(e){return e.appendChild(f.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=Q.test(f.getElementsByClassName),n.getById=ce((function(e){return p.appendChild(e).id=_,!f.getElementsByName||!f.getElementsByName(_).length})),n.getById?(i.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},i.find.ID=function(e,t){if("undefined"!==typeof t.getElementById&&v){var n=t.getElementById(e);return n?[n]:[]}}):(i.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n="undefined"!==typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},i.find.ID=function(e,t){if("undefined"!==typeof t.getElementById&&v){var n,i,r,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(r=t.getElementsByName(e),i=0;o=r[i++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),i.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!==typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],r=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[r++];)1===n.nodeType&&i.push(n);return i}return o},i.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!==typeof t.getElementsByClassName&&v)return t.getElementsByClassName(e)},y=[],g=[],(n.qsa=Q.test(f.querySelectorAll))&&(ce((function(e){var t;p.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|"+j+")"),e.querySelectorAll("[id~="+_+"-]").length||g.push("~="),(t=f.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||g.push("\\[[\\x20\\t\\r\\n\\f]*name[\\x20\\t\\r\\n\\f]*=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+_+"+*").length||g.push(".#.+[+~]"),e.querySelectorAll("\\\f"),g.push("[\\r\\n\\f]")})),ce((function(e){e.innerHTML="";var t=f.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name[\\x20\\t\\r\\n\\f]*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),p.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")}))),(n.matchesSelector=Q.test(m=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",H)})),g=g.length&&new RegExp(g.join("|")),y=y.length&&new RegExp(y.join("|")),t=Q.test(p.compareDocumentPosition),b=t||Q.test(p.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},O=t?function(e,t){if(e===t)return d=!0,0;var i=!e.compareDocumentPosition-!t.compareDocumentPosition;return i||(1&(i=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===i?e==f||e.ownerDocument==w&&b(w,e)?-1:t==f||t.ownerDocument==w&&b(w,t)?1:c?R(c,e)-R(c,t):0:4&i?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,i=0,r=e.parentNode,o=t.parentNode,s=[e],a=[t];if(!r||!o)return e==f?-1:t==f?1:r?-1:o?1:c?R(c,e)-R(c,t):0;if(r===o)return he(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?he(s[i],a[i]):s[i]==w?-1:a[i]==w?1:0},f):f},ae.matches=function(e,t){return ae(e,null,null,t)},ae.matchesSelector=function(e,t){if(h(e),n.matchesSelector&&v&&!C[t+" "]&&(!y||!y.test(t))&&(!g||!g.test(t)))try{var i=m.call(e,t);if(i||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(Ee){C(t,!0)}return ae(t,f,null,[e]).length>0},ae.contains=function(e,t){return(e.ownerDocument||e)!=f&&h(e),b(e,t)},ae.attr=function(e,t){(e.ownerDocument||e)!=f&&h(e);var r=i.attrHandle[t.toLowerCase()],o=r&&D.call(i.attrHandle,t.toLowerCase())?r(e,t,!v):void 0;return void 0!==o?o:n.attributes||!v?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},ae.escape=function(e){return(e+"").replace(ie,re)},ae.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ae.uniqueSort=function(e){var t,i=[],r=0,o=0;if(d=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(O),d){for(;t=e[o++];)t===e[o]&&(r=i.push(o));for(;r--;)e.splice(i[r],1)}return c=null,e},r=ae.getText=function(e){var t,n="",i=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"===typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=r(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[i++];)n+=r(t);return n},(i=ae.selectors={cacheLength:50,createPseudo:ue,match:$,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]||ae.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]&&ae.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return $.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&q.test(n)&&(t=s(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=S[e+" "];return t||(t=new RegExp("(^|[\\x20\\t\\r\\n\\f])"+e+"("+I+"|$)"))&&S(e,(function(e){return t.test("string"===typeof e.className&&e.className||"undefined"!==typeof e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(i){var r=ae.attr(i,e);return null==r?"!="===t:!t||(r+="","="===t?r===n:"!="===t?r!==n:"^="===t?n&&0===r.indexOf(n):"*="===t?n&&r.indexOf(n)>-1:"$="===t?n&&r.slice(-n.length)===n:"~="===t?(" "+r.replace(B," ")+" ").indexOf(n)>-1:"|="===t&&(r===n||r.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,i,r){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===i&&0===r?function(e){return!!e.parentNode}:function(t,n,l){var u,c,d,h,f,p,v=o!==s?"nextSibling":"previousSibling",g=t.parentNode,y=a&&t.nodeName.toLowerCase(),m=!l&&!a,b=!1;if(g){if(o){for(;v;){for(h=t;h=h[v];)if(a?h.nodeName.toLowerCase()===y:1===h.nodeType)return!1;p=v="only"===e&&!p&&"nextSibling"}return!0}if(p=[s?g.firstChild:g.lastChild],s&&m){for(b=(f=(u=(c=(d=(h=g)[_]||(h[_]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===x&&u[1])&&u[2],h=f&&g.childNodes[f];h=++f&&h&&h[v]||(b=f=0)||p.pop();)if(1===h.nodeType&&++b&&h===t){c[e]=[x,f,b];break}}else if(m&&(b=f=(u=(c=(d=(h=t)[_]||(h[_]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===x&&u[1]),!1===b)for(;(h=++f&&h&&h[v]||(b=f=0)||p.pop())&&((a?h.nodeName.toLowerCase()!==y:1!==h.nodeType)||!++b||(m&&((c=(d=h[_]||(h[_]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]=[x,b]),h!==t)););return(b-=r)===i||b%i===0&&b/i>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ae.error("unsupported pseudo: "+e);return r[_]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ue((function(e,n){for(var i,o=r(e,t),s=o.length;s--;)e[i=R(e,o[s])]=!(n[i]=o[s])})):function(e){return r(e,0,n)}):r}},pseudos:{not:ue((function(e){var t=[],n=[],i=a(e.replace(Y,"$1"));return i[_]?ue((function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))})):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}})),has:ue((function(e){return function(t){return ae(e,t).length>0}})),contains:ue((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||r(t)).indexOf(e)>-1}})),lang:ue((function(e){return G.test(e||"")||ae.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=v?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===p},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ve(!1),disabled:ve(!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!i.pseudos.empty(e)},header:function(e){return Z.test(e.nodeName)},input:function(e){return K.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:ge((function(){return[0]})),last:ge((function(e,t){return[t-1]})),eq:ge((function(e,t,n){return[n<0?n+t:n]})),even:ge((function(e,t){for(var n=0;nt?t:n;--i>=0;)e.push(i);return e})),gt:ge((function(e,t,n){for(var i=n<0?n+t:n;++i1?function(t,n,i){for(var r=e.length;r--;)if(!e[r](t,n,i))return!1;return!0}:e[0]}function xe(e,t,n,i,r){for(var o,s=[],a=0,l=e.length,u=null!=t;a-1&&(o[u]=!(s[u]=d))}}else y=xe(y===s?y.splice(p,y.length):y),r?r(null,s,y,l):A.apply(s,y)}))}function Se(e){for(var t,n,r,o=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],l=s?1:0,c=_e((function(e){return e===t}),a,!0),d=_e((function(e){return R(t,e)>-1}),a,!0),h=[function(e,n,i){var r=!s&&(i||n!==u)||((t=n).nodeType?c(e,n,i):d(e,n,i));return t=null,r}];l1&&we(h),l>1&&be(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(Y,"$1"),n,l0,r=e.length>0,o=function(o,s,a,l,c){var d,p,g,y=0,m="0",b=o&&[],_=[],w=u,k=o||r&&i.find.TAG("*",c),S=x+=null==w?1:Math.random()||.1,E=k.length;for(c&&(u=s==f||s||c);m!==E&&null!=(d=k[m]);m++){if(r&&d){for(p=0,s||d.ownerDocument==f||(h(d),a=!v);g=e[p++];)if(g(d,s||f,a)){l.push(d);break}c&&(x=S)}n&&((d=!g&&d)&&y--,o&&b.push(d))}if(y+=m,n&&m!==y){for(p=0;g=t[p++];)g(b,_,s,a);if(o){if(y>0)for(;m--;)b[m]||_[m]||(_[m]=N.call(l));_=xe(_)}A.apply(l,_),c&&!o&&_.length>0&&y+t.length>1&&ae.uniqueSort(l)}return c&&(x=S,u=w),b};return n?ue(o):o}(o,r))).selector=e}return a},l=ae.select=function(e,t,n,r){var o,l,u,c,d,h="function"===typeof e&&e,f=!r&&s(e=h.selector||e);if(n=n||[],1===f.length){if((l=f[0]=f[0].slice(0)).length>2&&"ID"===(u=l[0]).type&&9===t.nodeType&&v&&i.relative[l[1].type]){if(!(t=(i.find.ID(u.matches[0].replace(te,ne),t)||[])[0]))return n;h&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(o=$.needsContext.test(e)?0:l.length;o--&&(u=l[o],!i.relative[c=u.type]);)if((d=i.find[c])&&(r=d(u.matches[0].replace(te,ne),ee.test(l[0].type)&&ye(t.parentNode)||t))){if(l.splice(o,1),!(e=r.length&&be(l)))return A.apply(n,r),n;break}}return(h||a(e,f))(r,t,!v,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=_.split("").sort(O).join("")===_,n.detectDuplicates=!!d,h(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(f.createElement("fieldset"))})),ce((function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")}))||de("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||de("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute("disabled")}))||de(j,(function(e,t,n){var i;if(!n)return!0===e[t]?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null})),ae}(n);S.find=T,(S.expr=T.selectors)[":"]=S.expr.pseudos,S.uniqueSort=S.unique=T.uniqueSort,S.text=T.getText,S.isXMLDoc=T.isXML,S.contains=T.contains,S.escapeSelector=T.escape;var C=function(e,t,n){for(var i=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&S(e).is(n))break;i.push(e)}return i},O=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=S.expr.match.needsContext;function M(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 P(e,t,n){return y(t)?S.grep(e,(function(e,i){return!!t.call(e,i,e)!==n})):t.nodeType?S.grep(e,(function(e){return e===t!==n})):"string"!==typeof t?S.grep(e,(function(e){return c.call(t,e)>-1!==n})):S.filter(t,e,n)}S.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?S.find.matchesSelector(i,e)?[i]:[]:S.find.matches(e,S.grep(t,(function(e){return 1===e.nodeType})))},S.fn.extend({find:function(e){var t,n,i=this.length,r=this;if("string"!==typeof e)return this.pushStack(S(e).filter((function(){for(t=0;t1?S.uniqueSort(n):n},filter:function(e){return this.pushStack(P(this,e||[],!1))},not:function(e){return this.pushStack(P(this,e||[],!0))},is:function(e){return!!P(this,"string"===typeof e&&D.test(e)?S(e):e||[],!1).length}});var A,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var i,r;if(!e)return this;if(n=n||A,"string"===typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:F.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:b,!0)),N.test(i[1])&&S.isPlainObject(t))for(i in t)y(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(r=b.getElementById(i[2]))&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,A=S(b);var R=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function I(e,t){for(;(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-1:1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?S.uniqueSort(o):o)},index:function(e){return e?"string"===typeof e?c.call(S(e),this[0]):c.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 C(e,"parentNode")},parentsUntil:function(e,t,n){return C(e,"parentNode",n)},next:function(e){return I(e,"nextSibling")},prev:function(e){return I(e,"previousSibling")},nextAll:function(e){return C(e,"nextSibling")},prevAll:function(e){return C(e,"previousSibling")},nextUntil:function(e,t,n){return C(e,"nextSibling",n)},prevUntil:function(e,t,n){return C(e,"previousSibling",n)},siblings:function(e){return O((e.parentNode||{}).firstChild,e)},children:function(e){return O(e.firstChild)},contents:function(e){return null!=e.contentDocument&&s(e.contentDocument)?e.contentDocument:(M(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},(function(e,t){S.fn[e]=function(n,i){var r=S.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"===typeof i&&(r=S.filter(i,r)),this.length>1&&(j[e]||S.uniqueSort(r),R.test(e)&&r.reverse()),this.pushStack(r)}}));var L=/[^\x20\t\r\n\f]+/g;function z(e){return e}function H(e){throw e}function B(e,t,n,i){var r;try{e&&y(r=e.promise)?r.call(e).done(t).fail(n):e&&y(r=e.then)?r.call(e,t,n):t.apply(void 0,[e].slice(i))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(e){e="string"===typeof e?function(e){var t={};return S.each(e.match(L)||[],(function(e,n){t[n]=!0})),t}(e):S.extend({},e);var t,n,i,r,o=[],s=[],a=-1,l=function(){for(r=r||e.once,i=t=!0;s.length;a=-1)for(n=s.shift();++a-1;)o.splice(n,1),n<=a&&a--})),this},has:function(e){return e?S.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return r=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return r=s=[],n||t||(o=n=""),this},locked:function(){return!!r},fireWith:function(e,n){return r||(n=[e,(n=n||[]).slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!i}};return u},S.extend({Deferred:function(e){var t=[["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",r={state:function(){return i},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return r.then(null,e)},pipe:function(){var e=arguments;return S.Deferred((function(n){S.each(t,(function(t,i){var r=y(e[i[4]])&&e[i[4]];o[i[1]]((function(){var e=r&&r.apply(this,arguments);e&&y(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[i[0]+"With"](this,r?[e]:arguments)}))})),e=null})).promise()},then:function(e,i,r){var o=0;function s(e,t,i,r){return function(){var a=this,l=arguments,u=function(){var n,u;if(!(e=o&&(i!==H&&(a=void 0,l=[n]),t.rejectWith(a,l))}};e?c():(S.Deferred.getStackHook&&(c.stackTrace=S.Deferred.getStackHook()),n.setTimeout(c))}}return S.Deferred((function(n){t[0][3].add(s(0,n,y(r)?r:z,n.notifyWith)),t[1][3].add(s(0,n,y(e)?e:z)),t[2][3].add(s(0,n,y(i)?i:H))})).promise()},promise:function(e){return null!=e?S.extend(e,r):r}},o={};return S.each(t,(function(e,n){var s=n[2],a=n[5];r[n[1]]=s.add,a&&s.add((function(){i=a}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),s.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=s.fireWith})),r.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,i=Array(n),r=a.call(arguments),o=S.Deferred(),s=function(e){return function(n){i[e]=this,r[e]=arguments.length>1?a.call(arguments):n,--t||o.resolveWith(i,r)}};if(t<=1&&(B(e,o.done(s(n)).resolve,o.reject,!t),"pending"===o.state()||y(r[n]&&r[n].then)))return o.then();for(;n--;)B(r[n],s(n),o.reject);return o.promise()}});var Y=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&Y.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){n.setTimeout((function(){throw e}))};var W=S.Deferred();function U(){b.removeEventListener("DOMContentLoaded",U),n.removeEventListener("load",U),S.ready()}S.fn.ready=function(e){return W.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,!0!==e&&--S.readyWait>0||W.resolveWith(b,[S]))}}),S.ready.then=W.then,"complete"===b.readyState||"loading"!==b.readyState&&!b.documentElement.doScroll?n.setTimeout(S.ready):(b.addEventListener("DOMContentLoaded",U),n.addEventListener("load",U));var V=function e(t,n,i,r,o,s,a){var l=0,u=t.length,c=null==i;if("object"===x(i))for(l in o=!0,i)e(t,n,l,i[l],!0,s,a);else if(void 0!==r&&(o=!0,y(r)||(a=!0),c&&(a?(n.call(t,r),n=null):(c=n,n=function(e,t,n){return c.call(S(e),n)})),n))for(;l1,null,!0)},removeData:function(e){return this.each((function(){J.remove(this,e)}))}}),S.extend({queue:function(e,t,n){var i;if(e)return t=(t||"fx")+"queue",i=Q.get(e,t),n&&(!i||Array.isArray(n)?i=Q.access(e,t,S.makeArray(n)):i.push(n)),i||[]},dequeue:function(e,t){var n=S.queue(e,t=t||"fx"),i=n.length,r=n.shift(),o=S._queueHooks(e,t);"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===t&&n.unshift("inprogress"),delete o.stop,r.call(e,(function(){S.dequeue(e,t)}),o)),!i&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:S.Callbacks("once memory").add((function(){Q.remove(e,[t+"queue",n])}))})}}),S.fn.extend({queue:function(e,t){var n=2;return"string"!==typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,ge=/^$|^module$|\/(?:java|ecma)script/i;!function(){var e=b.createDocumentFragment().appendChild(b.createElement("div")),t=b.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),g.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",g.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,e.innerHTML="",g.option=!!e.lastChild}();var ye={thead:[1,"","
              "],col:[2,"","
              "],tr:[2,"","
              "],td:[3,"","
              "],_default:[0,"",""]};function me(e,t){var n;return n="undefined"!==typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!==typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&M(e,t)?S.merge([e],n):n}function be(e,t){for(var n=0,i=e.length;n",""]);var _e=/<|&#?\w+;/;function we(e,t,n,i,r){for(var o,s,a,l,u,c,d=t.createDocumentFragment(),h=[],f=0,p=e.length;f-1)r&&r.push(o);else if(u=ae(o),s=me(d.appendChild(o),"script"),u&&be(s),n)for(c=0;o=s[c++];)ge.test(o.type||"")&&n.push(o);return d}var xe=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ee(e,t){return e===function(){try{return b.activeElement}catch(e){}}()===("focus"===t)}function Te(e,t,n,i,r,o){var s,a;if("object"===typeof t){for(a in"string"!==typeof n&&(i=i||n,n=void 0),t)Te(e,a,n,i,t[a],o);return e}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"===typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=Se;else if(!r)return e;return 1===o&&(s=r,(r=function(e){return S().off(e),s.apply(this,arguments)}).guid=s.guid||(s.guid=S.guid++)),e.each((function(){S.event.add(this,t,r,i,n)}))}function Ce(e,t,n){n?(Q.set(e,t,!1),S.event.add(e,t,{namespace:!1,handler:function(e){var i,r,o=Q.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(S.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=a.call(arguments),Q.set(this,t,o),i=n(this,t),this[t](),o!==(r=Q.get(this,t))||i?Q.set(this,t,!1):r={},o!==r)return e.stopImmediatePropagation(),e.preventDefault(),r&&r.value}else o.length&&(Q.set(this,t,{value:S.event.trigger(S.extend(o[0],S.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,t)&&S.event.add(e,t,ke)}S.event={global:{},add:function(e,t,n,i,r){var o,s,a,l,u,c,d,h,f,p,v,g=Q.get(e);if(K(e))for(n.handler&&(n=(o=n).handler,r=o.selector),r&&S.find.matchesSelector(se,r),n.guid||(n.guid=S.guid++),(l=g.events)||(l=g.events=Object.create(null)),(s=g.handle)||(s=g.handle=function(t){return S.event.triggered!==t.type?S.event.dispatch.apply(e,arguments):void 0}),u=(t=(t||"").match(L)||[""]).length;u--;)f=v=(a=xe.exec(t[u])||[])[1],p=(a[2]||"").split(".").sort(),f&&(d=S.event.special[f]||{},f=(r?d.delegateType:d.bindType)||f,d=S.event.special[f]||{},c=S.extend({type:f,origType:v,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&S.expr.match.needsContext.test(r),namespace:p.join(".")},o),(h=l[f])||((h=l[f]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,i,p,s)||e.addEventListener&&e.addEventListener(f,s)),d.add&&(d.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),r?h.splice(h.delegateCount++,0,c):h.push(c),S.event.global[f]=!0)},remove:function(e,t,n,i,r){var o,s,a,l,u,c,d,h,f,p,v,g=Q.hasData(e)&&Q.get(e);if(g&&(l=g.events)){for(u=(t=(t||"").match(L)||[""]).length;u--;)if(f=v=(a=xe.exec(t[u])||[])[1],p=(a[2]||"").split(".").sort(),f){for(d=S.event.special[f]||{},h=l[f=(i?d.delegateType:d.bindType)||f]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=h.length;o--;)c=h[o],!r&&v!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(h.splice(o,1),c.selector&&h.delegateCount--,d.remove&&d.remove.call(e,c));s&&!h.length&&(d.teardown&&!1!==d.teardown.call(e,p,g.handle)||S.removeEvent(e,f,g.handle),delete l[f])}else for(f in l)S.event.remove(e,f+t[u],n,i,!0);S.isEmptyObject(l)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,i,r,o,s,a=new Array(arguments.length),l=S.event.fix(e),u=(Q.get(this,"events")||Object.create(null))[l.type]||[],c=S.event.special[l.type]||{};for(a[0]=l,t=1;t=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(o=[],s={},n=0;n-1:S.find(r,this,null,[u]).length),s[r]&&o.push(i);o.length&&a.push({elem:u,handlers:o})}return u=this,l\s*$/g;function Ne(e,t){return M(e,"table")&&M(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ae(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,i,r,o,s,a;if(1===t.nodeType){if(Q.hasData(e)&&(a=Q.get(e).events))for(r in Q.remove(t,"handle events"),a)for(n=0,i=a[r].length;n1&&"string"===typeof p&&!g.checkClone&&De.test(p))return e.each((function(r){var o=e.eq(r);v&&(t[0]=p.call(this,r,o.html())),je(o,t,n,i)}));if(h&&(o=(r=we(t,e[0].ownerDocument,!1,e,i)).firstChild,1===r.childNodes.length&&(r=o),o||i)){for(a=(s=S.map(me(r,"script"),Pe)).length;d0&&be(s,!l&&me(e,"script")),a},cleanData:function(e){for(var t,n,i,r=S.event.special,o=0;void 0!==(n=e[o]);o++)if(K(n)){if(t=n[Q.expando]){if(t.events)for(i in t.events)r[i]?S.event.remove(n,i):S.removeEvent(n,i,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return V(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 je(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ne(this,e).appendChild(e)}))},prepend:function(){return je(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Ne(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return je(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return je(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(me(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 V(this,(function(e){var t=this[0]||{},n=0,i=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"===typeof e&&!Oe.test(e)&&!ye[(ve.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-l-a-.5))||0),l}function et(e,t,n){var i=ze(e),r=(!g.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,i),o=r,s=Ye(e,t,i),a="offset"+t[0].toUpperCase()+t.slice(1);if(Le.test(s)){if(!n)return s;s="auto"}return(!g.boxSizingReliable()&&r||!g.reliableTrDimensions()&&M(e,"tr")||"auto"===s||!parseFloat(s)&&"inline"===S.css(e,"display",!1,i))&&e.getClientRects().length&&(r="border-box"===S.css(e,"boxSizing",!1,i),(o=a in e)&&(s=e[a])),(s=parseFloat(s)||0)+Je(e,t,n||(r?"border":"content"),o,i,s)+"px"}function tt(e,t,n,i,r){return new tt.prototype.init(e,t,n,i,r)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ye(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,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,o,s,a=X(t),l=Xe.test(t),u=e.style;if(l||(t=Ge(a)),s=S.cssHooks[t]||S.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(r=s.get(e,!1,i))?r:u[t];"string"===(o=typeof n)&&(r=re.exec(n))&&r[1]&&(n=ce(e,t,r),o="number"),null!=n&&n===n&&("number"!==o||l||(n+=r&&r[3]||(S.cssNumber[a]?"":"px")),g.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,i))||(l?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,i){var r,o,s,a=X(t);return Xe.test(t)||(t=Ge(a)),(s=S.cssHooks[t]||S.cssHooks[a])&&"get"in s&&(r=s.get(e,!0,n)),void 0===r&&(r=Ye(e,t,i)),"normal"===r&&t in Ze&&(r=Ze[t]),""===n||n?(o=parseFloat(r),!0===n||isFinite(o)?o||0:r):r}}),S.each(["height","width"],(function(e,t){S.cssHooks[t]={get:function(e,n,i){if(n)return!$e.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,i):He(e,Ke,(function(){return et(e,t,i)}))},set:function(e,n,i){var r,o=ze(e),s=!g.scrollboxSize()&&"absolute"===o.position,a=(s||i)&&"border-box"===S.css(e,"boxSizing",!1,o),l=i?Je(e,t,i,a,o):0;return a&&s&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Je(e,t,"border",!1,o)-.5)),l&&(r=re.exec(n))&&"px"!==(r[3]||"px")&&(e.style[t]=n,n=S.css(e,t)),Qe(0,n,l)}}})),S.cssHooks.marginLeft=We(g.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Ye(e,"marginLeft"))||e.getBoundingClientRect().left-He(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),S.each({margin:"",padding:"",border:"Width"},(function(e,t){S.cssHooks[e+t]={expand:function(n){for(var i=0,r={},o="string"===typeof n?n.split(" "):[n];i<4;i++)r[e+oe[i]+t]=o[i]||o[i-2]||o[0];return r}},"margin"!==e&&(S.cssHooks[e+t].set=Qe)})),S.fn.extend({css:function(e,t){return V(this,(function(e,t,n){var i,r,o={},s=0;if(Array.isArray(t)){for(i=ze(e),r=t.length;s1)}}),S.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,i,r,o){this.elem=e,this.prop=n,this.easing=r||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.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):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.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[Ge(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.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=tt.prototype.init).step={};var nt,it,rt=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function st(){it&&(!1===b.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(st):n.setTimeout(st,S.fx.interval),S.fx.tick())}function at(){return n.setTimeout((function(){nt=void 0})),nt=Date.now()}function lt(e,t){var n,i=0,r={height:e};for(t=t?1:0;i<4;i+=2-t)r["margin"+(n=oe[i])]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function ut(e,t,n){for(var i,r=(ct.tweeners[t]||[]).concat(ct.tweeners["*"]),o=0,s=r.length;o1)},removeAttr:function(e){return this.each((function(){S.removeAttr(this,e)}))}}),S.extend({attr:function(e,t,n){var i,r,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)||(r=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:(e.setAttribute(t,n+""),n):r&&"get"in r&&null!==(i=r.get(e,t))?i:null==(i=S.find.attr(e,t))?void 0:i)},attrHooks:{type:{set:function(e,t){if(!g.radioValue&&"radio"===t&&M(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,i=0,r=t&&t.match(L);if(r&&1===e.nodeType)for(;n=r[i++];)e.removeAttribute(n)}}),dt={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 n=ht[t]||S.find.attr;ht[t]=function(e,t,i){var r,o,s=t.toLowerCase();return i||(o=ht[s],ht[s]=r,r=null!=n(e,t,i)?s:null,ht[s]=o),r}}));var ft=/^(?:input|select|textarea|button)$/i,pt=/^(?:a|area)$/i;function vt(e){return(e.match(L)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function yt(e){return Array.isArray(e)?e:"string"===typeof e&&e.match(L)||[]}S.fn.extend({prop:function(e,t){return V(this,S.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[S.propFix[e]||e]}))}}),S.extend({prop:function(e,t,n){var i,r,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,r=S.propHooks[t]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:e[t]=n:r&&"get"in r&&null!==(i=r.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ft.test(e.nodeName)||pt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.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(e){var t,n,i,r,o,s,a,l=0;if(y(e))return this.each((function(t){S(this).addClass(e.call(this,t,gt(this)))}));if((t=yt(e)).length)for(;n=this[l++];)if(r=gt(n),i=1===n.nodeType&&" "+vt(r)+" "){for(s=0;o=t[s++];)i.indexOf(" "+o+" ")<0&&(i+=o+" ");r!==(a=vt(i))&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,i,r,o,s,a,l=0;if(y(e))return this.each((function(t){S(this).removeClass(e.call(this,t,gt(this)))}));if(!arguments.length)return this.attr("class","");if((t=yt(e)).length)for(;n=this[l++];)if(r=gt(n),i=1===n.nodeType&&" "+vt(r)+" "){for(s=0;o=t[s++];)for(;i.indexOf(" "+o+" ")>-1;)i=i.replace(" "+o+" "," ");r!==(a=vt(i))&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e,i="string"===n||Array.isArray(e);return"boolean"===typeof t&&i?t?this.addClass(e):this.removeClass(e):y(e)?this.each((function(n){S(this).toggleClass(e.call(this,n,gt(this),t),t)})):this.each((function(){var t,r,o,s;if(i)for(r=0,o=S(this),s=yt(e);t=s[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=gt(this))&&Q.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Q.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,i=0;for(t=" "+e+" ";n=this[i++];)if(1===n.nodeType&&(" "+vt(gt(n))+" ").indexOf(t)>-1)return!0;return!1}});var mt=/\r/g;S.fn.extend({val:function(e){var t,n,i,r=this[0];return arguments.length?(i=y(e),this.each((function(n){var r;1===this.nodeType&&(null==(r=i?e.call(this,n,S(this).val()):e)?r="":"number"===typeof r?r+="":Array.isArray(r)&&(r=S.map(r,(function(e){return null==e?"":e+""}))),(t=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,r,"value")||(this.value=r))}))):r?(t=S.valHooks[r.type]||S.valHooks[r.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(r,"value"))?n:"string"===typeof(n=r.value)?n.replace(mt,""):null==n?"":n: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,i,r=e.options,o=e.selectedIndex,s="select-one"===e.type,a=s?null:[],l=s?o+1:r.length;for(i=o<0?l:s?o:0;i-1)&&(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=S.inArray(S(e).val(),t)>-1}},g.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),g.focusin="onfocusin"in n;var bt=/^(?:focusinfocus|focusoutblur)$/,_t=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,i,r){var o,s,a,l,u,c,d,h,p=[i||b],v=f.call(e,"type")?e.type:e,g=f.call(e,"namespace")?e.namespace.split("."):[];if(s=h=a=i=i||b,3!==i.nodeType&&8!==i.nodeType&&!bt.test(v+S.event.triggered)&&(v.indexOf(".")>-1&&(g=v.split("."),v=g.shift(),g.sort()),u=v.indexOf(":")<0&&"on"+v,(e=e[S.expando]?e:new S.Event(v,"object"===typeof e&&e)).isTrigger=r?2:3,e.namespace=g.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=i),t=null==t?[e]:S.makeArray(t,[e]),d=S.event.special[v]||{},r||!d.trigger||!1!==d.trigger.apply(i,t))){if(!r&&!d.noBubble&&!m(i)){for(l=d.delegateType||v,bt.test(l+v)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(i.ownerDocument||b)&&p.push(a.defaultView||a.parentWindow||n)}for(o=0;(s=p[o++])&&!e.isPropagationStopped();)h=s,e.type=o>1?l:d.bindType||v,(c=(Q.get(s,"events")||Object.create(null))[e.type]&&Q.get(s,"handle"))&&c.apply(s,t),(c=u&&s[u])&&c.apply&&K(s)&&(e.result=c.apply(s,t),!1===e.result&&e.preventDefault());return e.type=v,r||e.isDefaultPrevented()||d._default&&!1!==d._default.apply(p.pop(),t)||!K(i)||u&&y(i[v])&&!m(i)&&((a=i[u])&&(i[u]=null),S.event.triggered=v,e.isPropagationStopped()&&h.addEventListener(v,_t),i[v](),e.isPropagationStopped()&&h.removeEventListener(v,_t),S.event.triggered=void 0,a&&(i[u]=a)),e.result}},simulate:function(e,t,n){var i=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(i,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)}}),g.focusin||S.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){S.event.simulate(t,e.target,S.event.fix(e))};S.event.special[t]={setup:function(){var i=this.ownerDocument||this.document||this,r=Q.access(i,t);r||i.addEventListener(e,n,!0),Q.access(i,t,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this.document||this,r=Q.access(i,t)-1;r?Q.access(i,t,r):(i.removeEventListener(e,n,!0),Q.remove(i,t))}}}));var wt=n.location,xt={guid:Date.now()},kt=/\?/;S.parseXML=function(e){var t,i;if(!e||"string"!==typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(r){}return i=t&&t.getElementsByTagName("parsererror")[0],t&&!i||S.error("Invalid XML: "+(i?S.map(i.childNodes,(function(e){return e.textContent})).join("\n"):e)),t};var St=/\[\]$/,Et=/\r?\n/g,Tt=/^(?:submit|button|image|reset|file)$/i,Ct=/^(?:input|select|textarea|keygen)/i;function Ot(e,t,n,i){var r;if(Array.isArray(t))S.each(t,(function(t,r){n||St.test(e)?i(e,r):Ot(e+"["+("object"===typeof r&&null!=r?t:"")+"]",r,n,i)}));else if(n||"object"!==x(t))i(e,t);else for(r in t)Ot(e+"["+r+"]",t[r],n,i)}S.param=function(e,t){var n,i=[],r=function(e,t){var n=y(t)?t():t;i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,(function(){r(this.name,this.value)}));else for(n in e)Ot(n,e[n],t,r);return i.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")&&Ct.test(this.nodeName)&&!Tt.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(Et,"\r\n")}})):{name:t.name,value:n.replace(Et,"\r\n")}})).get()}});var Dt=/%20/g,Mt=/#.*$/,Nt=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,At=/^(?:GET|HEAD)$/,Ft=/^\/\//,Rt={},jt={},It="*/".concat("*"),Lt=b.createElement("a");function zt(e){return function(t,n){"string"!==typeof t&&(n=t,t="*");var i,r=0,o=t.toLowerCase().match(L)||[];if(y(n))for(;i=o[r++];)"+"===i[0]?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function Ht(e,t,n,i){var r={},o=e===jt;function s(a){var l;return r[a]=!0,S.each(e[a]||[],(function(e,a){var u=a(t,n,i);return"string"!==typeof u||o||r[u]?o?!(l=u):void 0:(t.dataTypes.unshift(u),s(u),!1)})),l}return s(t.dataTypes[0])||!r["*"]&&s("*")}function Bt(e,t){var n,i,r=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((r[n]?e:i||(i={}))[n]=t[n]);return i&&S.extend(!0,e,i),e}Lt.href=wt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(wt.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?Bt(Bt(e,S.ajaxSettings),t):Bt(S.ajaxSettings,e)},ajaxPrefilter:zt(Rt),ajaxTransport:zt(jt),ajax:function(e,t){"object"===typeof e&&(t=e,e=void 0);var i,r,o,s,a,l,u,c,d,h,f=S.ajaxSetup({},t=t||{}),p=f.context||f,v=f.context&&(p.nodeType||p.jquery)?S(p):S.event,g=S.Deferred(),y=S.Callbacks("once memory"),m=f.statusCode||{},_={},w={},x="canceled",k={readyState:0,getResponseHeader:function(e){var t;if(u){if(!s)for(s={};t=Pt.exec(o);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return u?o:null},setRequestHeader:function(e,t){return null==u&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,_[e]=t),this},overrideMimeType:function(e){return null==u&&(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)k.always(e[k.status]);else for(t in e)m[t]=[m[t],e[t]];return this},abort:function(e){var t=e||x;return i&&i.abort(t),E(0,t),this}};if(g.promise(k),f.url=((e||f.url||wt.href)+"").replace(Ft,wt.protocol+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(L)||[""],null==f.crossDomain){l=b.createElement("a");try{l.href=f.url,l.href=l.href,f.crossDomain=Lt.protocol+"//"+Lt.host!==l.protocol+"//"+l.host}catch(T){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!==typeof f.data&&(f.data=S.param(f.data,f.traditional)),Ht(Rt,f,t,k),u)return k;for(d in(c=S.event&&f.global)&&0===S.active++&&S.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!At.test(f.type),r=f.url.replace(Mt,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(Dt,"+")):(h=f.url.slice(r.length),f.data&&(f.processData||"string"===typeof f.data)&&(r+=(kt.test(r)?"&":"?")+f.data,delete f.data),!1===f.cache&&(r=r.replace(Nt,"$1"),h=(kt.test(r)?"&":"?")+"_="+xt.guid+++h),f.url=r+h),f.ifModified&&(S.lastModified[r]&&k.setRequestHeader("If-Modified-Since",S.lastModified[r]),S.etag[r]&&k.setRequestHeader("If-None-Match",S.etag[r])),(f.data&&f.hasContent&&!1!==f.contentType||t.contentType)&&k.setRequestHeader("Content-Type",f.contentType),k.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+It+"; q=0.01":""):f.accepts["*"]),f.headers)k.setRequestHeader(d,f.headers[d]);if(f.beforeSend&&(!1===f.beforeSend.call(p,k,f)||u))return k.abort();if(x="abort",y.add(f.complete),k.done(f.success),k.fail(f.error),i=Ht(jt,f,t,k)){if(k.readyState=1,c&&v.trigger("ajaxSend",[k,f]),u)return k;f.async&&f.timeout>0&&(a=n.setTimeout((function(){k.abort("timeout")}),f.timeout));try{u=!1,i.send(_,E)}catch(T){if(u)throw T;E(-1,T)}}else E(-1,"No Transport");function E(e,t,s,l){var d,h,b,_,w,x=t;u||(u=!0,a&&n.clearTimeout(a),i=void 0,o=l||"",k.readyState=e>0?4:0,d=e>=200&&e<300||304===e,s&&(_=function(e,t,n){for(var i,r,o,s,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(r in a)if(a[r]&&a[r].test(i)){l.unshift(r);break}if(l[0]in n)o=l[0];else{for(r in n){if(!l[0]||e.converters[r+" "+l[0]]){o=r;break}s||(s=r)}o=o||s}if(o)return o!==l[0]&&l.unshift(o),n[o]}(f,k,s)),!d&&S.inArray("script",f.dataTypes)>-1&&S.inArray("json",f.dataTypes)<0&&(f.converters["text script"]=function(){}),_=function(e,t,n,i){var r,o,s,a,l,u={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)u[s.toLowerCase()]=e.converters[s];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(s=u[l+" "+o]||u["* "+o]))for(r in u)if((a=r.split(" "))[1]===o&&(s=u[l+" "+a[0]]||u["* "+a[0]])){!0===s?s=u[r]:!0!==u[r]&&(o=a[0],c.unshift(a[1]));break}if(!0!==s)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(T){return{state:"parsererror",error:s?T:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}(f,_,k,d),d?(f.ifModified&&((w=k.getResponseHeader("Last-Modified"))&&(S.lastModified[r]=w),(w=k.getResponseHeader("etag"))&&(S.etag[r]=w)),204===e||"HEAD"===f.type?x="nocontent":304===e?x="notmodified":(x=_.state,h=_.data,d=!(b=_.error))):(b=x,!e&&x||(x="error",e<0&&(e=0))),k.status=e,k.statusText=(t||x)+"",d?g.resolveWith(p,[h,x,k]):g.rejectWith(p,[k,x,b]),k.statusCode(m),m=void 0,c&&v.trigger(d?"ajaxSuccess":"ajaxError",[k,f,d?h:b]),y.fireWith(p,[k,x]),c&&(v.trigger("ajaxComplete",[k,f]),--S.active||S.event.trigger("ajaxStop")))}return k},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,t){S[t]=function(e,n,i,r){return y(n)&&(r=r||i,i=n,n=void 0),S.ajax(S.extend({url:e,type:t,dataType:r,data:n,success:i},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]&&(y(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(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return y(e)?this.each((function(t){S(this).wrapInner(e.call(this,t))})):this.each((function(){var t=S(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=y(e);return this.each((function(n){S(this).wrapAll(t?e.call(this,n):e)}))},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 n.XMLHttpRequest}catch(e){}};var Yt={0:200,1223:204},Wt=S.ajaxSettings.xhr();g.cors=!!Wt&&"withCredentials"in Wt,g.ajax=Wt=!!Wt,S.ajaxTransport((function(e){var t,i;if(g.cors||Wt&&!e.crossDomain)return{send:function(r,o){var s,a=e.xhr();if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(s in e.xhrFields)a[s]=e.xhrFields[s];for(s in e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest"),r)a.setRequestHeader(s,r[s]);t=function(e){return function(){t&&(t=i=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!==typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Yt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!==typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=t(),i=a.onerror=a.ontimeout=t("error"),void 0!==a.onabort?a.onabort=i:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout((function(){t&&i()}))},t=t("abort");try{a.send(e.hasContent&&e.data||null)}catch(l){if(t)throw l}},abort:function(){t&&t()}}})),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(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(i,r){t=S("\n\t// \n\t// ...\n\t//\n\t// $(\"#tree\").fancytree({\n\t// extensions: [\"childcounter\"],\n\t// childcounter: {\n\t// hideExpanded: true\n\t// },\n\t// ...\n\t// });\n\t//\n\n\t/* 'childcounter' extension */\n\t$.ui.fancytree.registerExtension({\n\t\t// Every extension must be registered by a unique name.\n\t\tname: \"childcounter\",\n\t\t// Version information should be compliant with [semver](http://semver.org)\n\t\tversion: \"2.38.0\",\n\n\t\t// Extension specific options and their defaults.\n\t\t// This options will be available as `tree.options.childcounter.hideExpanded`\n\n\t\toptions: {\n\t\t\tdeep: true,\n\t\t\thideZeros: true,\n\t\t\thideExpanded: false,\n\t\t},\n\n\t\t// Attributes other than `options` (or functions) can be defined here, and\n\t\t// will be added to the tree.ext.EXTNAME namespace, in this case `tree.ext.childcounter.foo`.\n\t\t// They can also be accessed as `this._local.foo` from within the extension\n\t\t// methods.\n\t\tfoo: 42,\n\n\t\t// Local functions are prefixed with an underscore '_'.\n\t\t// Callable as `this._local._appendCounter()`.\n\n\t\t_appendCounter: function(bar) {\n\t\t\tvar tree = this;\n\t\t},\n\n\t\t// **Override virtual methods for this extension.**\n\t\t//\n\t\t// Fancytree implements a number of 'hook methods', prefixed by 'node...' or 'tree...'.\n\t\t// with a `ctx` argument (see [EventData](https://wwWendt.de/tech/fancytree/doc/jsdoc/global.html#EventData)\n\t\t// for details) and an extended calling context:
              \n\t\t// `this` : the Fancytree instance
              \n\t\t// `this._local`: the namespace that contains extension attributes and private methods (same as this.ext.EXTNAME)
              \n\t\t// `this._super`: the virtual function that was overridden (member of previous extension or Fancytree)\n\t\t//\n\t\t// See also the [complete list of available hook functions](https://wwWendt.de/tech/fancytree/doc/jsdoc/Fancytree_Hooks.html).\n\n\t\t/* Init */\n\t\t// `treeInit` is triggered when a tree is initalized. We can set up classes or\n\t\t// bind event handlers here...\n\t\ttreeInit: function(ctx) {\n\t\t\tvar tree = this, // same as ctx.tree,\n\t\t\t\topts = ctx.options,\n\t\t\t\textOpts = ctx.options.childcounter;\n\t\t\t// Optionally check for dependencies with other extensions\n\t\t\t/* this._requireExtension(\"glyph\", false, false); */\n\t\t\t// Call the base implementation\n\t\t\tthis._superApply(arguments);\n\t\t\t// Add a class to the tree container\n\t\t\tthis.$container.addClass(\"fancytree-ext-childcounter\");\n\t\t},\n\n\t\t// Destroy this tree instance (we only call the default implementation, so\n\t\t// this method could as well be omitted).\n\n\t\ttreeDestroy: function(ctx) {\n\t\t\tthis._superApply(arguments);\n\t\t},\n\n\t\t// Overload the `renderTitle` hook, to append a counter badge\n\t\tnodeRenderTitle: function(ctx, title) {\n\t\t\tvar node = ctx.node,\n\t\t\t\textOpts = ctx.options.childcounter,\n\t\t\t\tcount =\n\t\t\t\t\tnode.data.childCounter == null\n\t\t\t\t\t\t? node.countChildren(extOpts.deep)\n\t\t\t\t\t\t: +node.data.childCounter;\n\t\t\t// Let the base implementation render the title\n\t\t\t// We use `_super()` instead of `_superApply()` here, since it is a little bit\n\t\t\t// more performant when called often\n\t\t\tthis._super(ctx, title);\n\t\t\t// Append a counter badge\n\t\t\tif (\n\t\t\t\t(count || !extOpts.hideZeros) &&\n\t\t\t\t(!node.isExpanded() || !extOpts.hideExpanded)\n\t\t\t) {\n\t\t\t\t$(\n\t\t\t\t\t\"span.fancytree-icon,span.fancytree-custom-icon\",\n\t\t\t\t\tnode.span\n\t\t\t\t).append(\n\t\t\t\t\t$(\"\").text(count)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t// Overload the `setExpanded` hook, so the counters are updated\n\t\tnodeSetExpanded: function(ctx, flag, callOpts) {\n\t\t\tvar tree = ctx.tree,\n\t\t\t\tnode = ctx.node;\n\t\t\t// Let the base implementation expand/collapse the node, then redraw the title\n\t\t\t// after the animation has finished\n\t\t\treturn this._superApply(arguments).always(function() {\n\t\t\t\ttree.nodeRenderTitle(ctx);\n\t\t\t});\n\t\t},\n\n\t\t// End of extension definition\n\t});\n\t// Value returned by `require('jquery.fancytree..')`\n\treturn $.ui.fancytree;\n}); // End of closure\n","/*!\n * jquery.fancytree.edit.js\n *\n * Make node titles editable.\n * (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)\n *\n * Copyright (c) 2008-2021, Martin Wendt (https://wwWendt.de)\n *\n * Released under the MIT license\n * https://github.com/mar10/fancytree/wiki/LicenseInfo\n *\n * @version 2.38.0\n * @date 2021-02-09T20:03:49Z\n */\n\n(function(factory) {\n\tif (typeof define === \"function\" && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([\"jquery\", \"./jquery.fancytree\"], factory);\n\t} else if (typeof module === \"object\" && module.exports) {\n\t\t// Node/CommonJS\n\t\trequire(\"./jquery.fancytree\");\n\t\tmodule.exports = factory(require(\"jquery\"));\n\t} else {\n\t\t// Browser globals\n\t\tfactory(jQuery);\n\t}\n})(function($) {\n\t\"use strict\";\n\n\t/*******************************************************************************\n\t * Private functions and variables\n\t */\n\n\tvar isMac = /Mac/.test(navigator.platform),\n\t\tescapeHtml = $.ui.fancytree.escapeHtml,\n\t\tunescapeHtml = $.ui.fancytree.unescapeHtml;\n\n\t/**\n\t * [ext-edit] Start inline editing of current node title.\n\t *\n\t * @alias FancytreeNode#editStart\n\t * @requires Fancytree\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.editStart = function() {\n\t\tvar $input,\n\t\t\tnode = this,\n\t\t\ttree = this.tree,\n\t\t\tlocal = tree.ext.edit,\n\t\t\tinstOpts = tree.options.edit,\n\t\t\t$title = $(\".fancytree-title\", node.span),\n\t\t\teventData = {\n\t\t\t\tnode: node,\n\t\t\t\ttree: tree,\n\t\t\t\toptions: tree.options,\n\t\t\t\tisNew: $(node[tree.statusClassPropName]).hasClass(\n\t\t\t\t\t\"fancytree-edit-new\"\n\t\t\t\t),\n\t\t\t\torgTitle: node.title,\n\t\t\t\tinput: null,\n\t\t\t\tdirty: false,\n\t\t\t};\n\n\t\t// beforeEdit may want to modify the title before editing\n\t\tif (\n\t\t\tinstOpts.beforeEdit.call(\n\t\t\t\tnode,\n\t\t\t\t{ type: \"beforeEdit\" },\n\t\t\t\teventData\n\t\t\t) === false\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\t$.ui.fancytree.assert(!local.currentNode, \"recursive edit\");\n\t\tlocal.currentNode = this;\n\t\tlocal.eventData = eventData;\n\n\t\t// Disable standard Fancytree mouse- and key handling\n\t\ttree.widget._unbind();\n\n\t\tlocal.lastDraggableAttrValue = node.span.draggable;\n\t\tif (local.lastDraggableAttrValue) {\n\t\t\tnode.span.draggable = false;\n\t\t}\n\n\t\t// #116: ext-dnd prevents the blur event, so we have to catch outer clicks\n\t\t$(document).on(\"mousedown.fancytree-edit\", function(event) {\n\t\t\tif (!$(event.target).hasClass(\"fancytree-edit-input\")) {\n\t\t\t\tnode.editEnd(true, event);\n\t\t\t}\n\t\t});\n\n\t\t// Replace node with \n\t\t$input = $(\"\", {\n\t\t\tclass: \"fancytree-edit-input\",\n\t\t\ttype: \"text\",\n\t\t\tvalue: tree.options.escapeTitles\n\t\t\t\t? eventData.orgTitle\n\t\t\t\t: unescapeHtml(eventData.orgTitle),\n\t\t});\n\t\tlocal.eventData.input = $input;\n\t\tif (instOpts.adjustWidthOfs != null) {\n\t\t\t$input.width($title.width() + instOpts.adjustWidthOfs);\n\t\t}\n\t\tif (instOpts.inputCss != null) {\n\t\t\t$input.css(instOpts.inputCss);\n\t\t}\n\n\t\t$title.html($input);\n\n\t\t// Focus and bind keyboard handler\n\t\t$input\n\t\t\t.focus()\n\t\t\t.change(function(event) {\n\t\t\t\t$input.addClass(\"fancytree-edit-dirty\");\n\t\t\t})\n\t\t\t.on(\"keydown\", function(event) {\n\t\t\t\tswitch (event.which) {\n\t\t\t\t\tcase $.ui.keyCode.ESCAPE:\n\t\t\t\t\t\tnode.editEnd(false, event);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase $.ui.keyCode.ENTER:\n\t\t\t\t\t\tnode.editEnd(true, event);\n\t\t\t\t\t\treturn false; // so we don't start editmode on Mac\n\t\t\t\t}\n\t\t\t\tevent.stopPropagation();\n\t\t\t})\n\t\t\t.blur(function(event) {\n\t\t\t\treturn node.editEnd(true, event);\n\t\t\t});\n\n\t\tinstOpts.edit.call(node, { type: \"edit\" }, eventData);\n\t};\n\n\t/**\n\t * [ext-edit] Stop inline editing.\n\t * @param {Boolean} [applyChanges=false] false: cancel edit, true: save (if modified)\n\t * @alias FancytreeNode#editEnd\n\t * @requires jquery.fancytree.edit.js\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.editEnd = function(\n\t\tapplyChanges,\n\t\t_event\n\t) {\n\t\tvar newVal,\n\t\t\tnode = this,\n\t\t\ttree = this.tree,\n\t\t\tlocal = tree.ext.edit,\n\t\t\teventData = local.eventData,\n\t\t\tinstOpts = tree.options.edit,\n\t\t\t$title = $(\".fancytree-title\", node.span),\n\t\t\t$input = $title.find(\"input.fancytree-edit-input\");\n\n\t\tif (instOpts.trim) {\n\t\t\t$input.val($.trim($input.val()));\n\t\t}\n\t\tnewVal = $input.val();\n\n\t\teventData.dirty = newVal !== node.title;\n\t\teventData.originalEvent = _event;\n\n\t\t// Find out, if saving is required\n\t\tif (applyChanges === false) {\n\t\t\t// If true/false was passed, honor this (except in rename mode, if unchanged)\n\t\t\teventData.save = false;\n\t\t} else if (eventData.isNew) {\n\t\t\t// In create mode, we save everything, except for empty text\n\t\t\teventData.save = newVal !== \"\";\n\t\t} else {\n\t\t\t// In rename mode, we save everyting, except for empty or unchanged text\n\t\t\teventData.save = eventData.dirty && newVal !== \"\";\n\t\t}\n\t\t// Allow to break (keep editor open), modify input, or re-define data.save\n\t\tif (\n\t\t\tinstOpts.beforeClose.call(\n\t\t\t\tnode,\n\t\t\t\t{ type: \"beforeClose\" },\n\t\t\t\teventData\n\t\t\t) === false\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\tif (\n\t\t\teventData.save &&\n\t\t\tinstOpts.save.call(node, { type: \"save\" }, eventData) === false\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\t$input.removeClass(\"fancytree-edit-dirty\").off();\n\t\t// Unbind outer-click handler\n\t\t$(document).off(\".fancytree-edit\");\n\n\t\tif (eventData.save) {\n\t\t\t// # 171: escape user input (not required if global escaping is on)\n\t\t\tnode.setTitle(\n\t\t\t\ttree.options.escapeTitles ? newVal : escapeHtml(newVal)\n\t\t\t);\n\t\t\tnode.setFocus();\n\t\t} else {\n\t\t\tif (eventData.isNew) {\n\t\t\t\tnode.remove();\n\t\t\t\tnode = eventData.node = null;\n\t\t\t\tlocal.relatedNode.setFocus();\n\t\t\t} else {\n\t\t\t\tnode.renderTitle();\n\t\t\t\tnode.setFocus();\n\t\t\t}\n\t\t}\n\t\tlocal.eventData = null;\n\t\tlocal.currentNode = null;\n\t\tlocal.relatedNode = null;\n\t\t// Re-enable mouse and keyboard handling\n\t\ttree.widget._bind();\n\n\t\tif (node && local.lastDraggableAttrValue) {\n\t\t\tnode.span.draggable = true;\n\t\t}\n\n\t\t// Set keyboard focus, even if setFocus() claims 'nothing to do'\n\t\ttree.$container.get(0).focus({ preventScroll: true });\n\t\teventData.input = null;\n\t\tinstOpts.close.call(node, { type: \"close\" }, eventData);\n\t\treturn true;\n\t};\n\n\t/**\n\t * [ext-edit] Create a new child or sibling node and start edit mode.\n\t *\n\t * @param {String} [mode='child'] 'before', 'after', or 'child'\n\t * @param {Object} [init] NodeData (or simple title string)\n\t * @alias FancytreeNode#editCreateNode\n\t * @requires jquery.fancytree.edit.js\n\t * @since 2.4\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.editCreateNode = function(\n\t\tmode,\n\t\tinit\n\t) {\n\t\tvar newNode,\n\t\t\ttree = this.tree,\n\t\t\tself = this;\n\n\t\tmode = mode || \"child\";\n\t\tif (init == null) {\n\t\t\tinit = { title: \"\" };\n\t\t} else if (typeof init === \"string\") {\n\t\t\tinit = { title: init };\n\t\t} else {\n\t\t\t$.ui.fancytree.assert($.isPlainObject(init));\n\t\t}\n\t\t// Make sure node is expanded (and loaded) in 'child' mode\n\t\tif (\n\t\t\tmode === \"child\" &&\n\t\t\t!this.isExpanded() &&\n\t\t\tthis.hasChildren() !== false\n\t\t) {\n\t\t\tthis.setExpanded().done(function() {\n\t\t\t\tself.editCreateNode(mode, init);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tnewNode = this.addNode(init, mode);\n\n\t\t// #644: Don't filter new nodes.\n\t\tnewNode.match = true;\n\t\t$(newNode[tree.statusClassPropName])\n\t\t\t.removeClass(\"fancytree-hide\")\n\t\t\t.addClass(\"fancytree-match\");\n\n\t\tnewNode.makeVisible(/*{noAnimation: true}*/).done(function() {\n\t\t\t$(newNode[tree.statusClassPropName]).addClass(\"fancytree-edit-new\");\n\t\t\tself.tree.ext.edit.relatedNode = self;\n\t\t\tnewNode.editStart();\n\t\t});\n\t};\n\n\t/**\n\t * [ext-edit] Check if any node in this tree in edit mode.\n\t *\n\t * @returns {FancytreeNode | null}\n\t * @alias Fancytree#isEditing\n\t * @requires jquery.fancytree.edit.js\n\t */\n\t$.ui.fancytree._FancytreeClass.prototype.isEditing = function() {\n\t\treturn this.ext.edit ? this.ext.edit.currentNode : null;\n\t};\n\n\t/**\n\t * [ext-edit] Check if this node is in edit mode.\n\t * @returns {Boolean} true if node is currently beeing edited\n\t * @alias FancytreeNode#isEditing\n\t * @requires jquery.fancytree.edit.js\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.isEditing = function() {\n\t\treturn this.tree.ext.edit\n\t\t\t? this.tree.ext.edit.currentNode === this\n\t\t\t: false;\n\t};\n\n\t/*******************************************************************************\n\t * Extension code\n\t */\n\t$.ui.fancytree.registerExtension({\n\t\tname: \"edit\",\n\t\tversion: \"2.38.0\",\n\t\t// Default options for this extension.\n\t\toptions: {\n\t\t\tadjustWidthOfs: 4, // null: don't adjust input size to content\n\t\t\tallowEmpty: false, // Prevent empty input\n\t\t\tinputCss: { minWidth: \"3em\" },\n\t\t\t// triggerCancel: [\"esc\", \"tab\", \"click\"],\n\t\t\ttriggerStart: [\"f2\", \"mac+enter\", \"shift+click\"],\n\t\t\ttrim: true, // Trim whitespace before save\n\t\t\t// Events:\n\t\t\tbeforeClose: $.noop, // Return false to prevent cancel/save (data.input is available)\n\t\t\tbeforeEdit: $.noop, // Return false to prevent edit mode\n\t\t\tclose: $.noop, // Editor was removed\n\t\t\tedit: $.noop, // Editor was opened (available as data.input)\n\t\t\t//\t\tkeypress: $.noop, // Not yet implemented\n\t\t\tsave: $.noop, // Save data.input.val() or return false to keep editor open\n\t\t},\n\t\t// Local attributes\n\t\tcurrentNode: null,\n\n\t\ttreeInit: function(ctx) {\n\t\t\tvar tree = ctx.tree;\n\n\t\t\tthis._superApply(arguments);\n\n\t\t\tthis.$container\n\t\t\t\t.addClass(\"fancytree-ext-edit\")\n\t\t\t\t.on(\"fancytreebeforeupdateviewport\", function(event, data) {\n\t\t\t\t\tvar editNode = tree.isEditing();\n\t\t\t\t\t// When scrolling, the TR may be re-used by another node, so the\n\t\t\t\t\t// active cell marker an\n\t\t\t\t\tif (editNode) {\n\t\t\t\t\t\teditNode.info(\"Cancel edit due to scroll event.\");\n\t\t\t\t\t\teditNode.editEnd(false, event);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t\tnodeClick: function(ctx) {\n\t\t\tvar eventStr = $.ui.fancytree.eventToString(ctx.originalEvent),\n\t\t\t\ttriggerStart = ctx.options.edit.triggerStart;\n\n\t\t\tif (\n\t\t\t\teventStr === \"shift+click\" &&\n\t\t\t\t$.inArray(\"shift+click\", triggerStart) >= 0\n\t\t\t) {\n\t\t\t\tif (ctx.originalEvent.shiftKey) {\n\t\t\t\t\tctx.node.editStart();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\teventStr === \"click\" &&\n\t\t\t\t$.inArray(\"clickActive\", triggerStart) >= 0\n\t\t\t) {\n\t\t\t\t// Only when click was inside title text (not aynwhere else in the row)\n\t\t\t\tif (\n\t\t\t\t\tctx.node.isActive() &&\n\t\t\t\t\t!ctx.node.isEditing() &&\n\t\t\t\t\t$(ctx.originalEvent.target).hasClass(\"fancytree-title\")\n\t\t\t\t) {\n\t\t\t\t\tctx.node.editStart();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t\tnodeDblclick: function(ctx) {\n\t\t\tif ($.inArray(\"dblclick\", ctx.options.edit.triggerStart) >= 0) {\n\t\t\t\tctx.node.editStart();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t\tnodeKeydown: function(ctx) {\n\t\t\tswitch (ctx.originalEvent.which) {\n\t\t\t\tcase 113: // [F2]\n\t\t\t\t\tif ($.inArray(\"f2\", ctx.options.edit.triggerStart) >= 0) {\n\t\t\t\t\t\tctx.node.editStart();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.ENTER:\n\t\t\t\t\tif (\n\t\t\t\t\t\t$.inArray(\"mac+enter\", ctx.options.edit.triggerStart) >=\n\t\t\t\t\t\t\t0 &&\n\t\t\t\t\t\tisMac\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.node.editStart();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t});\n\t// Value returned by `require('jquery.fancytree..')`\n\treturn $.ui.fancytree;\n}); // End of closure\n","/*!\n * jquery.fancytree.multi.js\n *\n * Allow multiple selection of nodes by mouse or keyboard.\n * (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)\n *\n * Copyright (c) 2008-2021, Martin Wendt (https://wwWendt.de)\n *\n * Released under the MIT license\n * https://github.com/mar10/fancytree/wiki/LicenseInfo\n *\n * @version 2.38.0\n * @date 2021-02-09T20:03:49Z\n */\n\n(function(factory) {\n\tif (typeof define === \"function\" && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([\"jquery\", \"./jquery.fancytree\"], factory);\n\t} else if (typeof module === \"object\" && module.exports) {\n\t\t// Node/CommonJS\n\t\trequire(\"./jquery.fancytree\");\n\t\tmodule.exports = factory(require(\"jquery\"));\n\t} else {\n\t\t// Browser globals\n\t\tfactory(jQuery);\n\t}\n})(function($) {\n\t\"use strict\";\n\n\t/*******************************************************************************\n\t * Private functions and variables\n\t */\n\n\t// var isMac = /Mac/.test(navigator.platform);\n\n\t/*******************************************************************************\n\t * Extension code\n\t */\n\t$.ui.fancytree.registerExtension({\n\t\tname: \"multi\",\n\t\tversion: \"2.38.0\",\n\t\t// Default options for this extension.\n\t\toptions: {\n\t\t\tallowNoSelect: false, //\n\t\t\tmode: \"sameParent\", //\n\t\t\t// Events:\n\t\t\t// beforeSelect: $.noop // Return false to prevent cancel/save (data.input is available)\n\t\t},\n\n\t\ttreeInit: function(ctx) {\n\t\t\tthis._superApply(arguments);\n\t\t\tthis.$container.addClass(\"fancytree-ext-multi\");\n\t\t\tif (ctx.options.selectMode === 1) {\n\t\t\t\t$.error(\n\t\t\t\t\t\"Fancytree ext-multi: selectMode: 1 (single) is not compatible.\"\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tnodeClick: function(ctx) {\n\t\t\tvar //pluginOpts = ctx.options.multi,\n\t\t\t\ttree = ctx.tree,\n\t\t\t\tnode = ctx.node,\n\t\t\t\tactiveNode = tree.getActiveNode() || tree.getFirstChild(),\n\t\t\t\tisCbClick = ctx.targetType === \"checkbox\",\n\t\t\t\tisExpanderClick = ctx.targetType === \"expander\",\n\t\t\t\teventStr = $.ui.fancytree.eventToString(ctx.originalEvent);\n\n\t\t\tswitch (eventStr) {\n\t\t\t\tcase \"click\":\n\t\t\t\t\tif (isExpanderClick) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} // Default handler will expand/collapse\n\t\t\t\t\tif (!isCbClick) {\n\t\t\t\t\t\ttree.selectAll(false);\n\t\t\t\t\t\t// Select clicked node (radio-button mode)\n\t\t\t\t\t\tnode.setSelected();\n\t\t\t\t\t}\n\t\t\t\t\t// Default handler will toggle checkbox clicks and activate\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"shift+click\":\n\t\t\t\t\t// node.debug(\"click\")\n\t\t\t\t\ttree.visitRows(\n\t\t\t\t\t\tfunction(n) {\n\t\t\t\t\t\t\t// n.debug(\"click2\", n===node, node)\n\t\t\t\t\t\t\tn.setSelected();\n\t\t\t\t\t\t\tif (n === node) {\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstart: activeNode,\n\t\t\t\t\t\t\treverse: activeNode.isBelowOf(node),\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ctrl+click\":\n\t\t\t\tcase \"meta+click\": // Mac: [Command]\n\t\t\t\t\tnode.toggleSelected();\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t\tnodeKeydown: function(ctx) {\n\t\t\tvar tree = ctx.tree,\n\t\t\t\tnode = ctx.node,\n\t\t\t\tevent = ctx.originalEvent,\n\t\t\t\teventStr = $.ui.fancytree.eventToString(event);\n\n\t\t\tswitch (eventStr) {\n\t\t\t\tcase \"up\":\n\t\t\t\tcase \"down\":\n\t\t\t\t\ttree.selectAll(false);\n\t\t\t\t\tnode.navigate(event.which, true);\n\t\t\t\t\ttree.getActiveNode().setSelected();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"shift+up\":\n\t\t\t\tcase \"shift+down\":\n\t\t\t\t\tnode.navigate(event.which, true);\n\t\t\t\t\ttree.getActiveNode().setSelected();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t});\n\t// Value returned by `require('jquery.fancytree..')`\n\treturn $.ui.fancytree;\n}); // End of closure\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime= 9\n\t\tvar i;\n\t\tfor (i = arr.length - 1; i >= 0; i--) {\n\t\t\tif (arr[i] === elem) {\n\t\t\t\tarr.splice(i, 1);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * JS Implementation of MurmurHash3 (r136) (as of May 20, 2011)\n\t *\n\t * @author Gary Court\n\t * @see http://github.com/garycourt/murmurhash-js\n\t * @author Austin Appleby\n\t * @see http://sites.google.com/site/murmurhash/\n\t *\n\t * @param {string} key ASCII only\n\t * @param {boolean} [asString=false]\n\t * @param {number} seed Positive integer only\n\t * @return {number} 32-bit positive integer hash\n\t */\n\tfunction hashMurmur3(key, asString, seed) {\n\t\t/*eslint-disable no-bitwise */\n\t\tvar h1b,\n\t\t\tk1,\n\t\t\tremainder = key.length & 3,\n\t\t\tbytes = key.length - remainder,\n\t\t\th1 = seed,\n\t\t\tc1 = 0xcc9e2d51,\n\t\t\tc2 = 0x1b873593,\n\t\t\ti = 0;\n\n\t\twhile (i < bytes) {\n\t\t\tk1 =\n\t\t\t\t(key.charCodeAt(i) & 0xff) |\n\t\t\t\t((key.charCodeAt(++i) & 0xff) << 8) |\n\t\t\t\t((key.charCodeAt(++i) & 0xff) << 16) |\n\t\t\t\t((key.charCodeAt(++i) & 0xff) << 24);\n\t\t\t++i;\n\n\t\t\tk1 =\n\t\t\t\t((k1 & 0xffff) * c1 + ((((k1 >>> 16) * c1) & 0xffff) << 16)) &\n\t\t\t\t0xffffffff;\n\t\t\tk1 = (k1 << 15) | (k1 >>> 17);\n\t\t\tk1 =\n\t\t\t\t((k1 & 0xffff) * c2 + ((((k1 >>> 16) * c2) & 0xffff) << 16)) &\n\t\t\t\t0xffffffff;\n\n\t\t\th1 ^= k1;\n\t\t\th1 = (h1 << 13) | (h1 >>> 19);\n\t\t\th1b =\n\t\t\t\t((h1 & 0xffff) * 5 + ((((h1 >>> 16) * 5) & 0xffff) << 16)) &\n\t\t\t\t0xffffffff;\n\t\t\th1 =\n\t\t\t\t(h1b & 0xffff) +\n\t\t\t\t0x6b64 +\n\t\t\t\t((((h1b >>> 16) + 0xe654) & 0xffff) << 16);\n\t\t}\n\n\t\tk1 = 0;\n\n\t\tswitch (remainder) {\n\t\t\tcase 3:\n\t\t\t\tk1 ^= (key.charCodeAt(i + 2) & 0xff) << 16;\n\t\t\t// fall through\n\t\t\tcase 2:\n\t\t\t\tk1 ^= (key.charCodeAt(i + 1) & 0xff) << 8;\n\t\t\t// fall through\n\t\t\tcase 1:\n\t\t\t\tk1 ^= key.charCodeAt(i) & 0xff;\n\n\t\t\t\tk1 =\n\t\t\t\t\t((k1 & 0xffff) * c1 +\n\t\t\t\t\t\t((((k1 >>> 16) * c1) & 0xffff) << 16)) &\n\t\t\t\t\t0xffffffff;\n\t\t\t\tk1 = (k1 << 15) | (k1 >>> 17);\n\t\t\t\tk1 =\n\t\t\t\t\t((k1 & 0xffff) * c2 +\n\t\t\t\t\t\t((((k1 >>> 16) * c2) & 0xffff) << 16)) &\n\t\t\t\t\t0xffffffff;\n\t\t\t\th1 ^= k1;\n\t\t}\n\n\t\th1 ^= key.length;\n\n\t\th1 ^= h1 >>> 16;\n\t\th1 =\n\t\t\t((h1 & 0xffff) * 0x85ebca6b +\n\t\t\t\t((((h1 >>> 16) * 0x85ebca6b) & 0xffff) << 16)) &\n\t\t\t0xffffffff;\n\t\th1 ^= h1 >>> 13;\n\t\th1 =\n\t\t\t((h1 & 0xffff) * 0xc2b2ae35 +\n\t\t\t\t((((h1 >>> 16) * 0xc2b2ae35) & 0xffff) << 16)) &\n\t\t\t0xffffffff;\n\t\th1 ^= h1 >>> 16;\n\n\t\tif (asString) {\n\t\t\t// Convert to 8 digit hex string\n\t\t\treturn (\"0000000\" + (h1 >>> 0).toString(16)).substr(-8);\n\t\t}\n\t\treturn h1 >>> 0;\n\t\t/*eslint-enable no-bitwise */\n\t}\n\n\t/*\n\t * Return a unique key for node by calculating the hash of the parents refKey-list.\n\t */\n\tfunction calcUniqueKey(node) {\n\t\tvar key,\n\t\t\th1,\n\t\t\tpath = $.map(node.getParentList(false, true), function(e) {\n\t\t\t\treturn e.refKey || e.key;\n\t\t\t});\n\n\t\tpath = path.join(\"/\");\n\t\t// 32-bit has a high probability of collisions, so we pump up to 64-bit\n\t\t// https://security.stackexchange.com/q/209882/207588\n\n\t\th1 = hashMurmur3(path, true);\n\t\tkey = \"id_\" + h1 + hashMurmur3(h1 + path, true);\n\n\t\treturn key;\n\t}\n\n\t/**\n\t * [ext-clones] Return a list of clone-nodes (i.e. same refKey) or null.\n\t * @param {boolean} [includeSelf=false]\n\t * @returns {FancytreeNode[] | null}\n\t *\n\t * @alias FancytreeNode#getCloneList\n\t * @requires jquery.fancytree.clones.js\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.getCloneList = function(\n\t\tincludeSelf\n\t) {\n\t\tvar key,\n\t\t\ttree = this.tree,\n\t\t\trefList = tree.refMap[this.refKey] || null,\n\t\t\tkeyMap = tree.keyMap;\n\n\t\tif (refList) {\n\t\t\tkey = this.key;\n\t\t\t// Convert key list to node list\n\t\t\tif (includeSelf) {\n\t\t\t\trefList = $.map(refList, function(val) {\n\t\t\t\t\treturn keyMap[val];\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\trefList = $.map(refList, function(val) {\n\t\t\t\t\treturn val === key ? null : keyMap[val];\n\t\t\t\t});\n\t\t\t\tif (refList.length < 1) {\n\t\t\t\t\trefList = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn refList;\n\t};\n\n\t/**\n\t * [ext-clones] Return true if this node has at least another clone with same refKey.\n\t * @returns {boolean}\n\t *\n\t * @alias FancytreeNode#isClone\n\t * @requires jquery.fancytree.clones.js\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.isClone = function() {\n\t\tvar refKey = this.refKey || null,\n\t\t\trefList = (refKey && this.tree.refMap[refKey]) || null;\n\t\treturn !!(refList && refList.length > 1);\n\t};\n\n\t/**\n\t * [ext-clones] Update key and/or refKey for an existing node.\n\t * @param {string} key\n\t * @param {string} refKey\n\t * @returns {boolean}\n\t *\n\t * @alias FancytreeNode#reRegister\n\t * @requires jquery.fancytree.clones.js\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.reRegister = function(\n\t\tkey,\n\t\trefKey\n\t) {\n\t\tkey = key == null ? null : \"\" + key;\n\t\trefKey = refKey == null ? null : \"\" + refKey;\n\t\t// this.debug(\"reRegister\", key, refKey);\n\n\t\tvar tree = this.tree,\n\t\t\tprevKey = this.key,\n\t\t\tprevRefKey = this.refKey,\n\t\t\tkeyMap = tree.keyMap,\n\t\t\trefMap = tree.refMap,\n\t\t\trefList = refMap[prevRefKey] || null,\n\t\t\t//\t\tcurCloneKeys = refList ? node.getCloneList(true),\n\t\t\tmodified = false;\n\n\t\t// Key has changed: update all references\n\t\tif (key != null && key !== this.key) {\n\t\t\tif (keyMap[key]) {\n\t\t\t\t$.error(\n\t\t\t\t\t\"[ext-clones] reRegister(\" +\n\t\t\t\t\t\tkey +\n\t\t\t\t\t\t\"): already exists: \" +\n\t\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\t\t\t// Update keyMap\n\t\t\tdelete keyMap[prevKey];\n\t\t\tkeyMap[key] = this;\n\t\t\t// Update refMap\n\t\t\tif (refList) {\n\t\t\t\trefMap[prevRefKey] = $.map(refList, function(e) {\n\t\t\t\t\treturn e === prevKey ? key : e;\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.key = key;\n\t\t\tmodified = true;\n\t\t}\n\n\t\t// refKey has changed\n\t\tif (refKey != null && refKey !== this.refKey) {\n\t\t\t// Remove previous refKeys\n\t\t\tif (refList) {\n\t\t\t\tif (refList.length === 1) {\n\t\t\t\t\tdelete refMap[prevRefKey];\n\t\t\t\t} else {\n\t\t\t\t\trefMap[prevRefKey] = $.map(refList, function(e) {\n\t\t\t\t\t\treturn e === prevKey ? null : e;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Add refKey\n\t\t\tif (refMap[refKey]) {\n\t\t\t\trefMap[refKey].append(key);\n\t\t\t} else {\n\t\t\t\trefMap[refKey] = [this.key];\n\t\t\t}\n\t\t\tthis.refKey = refKey;\n\t\t\tmodified = true;\n\t\t}\n\t\treturn modified;\n\t};\n\n\t/**\n\t * [ext-clones] Define a refKey for an existing node.\n\t * @param {string} refKey\n\t * @returns {boolean}\n\t *\n\t * @alias FancytreeNode#setRefKey\n\t * @requires jquery.fancytree.clones.js\n\t * @since 2.16\n\t */\n\t$.ui.fancytree._FancytreeNodeClass.prototype.setRefKey = function(refKey) {\n\t\treturn this.reRegister(null, refKey);\n\t};\n\n\t/**\n\t * [ext-clones] Return all nodes with a given refKey (null if not found).\n\t * @param {string} refKey\n\t * @param {FancytreeNode} [rootNode] optionally restrict results to descendants of this node\n\t * @returns {FancytreeNode[] | null}\n\t * @alias Fancytree#getNodesByRef\n\t * @requires jquery.fancytree.clones.js\n\t */\n\t$.ui.fancytree._FancytreeClass.prototype.getNodesByRef = function(\n\t\trefKey,\n\t\trootNode\n\t) {\n\t\tvar keyMap = this.keyMap,\n\t\t\trefList = this.refMap[refKey] || null;\n\n\t\tif (refList) {\n\t\t\t// Convert key list to node list\n\t\t\tif (rootNode) {\n\t\t\t\trefList = $.map(refList, function(val) {\n\t\t\t\t\tvar node = keyMap[val];\n\t\t\t\t\treturn node.isDescendantOf(rootNode) ? node : null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\trefList = $.map(refList, function(val) {\n\t\t\t\t\treturn keyMap[val];\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (refList.length < 1) {\n\t\t\t\trefList = null;\n\t\t\t}\n\t\t}\n\t\treturn refList;\n\t};\n\n\t/**\n\t * [ext-clones] Replace a refKey with a new one.\n\t * @param {string} oldRefKey\n\t * @param {string} newRefKey\n\t * @alias Fancytree#changeRefKey\n\t * @requires jquery.fancytree.clones.js\n\t */\n\t$.ui.fancytree._FancytreeClass.prototype.changeRefKey = function(\n\t\toldRefKey,\n\t\tnewRefKey\n\t) {\n\t\tvar i,\n\t\t\tnode,\n\t\t\tkeyMap = this.keyMap,\n\t\t\trefList = this.refMap[oldRefKey] || null;\n\n\t\tif (refList) {\n\t\t\tfor (i = 0; i < refList.length; i++) {\n\t\t\t\tnode = keyMap[refList[i]];\n\t\t\t\tnode.refKey = newRefKey;\n\t\t\t}\n\t\t\tdelete this.refMap[oldRefKey];\n\t\t\tthis.refMap[newRefKey] = refList;\n\t\t}\n\t};\n\n\t/*******************************************************************************\n\t * Extension code\n\t */\n\t$.ui.fancytree.registerExtension({\n\t\tname: \"clones\",\n\t\tversion: \"2.38.0\",\n\t\t// Default options for this extension.\n\t\toptions: {\n\t\t\thighlightActiveClones: true, // set 'fancytree-active-clone' on active clones and all peers\n\t\t\thighlightClones: false, // set 'fancytree-clone' class on any node that has at least one clone\n\t\t},\n\n\t\ttreeCreate: function(ctx) {\n\t\t\tthis._superApply(arguments);\n\t\t\tctx.tree.refMap = {};\n\t\t\tctx.tree.keyMap = {};\n\t\t},\n\t\ttreeInit: function(ctx) {\n\t\t\tthis.$container.addClass(\"fancytree-ext-clones\");\n\t\t\t_assert(ctx.options.defaultKey == null);\n\t\t\t// Generate unique / reproducible default keys\n\t\t\tctx.options.defaultKey = function(node) {\n\t\t\t\treturn calcUniqueKey(node);\n\t\t\t};\n\t\t\t// The default implementation loads initial data\n\t\t\tthis._superApply(arguments);\n\t\t},\n\t\ttreeClear: function(ctx) {\n\t\t\tctx.tree.refMap = {};\n\t\t\tctx.tree.keyMap = {};\n\t\t\treturn this._superApply(arguments);\n\t\t},\n\t\ttreeRegisterNode: function(ctx, add, node) {\n\t\t\tvar refList,\n\t\t\t\tlen,\n\t\t\t\ttree = ctx.tree,\n\t\t\t\tkeyMap = tree.keyMap,\n\t\t\t\trefMap = tree.refMap,\n\t\t\t\tkey = node.key,\n\t\t\t\trefKey = node && node.refKey != null ? \"\" + node.refKey : null;\n\n\t\t\t//\t\tctx.tree.debug(\"clones.treeRegisterNode\", add, node);\n\n\t\t\tif (node.isStatusNode()) {\n\t\t\t\treturn this._super(ctx, add, node);\n\t\t\t}\n\n\t\t\tif (add) {\n\t\t\t\tif (keyMap[node.key] != null) {\n\t\t\t\t\tvar other = keyMap[node.key],\n\t\t\t\t\t\tmsg =\n\t\t\t\t\t\t\t\"clones.treeRegisterNode: duplicate key '\" +\n\t\t\t\t\t\t\tnode.key +\n\t\t\t\t\t\t\t\"': /\" +\n\t\t\t\t\t\t\tnode.getPath(true) +\n\t\t\t\t\t\t\t\" => \" +\n\t\t\t\t\t\t\tother.getPath(true);\n\t\t\t\t\t// Sometimes this exception is not visible in the console,\n\t\t\t\t\t// so we also write it:\n\t\t\t\t\ttree.error(msg);\n\t\t\t\t\t$.error(msg);\n\t\t\t\t}\n\t\t\t\tkeyMap[key] = node;\n\n\t\t\t\tif (refKey) {\n\t\t\t\t\trefList = refMap[refKey];\n\t\t\t\t\tif (refList) {\n\t\t\t\t\t\trefList.push(key);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\trefList.length === 2 &&\n\t\t\t\t\t\t\tctx.options.clones.highlightClones\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// Mark peer node, if it just became a clone (no need to\n\t\t\t\t\t\t\t// mark current node, since it will be rendered later anyway)\n\t\t\t\t\t\t\tkeyMap[refList[0]].renderStatus();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\trefMap[refKey] = [key];\n\t\t\t\t\t}\n\t\t\t\t\t// node.debug(\"clones.treeRegisterNode: add clone =>\", refMap[refKey]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (keyMap[key] == null) {\n\t\t\t\t\t$.error(\n\t\t\t\t\t\t\"clones.treeRegisterNode: node.key not registered: \" +\n\t\t\t\t\t\t\tnode.key\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdelete keyMap[key];\n\t\t\t\tif (refKey) {\n\t\t\t\t\trefList = refMap[refKey];\n\t\t\t\t\t// node.debug(\"clones.treeRegisterNode: remove clone BEFORE =>\", refMap[refKey]);\n\t\t\t\t\tif (refList) {\n\t\t\t\t\t\tlen = refList.length;\n\t\t\t\t\t\tif (len <= 1) {\n\t\t\t\t\t\t\t_assert(len === 1);\n\t\t\t\t\t\t\t_assert(refList[0] === key);\n\t\t\t\t\t\t\tdelete refMap[refKey];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_removeArrayMember(refList, key);\n\t\t\t\t\t\t\t// Unmark peer node, if this was the only clone\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tlen === 2 &&\n\t\t\t\t\t\t\t\tctx.options.clones.highlightClones\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t//\t\t\t\t\t\t\tnode.debug(\"clones.treeRegisterNode: last =>\", node.getCloneList());\n\t\t\t\t\t\t\t\tkeyMap[refList[0]].renderStatus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// node.debug(\"clones.treeRegisterNode: remove clone =>\", refMap[refKey]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this._super(ctx, add, node);\n\t\t},\n\t\tnodeRenderStatus: function(ctx) {\n\t\t\tvar $span,\n\t\t\t\tres,\n\t\t\t\tnode = ctx.node;\n\n\t\t\tres = this._super(ctx);\n\n\t\t\tif (ctx.options.clones.highlightClones) {\n\t\t\t\t$span = $(node[ctx.tree.statusClassPropName]);\n\t\t\t\t// Only if span already exists\n\t\t\t\tif ($span.length && node.isClone()) {\n\t\t\t\t\t//\t\t\t\tnode.debug(\"clones.nodeRenderStatus: \", ctx.options.clones.highlightClones);\n\t\t\t\t\t$span.addClass(\"fancytree-clone\");\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn res;\n\t\t},\n\t\tnodeSetActive: function(ctx, flag, callOpts) {\n\t\t\tvar res,\n\t\t\t\tscpn = ctx.tree.statusClassPropName,\n\t\t\t\tnode = ctx.node;\n\n\t\t\tres = this._superApply(arguments);\n\n\t\t\tif (ctx.options.clones.highlightActiveClones && node.isClone()) {\n\t\t\t\t$.each(node.getCloneList(true), function(idx, n) {\n\t\t\t\t\t// n.debug(\"clones.nodeSetActive: \", flag !== false);\n\t\t\t\t\t$(n[scpn]).toggleClass(\n\t\t\t\t\t\t\"fancytree-active-clone\",\n\t\t\t\t\t\tflag !== false\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn res;\n\t\t},\n\t});\n\t// Value returned by `require('jquery.fancytree..')`\n\treturn $.ui.fancytree;\n}); // End of closure\n","/*! jQuery UI - v1.12.1 - 2018-05-20\n* http://jqueryui.com\n* Includes: widget.js, position.js, keycode.js, scroll-parent.js, unique-id.js\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\n\n;(function( factory ) {\n\tif ( typeof define === \"function\" && define.amd ) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [ \"jquery\" ], factory );\n\t} else if ( typeof module === \"object\" && module.exports ) {\n\t\t// Node/CommonJS\n\t\tmodule.exports = factory(require(\"jquery\"));\n\t} else {\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n}(function( $ ) {\n\n$.ui = $.ui || {};\n\nvar version = $.ui.version = \"1.12.1\";\n\n\n/*!\n * jQuery UI Widget 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Widget\n//>>group: Core\n//>>description: Provides a factory for creating stateful widgets with a common API.\n//>>docs: http://api.jqueryui.com/jQuery.widget/\n//>>demos: http://jqueryui.com/widget/\n\n\n\nvar widgetUuid = 0;\nvar widgetSlice = Array.prototype.slice;\n\n$.cleanData = $.cleanData || ( function( orig ) {\n\treturn function( elems ) {\n\t\tvar events, elem, i;\n\t\tfor ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\ttry {\n\n\t\t\t\t// Only trigger remove when necessary to save time\n\t\t\t\tevents = $._data( elem, \"events\" );\n\t\t\t\tif ( events && events.remove ) {\n\t\t\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t\t\t}\n\n\t\t\t// Http://bugs.jquery.com/ticket/8235\n\t\t\t} catch ( e ) {}\n\t\t}\n\t\torig( elems );\n\t};\n} )( $.cleanData );\n\n$.widget = $.widget || function( name, base, prototype ) {\n\tvar existingConstructor, constructor, basePrototype;\n\n\t// ProxiedPrototype allows the provided prototype to remain unmodified\n\t// so that it can be used as a mixin for multiple widgets (#8876)\n\tvar proxiedPrototype = {};\n\n\tvar namespace = name.split( \".\" )[ 0 ];\n\tname = name.split( \".\" )[ 1 ];\n\tvar fullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\tif ( $.isArray( prototype ) ) {\n\t\tprototype = $.extend.apply( null, [ {} ].concat( prototype ) );\n\t}\n\n\t// Create selector for plugin\n\t$.expr[ \":\" ][ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\n\t\t// Allow instantiation without \"new\" keyword\n\t\tif ( !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// Allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword (the code above always passes args)\n\t\tif ( arguments.length ) {\n\t\t\tthis._createWidget( options, element );\n\t\t}\n\t};\n\n\t// Extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\n\t\t// Copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\n\t\t// Track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t} );\n\n\tbasePrototype = new base();\n\n\t// We need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( !$.isFunction( value ) ) {\n\t\t\tproxiedPrototype[ prop ] = value;\n\t\t\treturn;\n\t\t}\n\t\tproxiedPrototype[ prop ] = ( function() {\n\t\t\tfunction _super() {\n\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\n\t\t\t}\n\n\t\t\tfunction _superApply( args ) {\n\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n\t\t\t}\n\n\t\t\treturn function() {\n\t\t\t\tvar __super = this._super;\n\t\t\t\tvar __superApply = this._superApply;\n\t\t\t\tvar returnValue;\n\n\t\t\t\tthis._super = _super;\n\t\t\t\tthis._superApply = _superApply;\n\n\t\t\t\treturnValue = value.apply( this, arguments );\n\n\t\t\t\tthis._super = __super;\n\t\t\t\tthis._superApply = __superApply;\n\n\t\t\t\treturn returnValue;\n\t\t\t};\n\t\t} )();\n\t} );\n\tconstructor.prototype = $.widget.extend( basePrototype, {\n\n\t\t// TODO: remove support for widgetEventPrefix\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\n\t\t// don't prefix for widgets that aren't DOM-based\n\t\twidgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name\n\t}, proxiedPrototype, {\n\t\tconstructor: constructor,\n\t\tnamespace: namespace,\n\t\twidgetName: name,\n\t\twidgetFullName: fullName\n\t} );\n\n\t// If this widget is being redefined then we need to find all widgets that\n\t// are inheriting from it and redefine all of them so that they inherit from\n\t// the new version of this widget. We're essentially trying to replace one\n\t// level in the prototype chain.\n\tif ( existingConstructor ) {\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\n\t\t\tvar childPrototype = child.prototype;\n\n\t\t\t// Redefine the child widget using the same prototype that was\n\t\t\t// originally used, but inherit from the new version of the base\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor,\n\t\t\t\tchild._proto );\n\t\t} );\n\n\t\t// Remove the list of existing child constructors from the old constructor\n\t\t// so the old child constructors can be garbage collected\n\t\tdelete existingConstructor._childConstructors;\n\t} else {\n\t\tbase._childConstructors.push( constructor );\n\t}\n\n\t$.widget.bridge( name, constructor );\n\n\treturn constructor;\n};\n\n$.widget.extend = function( target ) {\n\tvar input = widgetSlice.call( arguments, 1 );\n\tvar inputIndex = 0;\n\tvar inputLength = input.length;\n\tvar key;\n\tvar value;\n\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n\t\tfor ( key in input[ inputIndex ] ) {\n\t\t\tvalue = input[ inputIndex ][ key ];\n\t\t\tif ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {\n\n\t\t\t\t// Clone objects\n\t\t\t\tif ( $.isPlainObject( value ) ) {\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n\t\t\t\t\t\t$.widget.extend( {}, value );\n\n\t\t\t\t// Copy everything else by reference\n\t\t\t\t} else {\n\t\t\t\t\ttarget[ key ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n\n$.widget.bridge = function( name, object ) {\n\tvar fullName = object.prototype.widgetFullName || name;\n\t$.fn[ name ] = function( options ) {\n\t\tvar isMethodCall = typeof options === \"string\";\n\t\tvar args = widgetSlice.call( arguments, 1 );\n\t\tvar returnValue = this;\n\n\t\tif ( isMethodCall ) {\n\n\t\t\t// If this is an empty collection, we need to have the instance method\n\t\t\t// return undefined instead of the jQuery instance\n\t\t\tif ( !this.length && options === \"instance\" ) {\n\t\t\t\treturnValue = undefined;\n\t\t\t} else {\n\t\t\t\tthis.each( function() {\n\t\t\t\t\tvar methodValue;\n\t\t\t\t\tvar instance = $.data( this, fullName );\n\n\t\t\t\t\tif ( options === \"instance\" ) {\n\t\t\t\t\t\treturnValue = instance;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !instance ) {\n\t\t\t\t\t\treturn $.error( \"cannot call methods on \" + name +\n\t\t\t\t\t\t\t\" prior to initialization; \" +\n\t\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === \"_\" ) {\n\t\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name +\n\t\t\t\t\t\t\t\" widget instance\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\n\n\t\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\n\t\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n\t\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n\t\t\t\t\t\t\tmethodValue;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Allow multiple hashes to be passed on init\n\t\t\tif ( args.length ) {\n\t\t\t\toptions = $.widget.extend.apply( null, [ options ].concat( args ) );\n\t\t\t}\n\n\t\t\tthis.each( function() {\n\t\t\t\tvar instance = $.data( this, fullName );\n\t\t\t\tif ( instance ) {\n\t\t\t\t\tinstance.option( options || {} );\n\t\t\t\t\tif ( instance._init ) {\n\t\t\t\t\t\tinstance._init();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn returnValue;\n\t};\n};\n\n$.Widget = $.Widget || function( /* options, element */ ) {};\n$.Widget._childConstructors = [];\n\n$.Widget.prototype = {\n\twidgetName: \"widget\",\n\twidgetEventPrefix: \"\",\n\tdefaultElement: \"
              \",\n\n\toptions: {\n\t\tclasses: {},\n\t\tdisabled: false,\n\n\t\t// Callbacks\n\t\tcreate: null\n\t},\n\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = widgetUuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\t\tthis.classesElementLookup = {};\n\n\t\tif ( element !== this ) {\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\tthis.document = $( element.style ?\n\n\t\t\t\t// Element within the document\n\t\t\t\telement.ownerDocument :\n\n\t\t\t\t// Element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );\n\t\t}\n\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis._create();\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis._setOptionDisabled( this.options.disabled );\n\t\t}\n\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\n\t_getCreateOptions: function() {\n\t\treturn {};\n\t},\n\n\t_getCreateEventData: $.noop,\n\n\t_create: $.noop,\n\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tvar that = this;\n\n\t\tthis._destroy();\n\t\t$.each( this.classesElementLookup, function( key, value ) {\n\t\t\tthat._removeClass( value, key );\n\t\t} );\n\n\t\t// We can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeData( this.widgetFullName );\n\t\tthis.widget()\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" );\n\n\t\t// Clean up events and states\n\t\tthis.bindings.off( this.eventNamespace );\n\t},\n\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key;\n\t\tvar parts;\n\t\tvar curOption;\n\t\tvar i;\n\n\t\tif ( arguments.length === 0 ) {\n\n\t\t\t// Don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\n\t\t\t// Handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"classes\" ) {\n\t\t\tthis._setOptionClasses( value );\n\t\t}\n\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis._setOptionDisabled( value );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOptionClasses: function( value ) {\n\t\tvar classKey, elements, currentElements;\n\n\t\tfor ( classKey in value ) {\n\t\t\tcurrentElements = this.classesElementLookup[ classKey ];\n\t\t\tif ( value[ classKey ] === this.options.classes[ classKey ] ||\n\t\t\t\t\t!currentElements ||\n\t\t\t\t\t!currentElements.length ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// We are doing this to create a new jQuery object because the _removeClass() call\n\t\t\t// on the next line is going to destroy the reference to the current elements being\n\t\t\t// tracked. We need to save a copy of this collection so that we can add the new classes\n\t\t\t// below.\n\t\t\telements = $( currentElements.get() );\n\t\t\tthis._removeClass( currentElements, classKey );\n\n\t\t\t// We don't use _addClass() here, because that uses this.options.classes\n\t\t\t// for generating the string of classes. We want to use the value passed in from\n\t\t\t// _setOption(), this is the new value of the classes option which was passed to\n\t\t\t// _setOption(). We pass this value directly to _classes().\n\t\t\telements.addClass( this._classes( {\n\t\t\t\telement: elements,\n\t\t\t\tkeys: classKey,\n\t\t\t\tclasses: value,\n\t\t\t\tadd: true\n\t\t\t} ) );\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._toggleClass( this.widget(), this.widgetFullName + \"-disabled\", null, !!value );\n\n\t\t// If the widget is becoming disabled, then nothing is interactive\n\t\tif ( value ) {\n\t\t\tthis._removeClass( this.hoverable, null, \"ui-state-hover\" );\n\t\t\tthis._removeClass( this.focusable, null, \"ui-state-focus\" );\n\t\t}\n\t},\n\n\tenable: function() {\n\t\treturn this._setOptions( { disabled: false } );\n\t},\n\n\tdisable: function() {\n\t\treturn this._setOptions( { disabled: true } );\n\t},\n\n\t_classes: function( options ) {\n\t\tvar full = [];\n\t\tvar that = this;\n\n\t\toptions = $.extend( {\n\t\t\telement: this.element,\n\t\t\tclasses: this.options.classes || {}\n\t\t}, options );\n\n\t\tfunction processClassString( classes, checkOption ) {\n\t\t\tvar current, i;\n\t\t\tfor ( i = 0; i < classes.length; i++ ) {\n\t\t\t\tcurrent = that.classesElementLookup[ classes[ i ] ] || $();\n\t\t\t\tif ( options.add ) {\n\t\t\t\t\tcurrent = $( $.unique( current.get().concat( options.element.get() ) ) );\n\t\t\t\t} else {\n\t\t\t\t\tcurrent = $( current.not( options.element ).get() );\n\t\t\t\t}\n\t\t\t\tthat.classesElementLookup[ classes[ i ] ] = current;\n\t\t\t\tfull.push( classes[ i ] );\n\t\t\t\tif ( checkOption && options.classes[ classes[ i ] ] ) {\n\t\t\t\t\tfull.push( options.classes[ classes[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._on( options.element, {\n\t\t\t\"remove\": \"_untrackClassesElement\"\n\t\t} );\n\n\t\tif ( options.keys ) {\n\t\t\tprocessClassString( options.keys.match( /\\S+/g ) || [], true );\n\t\t}\n\t\tif ( options.extra ) {\n\t\t\tprocessClassString( options.extra.match( /\\S+/g ) || [] );\n\t\t}\n\n\t\treturn full.join( \" \" );\n\t},\n\n\t_untrackClassesElement: function( event ) {\n\t\tvar that = this;\n\t\t$.each( that.classesElementLookup, function( key, value ) {\n\t\t\tif ( $.inArray( event.target, value ) !== -1 ) {\n\t\t\t\tthat.classesElementLookup[ key ] = $( value.not( event.target ).get() );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_removeClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, false );\n\t},\n\n\t_addClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, true );\n\t},\n\n\t_toggleClass: function( element, keys, extra, add ) {\n\t\tadd = ( typeof add === \"boolean\" ) ? add : extra;\n\t\tvar shift = ( typeof element === \"string\" || element === null ),\n\t\t\toptions = {\n\t\t\t\textra: shift ? keys : extra,\n\t\t\t\tkeys: shift ? element : keys,\n\t\t\t\telement: shift ? this.element : element,\n\t\t\t\tadd: add\n\t\t\t};\n\t\toptions.element.toggleClass( this._classes( options ), add );\n\t\treturn this;\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement;\n\t\tvar instance = this;\n\n\t\t// No suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// No element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\n\t\t\t\t// Allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// Copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ );\n\t\t\tvar eventName = match[ 1 ] + instance.eventNamespace;\n\t\t\tvar selector = match[ 2 ];\n\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.on( eventName, selector, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.on( eventName, handlerProxy );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = ( eventName || \"\" ).split( \" \" ).join( this.eventNamespace + \" \" ) +\n\t\t\tthis.eventNamespace;\n\t\telement.off( eventName ).off( eventName );\n\n\t\t// Clear the stack to avoid memory leaks (#10056)\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig;\n\t\tvar callback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\n\t\t// The original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// Copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( $.isFunction( callback ) &&\n\t\t\tcallback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\n\t\tvar hasOptions;\n\t\tvar effectName = !options ?\n\t\t\tmethod :\n\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\tdefaultEffect :\n\t\t\t\toptions.effect || defaultEffect;\n\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t}\n\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue( function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t} );\n\t\t}\n\t};\n} );\n\nvar widget = $.widget;\n\n\n/*!\n * jQuery UI Position 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/position/\n */\n\n//>>label: Position\n//>>group: Core\n//>>description: Positions elements relative to other elements.\n//>>docs: http://api.jqueryui.com/position/\n//>>demos: http://jqueryui.com/position/\n\n\n( function() {\nvar cachedScrollbarWidth,\n\tmax = Math.max,\n\tabs = Math.abs,\n\trhorizontal = /left|center|right/,\n\trvertical = /top|center|bottom/,\n\troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n\trposition = /^\\w+/,\n\trpercent = /%$/,\n\t_position = $.fn.position;\n\nfunction getOffsets( offsets, width, height ) {\n\treturn [\n\t\tparseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n\t\tparseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n\t];\n}\n\nfunction parseCss( element, property ) {\n\treturn parseInt( $.css( element, property ), 10 ) || 0;\n}\n\nfunction getDimensions( elem ) {\n\tvar raw = elem[ 0 ];\n\tif ( raw.nodeType === 9 ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: 0, left: 0 }\n\t\t};\n\t}\n\tif ( $.isWindow( raw ) ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: elem.scrollTop(), left: elem.scrollLeft() }\n\t\t};\n\t}\n\tif ( raw.preventDefault ) {\n\t\treturn {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\toffset: { top: raw.pageY, left: raw.pageX }\n\t\t};\n\t}\n\treturn {\n\t\twidth: elem.outerWidth(),\n\t\theight: elem.outerHeight(),\n\t\toffset: elem.offset()\n\t};\n}\n\n$.position = $.position || {\n\tscrollbarWidth: function() {\n\t\tif ( cachedScrollbarWidth !== undefined ) {\n\t\t\treturn cachedScrollbarWidth;\n\t\t}\n\t\tvar w1, w2,\n\t\t\tdiv = $( \"
              \" +\n\t\t\t\t\"
              \" ),\n\t\t\tinnerDiv = div.children()[ 0 ];\n\n\t\t$( \"body\" ).append( div );\n\t\tw1 = innerDiv.offsetWidth;\n\t\tdiv.css( \"overflow\", \"scroll\" );\n\n\t\tw2 = innerDiv.offsetWidth;\n\n\t\tif ( w1 === w2 ) {\n\t\t\tw2 = div[ 0 ].clientWidth;\n\t\t}\n\n\t\tdiv.remove();\n\n\t\treturn ( cachedScrollbarWidth = w1 - w2 );\n\t},\n\tgetScrollInfo: function( within ) {\n\t\tvar overflowX = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-x\" ),\n\t\t\toverflowY = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-y\" ),\n\t\t\thasOverflowX = overflowX === \"scroll\" ||\n\t\t\t\t( overflowX === \"auto\" && within.width < within.element[ 0 ].scrollWidth ),\n\t\t\thasOverflowY = overflowY === \"scroll\" ||\n\t\t\t\t( overflowY === \"auto\" && within.height < within.element[ 0 ].scrollHeight );\n\t\treturn {\n\t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n\t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n\t\t};\n\t},\n\tgetWithinInfo: function( element ) {\n\t\tvar withinElement = $( element || window ),\n\t\t\tisWindow = $.isWindow( withinElement[ 0 ] ),\n\t\t\tisDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9,\n\t\t\thasOffset = !isWindow && !isDocument;\n\t\treturn {\n\t\t\telement: withinElement,\n\t\t\tisWindow: isWindow,\n\t\t\tisDocument: isDocument,\n\t\t\toffset: hasOffset ? $( element ).offset() : { left: 0, top: 0 },\n\t\t\tscrollLeft: withinElement.scrollLeft(),\n\t\t\tscrollTop: withinElement.scrollTop(),\n\t\t\twidth: withinElement.outerWidth(),\n\t\t\theight: withinElement.outerHeight()\n\t\t};\n\t}\n};\n\n$.fn.position = function( options ) {\n\tif ( !options || !options.of ) {\n\t\treturn _position.apply( this, arguments );\n\t}\n\n\t// Make a copy, we don't want to modify arguments\n\toptions = $.extend( {}, options );\n\n\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n\t\ttarget = $( options.of ),\n\t\twithin = $.position.getWithinInfo( options.within ),\n\t\tscrollInfo = $.position.getScrollInfo( within ),\n\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\n\t\toffsets = {};\n\n\tdimensions = getDimensions( target );\n\tif ( target[ 0 ].preventDefault ) {\n\n\t\t// Force left top to allow flipping\n\t\toptions.at = \"left top\";\n\t}\n\ttargetWidth = dimensions.width;\n\ttargetHeight = dimensions.height;\n\ttargetOffset = dimensions.offset;\n\n\t// Clone to reuse original targetOffset later\n\tbasePosition = $.extend( {}, targetOffset );\n\n\t// Force my and at to have valid horizontal and vertical positions\n\t// if a value is missing or invalid, it will be converted to center\n\t$.each( [ \"my\", \"at\" ], function() {\n\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\n\t\t\thorizontalOffset,\n\t\t\tverticalOffset;\n\n\t\tif ( pos.length === 1 ) {\n\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n\t\t\t\tpos.concat( [ \"center\" ] ) :\n\t\t\t\trvertical.test( pos[ 0 ] ) ?\n\t\t\t\t\t[ \"center\" ].concat( pos ) :\n\t\t\t\t\t[ \"center\", \"center\" ];\n\t\t}\n\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n\t\t// Calculate offsets\n\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\n\t\tverticalOffset = roffset.exec( pos[ 1 ] );\n\t\toffsets[ this ] = [\n\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n\t\t];\n\n\t\t// Reduce to just the positions without the offsets\n\t\toptions[ this ] = [\n\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n\t\t];\n\t} );\n\n\t// Normalize collision option\n\tif ( collision.length === 1 ) {\n\t\tcollision[ 1 ] = collision[ 0 ];\n\t}\n\n\tif ( options.at[ 0 ] === \"right\" ) {\n\t\tbasePosition.left += targetWidth;\n\t} else if ( options.at[ 0 ] === \"center\" ) {\n\t\tbasePosition.left += targetWidth / 2;\n\t}\n\n\tif ( options.at[ 1 ] === \"bottom\" ) {\n\t\tbasePosition.top += targetHeight;\n\t} else if ( options.at[ 1 ] === \"center\" ) {\n\t\tbasePosition.top += targetHeight / 2;\n\t}\n\n\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n\tbasePosition.left += atOffset[ 0 ];\n\tbasePosition.top += atOffset[ 1 ];\n\n\treturn this.each( function() {\n\t\tvar collisionPosition, using,\n\t\t\telem = $( this ),\n\t\t\telemWidth = elem.outerWidth(),\n\t\t\telemHeight = elem.outerHeight(),\n\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\n\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\n\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) +\n\t\t\t\tscrollInfo.width,\n\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) +\n\t\t\t\tscrollInfo.height,\n\t\t\tposition = $.extend( {}, basePosition ),\n\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n\t\tif ( options.my[ 0 ] === \"right\" ) {\n\t\t\tposition.left -= elemWidth;\n\t\t} else if ( options.my[ 0 ] === \"center\" ) {\n\t\t\tposition.left -= elemWidth / 2;\n\t\t}\n\n\t\tif ( options.my[ 1 ] === \"bottom\" ) {\n\t\t\tposition.top -= elemHeight;\n\t\t} else if ( options.my[ 1 ] === \"center\" ) {\n\t\t\tposition.top -= elemHeight / 2;\n\t\t}\n\n\t\tposition.left += myOffset[ 0 ];\n\t\tposition.top += myOffset[ 1 ];\n\n\t\tcollisionPosition = {\n\t\t\tmarginLeft: marginLeft,\n\t\t\tmarginTop: marginTop\n\t\t};\n\n\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\n\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n\t\t\t\t\ttargetWidth: targetWidth,\n\t\t\t\t\ttargetHeight: targetHeight,\n\t\t\t\t\telemWidth: elemWidth,\n\t\t\t\t\telemHeight: elemHeight,\n\t\t\t\t\tcollisionPosition: collisionPosition,\n\t\t\t\t\tcollisionWidth: collisionWidth,\n\t\t\t\t\tcollisionHeight: collisionHeight,\n\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n\t\t\t\t\tmy: options.my,\n\t\t\t\t\tat: options.at,\n\t\t\t\t\twithin: within,\n\t\t\t\t\telem: elem\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tif ( options.using ) {\n\n\t\t\t// Adds feedback as second argument to using callback, if present\n\t\t\tusing = function( props ) {\n\t\t\t\tvar left = targetOffset.left - position.left,\n\t\t\t\t\tright = left + targetWidth - elemWidth,\n\t\t\t\t\ttop = targetOffset.top - position.top,\n\t\t\t\t\tbottom = top + targetHeight - elemHeight,\n\t\t\t\t\tfeedback = {\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\telement: target,\n\t\t\t\t\t\t\tleft: targetOffset.left,\n\t\t\t\t\t\t\ttop: targetOffset.top,\n\t\t\t\t\t\t\twidth: targetWidth,\n\t\t\t\t\t\t\theight: targetHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\telement: {\n\t\t\t\t\t\t\telement: elem,\n\t\t\t\t\t\t\tleft: position.left,\n\t\t\t\t\t\t\ttop: position.top,\n\t\t\t\t\t\t\twidth: elemWidth,\n\t\t\t\t\t\t\theight: elemHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n\t\t\t\t\t};\n\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n\t\t\t\t\tfeedback.horizontal = \"center\";\n\t\t\t\t}\n\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n\t\t\t\t\tfeedback.vertical = \"middle\";\n\t\t\t\t}\n\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n\t\t\t\t\tfeedback.important = \"horizontal\";\n\t\t\t\t} else {\n\t\t\t\t\tfeedback.important = \"vertical\";\n\t\t\t\t}\n\t\t\t\toptions.using.call( this, props, feedback );\n\t\t\t};\n\t\t}\n\n\t\telem.offset( $.extend( position, { using: using } ) );\n\t} );\n};\n\n$.ui.position = {\n\tfit: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\touterWidth = within.width,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = withinOffset - collisionPosLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n\t\t\t\tnewOverRight;\n\n\t\t\t// Element is wider than within\n\t\t\tif ( data.collisionWidth > outerWidth ) {\n\n\t\t\t\t// Element is initially over the left side of within\n\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.left += overLeft - newOverRight;\n\n\t\t\t\t// Element is initially over right side of within\n\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n\t\t\t\t\tposition.left = withinOffset;\n\n\t\t\t\t// Element is initially over both left and right sides of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overLeft > overRight ) {\n\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far left -> align with left edge\n\t\t\t} else if ( overLeft > 0 ) {\n\t\t\t\tposition.left += overLeft;\n\n\t\t\t// Too far right -> align with right edge\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tposition.left -= overRight;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\touterHeight = data.within.height,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = withinOffset - collisionPosTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n\t\t\t\tnewOverBottom;\n\n\t\t\t// Element is taller than within\n\t\t\tif ( data.collisionHeight > outerHeight ) {\n\n\t\t\t\t// Element is initially over the top of within\n\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.top += overTop - newOverBottom;\n\n\t\t\t\t// Element is initially over bottom of within\n\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n\t\t\t\t\tposition.top = withinOffset;\n\n\t\t\t\t// Element is initially over both top and bottom of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overTop > overBottom ) {\n\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far up -> align with top\n\t\t\t} else if ( overTop > 0 ) {\n\t\t\t\tposition.top += overTop;\n\n\t\t\t// Too far down -> align with bottom edge\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tposition.top -= overBottom;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\n\t\t\t}\n\t\t}\n\t},\n\tflip: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n\t\t\t\touterWidth = within.width,\n\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\n\t\t\t\t\t-data.elemWidth :\n\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\n\t\t\t\t\t\tdata.elemWidth :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\n\t\t\t\t\tdata.targetWidth :\n\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\n\t\t\t\t\t\t-data.targetWidth :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 0 ],\n\t\t\t\tnewOverRight,\n\t\t\t\tnewOverLeft;\n\n\t\t\tif ( overLeft < 0 ) {\n\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -\n\t\t\t\t\touterWidth - withinOffset;\n\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +\n\t\t\t\t\tatOffset + offset - offsetLeft;\n\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n\t\t\t\touterHeight = within.height,\n\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = collisionPosTop - offsetTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n\t\t\t\ttop = data.my[ 1 ] === \"top\",\n\t\t\t\tmyOffset = top ?\n\t\t\t\t\t-data.elemHeight :\n\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\tdata.elemHeight :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\n\t\t\t\t\tdata.targetHeight :\n\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t-data.targetHeight :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 1 ],\n\t\t\t\tnewOverTop,\n\t\t\t\tnewOverBottom;\n\t\t\tif ( overTop < 0 ) {\n\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -\n\t\t\t\t\touterHeight - withinOffset;\n\t\t\t\tif ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tnewOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +\n\t\t\t\t\toffset - offsetTop;\n\t\t\t\tif ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tflipfit: {\n\t\tleft: function() {\n\t\t\t$.ui.position.flip.left.apply( this, arguments );\n\t\t\t$.ui.position.fit.left.apply( this, arguments );\n\t\t},\n\t\ttop: function() {\n\t\t\t$.ui.position.flip.top.apply( this, arguments );\n\t\t\t$.ui.position.fit.top.apply( this, arguments );\n\t\t}\n\t}\n};\n\n} )();\n\nvar position = $.ui.position;\n\n\n/*!\n * jQuery UI Keycode 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Keycode\n//>>group: Core\n//>>description: Provide keycodes as keynames\n//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/\n\n\nvar keycode = $.ui.keyCode = {\n\tBACKSPACE: 8,\n\tCOMMA: 188,\n\tDELETE: 46,\n\tDOWN: 40,\n\tEND: 35,\n\tENTER: 13,\n\tESCAPE: 27,\n\tHOME: 36,\n\tLEFT: 37,\n\tPAGE_DOWN: 34,\n\tPAGE_UP: 33,\n\tPERIOD: 190,\n\tRIGHT: 39,\n\tSPACE: 32,\n\tTAB: 9,\n\tUP: 38\n};\n\n\n/*!\n * jQuery UI Scroll Parent 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: scrollParent\n//>>group: Core\n//>>description: Get the closest ancestor element that is scrollable.\n//>>docs: http://api.jqueryui.com/scrollParent/\n\n\n\nvar scrollParent = $.fn.scrollParent = function( includeHidden ) {\n\tvar position = this.css( \"position\" ),\n\t\texcludeStaticParent = position === \"absolute\",\n\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\n\t\tscrollParent = this.parents().filter( function() {\n\t\t\tvar parent = $( this );\n\t\t\tif ( excludeStaticParent && parent.css( \"position\" ) === \"static\" ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn overflowRegex.test( parent.css( \"overflow\" ) + parent.css( \"overflow-y\" ) +\n\t\t\t\tparent.css( \"overflow-x\" ) );\n\t\t} ).eq( 0 );\n\n\treturn position === \"fixed\" || !scrollParent.length ?\n\t\t$( this[ 0 ].ownerDocument || document ) :\n\t\tscrollParent;\n};\n\n\n/*!\n * jQuery UI Unique ID 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: uniqueId\n//>>group: Core\n//>>description: Functions to generate and remove uniqueId's\n//>>docs: http://api.jqueryui.com/uniqueId/\n\n\n\nvar uniqueId = $.fn.extend( {\n\tuniqueId: ( function() {\n\t\tvar uuid = 0;\n\n\t\treturn function() {\n\t\t\treturn this.each( function() {\n\t\t\t\tif ( !this.id ) {\n\t\t\t\t\tthis.id = \"ui-id-\" + ( ++uuid );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t} )(),\n\n\tremoveUniqueId: function() {\n\t\treturn this.each( function() {\n\t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\n\t\t\t\t$( this ).removeAttr( \"id\" );\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n\n}));\n","'use strict';\nmodule.exports = function (str) {\n\treturn encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n\t\treturn '%' + c.charCodeAt(0).toString(16).toUpperCase();\n\t});\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/build/static/js/main.0fbed5c1.chunk.js b/build/static/js/main.0fbed5c1.chunk.js new file mode 100644 index 0000000000000000000000000000000000000000..803e70eb8de291af8fc0b50d562f523ef33eaa2d --- /dev/null +++ b/build/static/js/main.0fbed5c1.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpautosubmitgui=this.webpackJsonpautosubmitgui||[]).push([[0],{100:function(e,t,a){},101:function(e,t,a){"use strict";a.r(t);var n=a(1),r=a(49),s=a.n(r),c=a(8),i=a(9),o=a(11),l=a(10),d=a(15),u=a(12),p=a(6),h="https://earth.bsc.es/autosubmitapi",m=!1,b="autosubmittest",j="Autosubmit API couldn't retrieve the requested information on time. It might be due to a network error or heavy traffic on the shared folders that Autosubmit uses to store experiment information (/esarchive/autosubmit/).",f="new-11-10-2021",x={background:"lightpink",fontWeight:"bold"},g={background:"red",fontWeight:"bold",color:"white"},O={background:"yellow",fontWeight:"bold"},v={background:"cyan",fontWeight:"bold"},N={background:"green",fontWeight:"bold",color:"white"},y={background:"lightblue",fontWeight:"bold"},A={background:"gray",fontWeight:"bold",color:"white"},S={background:"white",color:"black",fontWeight:"bold"},E={background:"orange",fontWeight:"bold",color:"black"},C={background:"salmon",fontWeight:"bold",color:"white"},T={background:"lightsalmon",fontWeight:"bold"},w={background:"lightyellow",fontWeight:"bold"},k="lightSalmon",R="#ff6666",D=function(e){return 0===e?A:-1===e?g:5===e?O:4===e?N:3===e?x:2===e?v:-2===e?S:-3===e?E:6===e?C:1===e?y:7===e?T:8===e?w:S},_="experimentTypeSearch",I="activeCheckSearch",P=12,L="Total Number of Jobs",M="Total Number of Jobs (Asc)",F="Number of Completed Jobs",U="Number of Completed Jobs (Asc)",G="Name of Experiment",Y="Name of Experiments (Asc)",B="Number of Queuing Jobs",H="Number of Running Jobs",Q="Number of Failed Jobs",J="Name of Wrapper",V="Only Active",W="Active & Inactive",q="Only Experiments",z="Only Tests",K="Experiments & Tests",X="experiment",Z="test",$="all",ee="all",te="active",ae=function(e){switch(e){case q:return X;case z:return Z;case K:default:return $}},ne=function(e){switch(e){case W:default:return ee;case V:return te}},re=function(e){switch(e){case ee:return W;case te:return V;default:return null}},se=function(e){switch(e){case X:return q;case Z:return z;case $:return K;default:return null}},ce={JPSYvsCHSY:!1,JPSYvsSYPD:!1,JPSYvsASYPD:!1,SYPDvsASYPD:!1,CHSYvsSYPD:!1,CHSYvsASYPD:!1,RunVsSYPD:!1,RunVsCHSY:!1,QueueRunVsASYPD:!1},ie=Object(n.createContext)(),oe=a(0),le=function(){return Object(oe.jsx)(n.Fragment,{children:Object(oe.jsx)("img",{src:"data:image/gif;base64,R0lGODlhAAEAAaUfAP////f39+/v7+bm5t7e3tbW1s7OzsXFxb29vbW1ta2traWlpZycnJSUlIyMjISEhHt7e3Nzc2tra2NjY1paWlJSUkpKSkJCQjo6OjExMSkpKSEhIRkZGRAQEAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hFDcmVhdGVkIHdpdGggR0lNUAAh+QQFBwAgACwAAAAAAAEAAQAG/kCAcEgsGo/IpHLJbDqf0Kh0Sq1ar9isdsvter/gsHhMLpvP6LR6zW673/C4fE6v2+/4vH7P7/v/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAwocSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gnQQYMCBASC0BDihQcMDkySsFFjBgsKDAyysIZs5EcFMJ/skBSRLoZJAgyYGjIQcUWEoAiVCdRY8ogADhwQGQBQxoNSDgyNOZUYsUkEC2KtatBmwa+Ur0CASyZB+AHIDWANAibMMOSUB2AlkFIAPUNeBy71C9AAREgCshQte5dZsSyVtkQV+yiD1mRVsYAOUhAxhLgHBTQF21Qj4LcXBZAuqTBOo+9nx4iAHRDjT+7ExEcF3DUIe89Uv2rpECDhwsaKh0a8kjsdHe/cxXAvHlRgQ4uIDhggTsCqNvLWCcyGCTAu4O6KqYcQTeARZYyJABQ3fSC8WjLTBbCF2tBPBWxAAMEMfTEAEgQAEG9NF3H0MBbDZYgEQs1Z8SBTwgF2gS/jDYoIMWvJaQABIOZpyAS4wkhAANXPBhgxhQYABEzQ2W1oVQBKBABR5+iIEFC6C40Eg2pmUFBS/Sd4EDOEIUgH5aCenEAC7CKIFkGJHoHBYMOFjBgRz9l4UAF1jAgJQXBdDkFAmU19ObRqgpwJx01jknFwvkqeeeeSbAlUE1FqmViFds4MGhiCZ6qAYPrMlPoIIaucUFH1Rq6aUfeNBBBuAFBKmghFpBKaaYasopQVpGOigXo5JqqaYXZPaPAASUaGOoVWzAwa689srBBhbICuewxFZBqxYEuLlRhFFi4Rt/HD2JFpZV6EchRv/JZoVpJlqU6mAFoLmEreM5mpC0/kVeSwW6t5pbULbgFrYeFOkhCOW0zBUJLYJaKYvEf519W5e/Bd1rlxH6EewfvgPaSC1CUKrL737+/USSELYKyG5aDx9E66BC2vqYtSuehgSzBUg84p1IcLsVliQLAaWjAdSs0XlDxAyAb2j1BK8B1OoMQMQv8bxVEUIDgHNIMyPN8BAuAxiS0ZISkTQAGYMEpYBXU92xRiV+ffXQFH+01FYojs3zUoEttS/CTxdB4lLiWlSzlGMLcXexRMCrMN/ZbfY24EzQSoC7hCeu+OKMN+7445BHLvnklFdu+eWYZ6755px37vnnoIcu+uikl2766ainrvrqrLfu+uuwxy77POy012777bjnrvvuvPfu++/ABy/88MQXb/zxyCev/PLMN+/889BHL/301Fdv/fXYZ6/99tx37/334AsUBAAh+QQFBwA/ACxiAGIAPAA8AAAG/sCfcEgsGo+/QACAbDqfUONgKohar9FBYUsIYL/g4cBALlTD6KRAoEQSyOSzUTAdeNNHwo8gL77hfUMCBgkJCHp4RAGIe3d+cAaBQwoMDAsFiYqMPwN5kJIDCZWWmJlIZkZ/cUUBBgujC5uZAqVCsnufRQOUowmOpntEqESqkYoHo5a3mb/BxLlDBLyVCM3AnUTYttA/AgjJCtrAQ821uIBDBa+jBmkBa5KC5nbb6JyivfFVZfHpBctJigwrVqXVOlJGFil4AOFBLCRa0vFpRouYkCUAALTZlQyBFAQOIkiQEKGBuWwn/zkRhwTfQ0EHGkAYObLkSUGnxHnpYmXA/oIDdwYtmEmz5gKW5JBGC4imoLQHIouSNGlN0ymAVryFlDrygcesAJVaCeCAqwQI4cBUFMYkTQGpERjgCSCu35eaDgxU/bJoCzAJXu2GEfzl67jDaPYiVoSgsePHCA4YQLTTbxOsYSxo3sxZMwUICbr1PJyhtOnTGTBgsOBgAGExpFGjVs26E+al41Tr3r27QgM7EZ/cxiLggvHjyC9YqAAB6OLn0FcqTjwFWIS0pt4RwNQWz4IOGSIgeP2ETi2xWDZ88NABg4MC05t4uRn/yYMP+NdzqMBguCJnR3T3hQEceOBBfgZqMEEC6BFRxU0/FNAgFAEkYEEHByIIXgTOxCExnxtneFFfEWcIwEAGGOa3XgcWMCDWWuVB6KEemxAQwQYGaljBARClxNRFVyySjk4HUFBghh1cYJguMjpozjIF+ZFQAhdgyJ4FSxrBRTxCplNVP0oJ4EAGHITXJCcrzYNEiAJdRoleTT3ZhBwwNvJclzit2cQwiNXJk57yWIRYOeXpIsyEaqnpRCB4AniNMFBI0gefpmyCqCS/UJqJNv7pUwt5VwhAY1YQCYGoWqBq6iCo0cEXHR7bSTjiq0fccSoWQQAAIfkEBQcAPwAsYgBiADwAPAAABv7An3BILBqPwwByyWw6i4IfgfADPK/YrHbLFVKT3fAw6iwojwGBWmxUFrBmNKFQIJDZ2bcwbhwUDAYFd3hXej98RAJ/gIKEQ19MhoiPgIxnjn1GkpdCipUGBFaYT5tFBJ+To5FDkwOfBgOiqk2lrJ8EnKqGQpe1Aa6fg1oCAwNMrkUAyrWelbhIc3W5vEKBu4WsZ6eVjUcIC+AIxm0/r1exyunpzYDo6UoHCgzzDAnjRUoGeQKycpZFBuTRm2ePUKwrig7uSbBg4LwFB4RhCwPg0jeHD8Wp6zfrSDyMDBYkCIVHYpaGGBWk6gKpywCHEE12mbYlQUaFhFqGeTmSI/4emlxWdhyKRE2xo0iLjZK5ZA6gY5gERJhKtepUCAwOACU6RILXr2C/QkjAlOuPsGi9ji1b5N7PtGgfIOBEp65dOqMIQNjLt+/eBwpImh081CfhcxAQsM3iRx8hBhgoNDCw9YkSnWwGXMiA4cKEBZgRhmYjIYNpzhYiFGR87VEYBBYwnDaNocKDiE5+/ZkVIAACCRdkn+4suXWi0QUGVGYiYOyQBRQwCKd9QbVMt0SeDcHeBMGGDhNaOog9HYMFCMaB8utyAMOHDx40MAigzgCE2NQjpC+S/AiwSnd88YwBGHjwXgcVtIbABMGZh55lRyiSHSvZ/BCAAxy85wEHD5yYxAAFFnzGXSJABbANI3fUQoAFBsKHAQJIDIBAT+qwoY4vDGR4YAQjznJNLT8MQEGLHmSgwHJcYOfOMhUOkcAG730A3mij5AKkhQ90oOEG843yHyASXXnIBURaYNxMLYUmZgAN6BhfApjQZZKYUrDoQZFwOsIJTkTQ+cMCGnTAwQV58lYGTQM4ENwDVBK2VTqHQRMpRZMyptwoQQAAIfkEBQcAPwAsYgBiADwAPAAABv7An3BILBqNgaNyyWw6hwTh4EmtVg0Gq3bL7T4FzsLX24z+CtOjuAkmu50BQvZNr1vTdrP9jT/3639aa0J6ez+FXgVthkKDXoF7iE+Fjo+LRQKVWgMARwEDoJdKc0cAkIcEBZpQSUYDqQYFBK1Pp1yKRgKwWAazS6s/tES+TKaErgW8vMRHqUqXBKJMcYufycpYaMJEANZOnVrgutjZ0eBLAAIDmqRdcdfKsgLb07qa9FUA8Lza51WfhWxRERBvQAB/4bz9QMhFjjyGXNIREPgvGj4yB+tkZMTxTkclB0KKHHkgVhppH4cMYMCypUuWCxIASznkpU2YBi7S/HHT5v6CnI12ElnZs2VMMenUgVrKNJQdASSjxjIntKrOqmwkeWlwACsXCRAY0FnXzk0BCWglPFDgTkhZNwEcpEUbwcEWe81QUhmwAMJculzNGoRIJd2BBhH+gl3w5G0/KHqPTEEgxFQCB4nn1qXs6UfZh0WyMHvG4MIFCHjiKHjwNwIDrW6HDS4y00iFDBkwVGBLJEABBn7pvg4zm8kgC6ZNiyEQAQNuDBKMGG4AIUJY2D+WCiBchJMQDB4+fNiwJkEF5xkuNCg14EACBAYiA5j/bwh48eSlPLjwnELXUvNx58Qffdw33hoAHEABehc8UNVoBuYnhAAN8JdbBQl0RAouRHxE6MhZ6GEAASOZDGOEh0UoYIFzGFjA2EeroDgMBCFG95F3RchIhHksVvAfI6PZF96BrjywIgb+MaLKEjoScQAEFFAAwVsYCWDlEhd4oKUGq/iGAAIHULRFgEtUoKUHGGDnVREQbMABBxOIueYPCUgwwQQMXDXnhNfIWUUQACH5BAUHAD8ALGIAYgA8ADwAAAb+wJ9wSCwaj4LkcclsOp2DX6HwrFqvwoIBy+0eqd7wcRBlbp2BH7ks9p6d02nbKABLBcc30z7/FtNFemOCfUQET4RFfIVGBo6Oh4FNBHp4jEOUjwZsQolCAp6XWUSLngGRomaqg6lNi5Y/nouARwG0TJG3RJoGBICJA6FEeAQEnEWoPwQCuspNZKiLe48/sIrX1j+62UTNRgNaRdxCmbwFx0MDAE91RmmUXOFGh7QF3ksAnALJ4k78huO4gGNyb16ic23k7RKyzko+hYz+9ZHWpmAbiWLYWGzVpeEljxxDivwjYECxkyhPohNzKqXLAcyyCGsFgJdNRwgxjox101z+lJU7efZ8hDBoraFElzWE5hIlUC8tm6q0ZbSqkI1YsGYFp5OLgk2FAux7pNVJAgYLEhQIaGUfsjkDGMhFiyAjRbZVFsydq+CANiu/OCbQu1dugpmf4DUJQHExHsYKCstN+6RxkQMaHlwp4MDvpwOEC3/F1YjOBA8fNiyoIkFCAyL5EISemwCoNG4KOHzY3QHC425CWreOkGDe4L21xRC4gPqDhwzFhWSYbmHLgAfCJWh2Z0DBgu8IgL77685Bh90feluyMD1DdQAAEGSPsBqJAQS9yjbK0NzDBc8/sEfdGQI4kN0DiIURQATn7cZBA7QI6N4bBkSQHQMhIbBBfxSe8CFhdUMEsEB2EBwAUiECUNCfBgvc8qEeA0CQ3WupLNBgehIc8yJ8PCYwnwKiDGBBfxnUVcSLRVyXnQNdcWHAhrz5ZsSOPMJ3AIkJWmFABh140AGIU7YHZjcNDPeAZV0QEEEGGljQ4hFIGsEZBA4s0GRWBzTAAFhwtleBJ4ccsIxVQ2BgKAWEYmHBBRZAkKgVB1j4QHSPonEAAoNeEgQAIfkEBQcAPwAsYgBjADwAOwAABv7An3BILBqPxAByyWw6iYRh4Umt/gJKqmCJzVqpg+1xKjSIi4CvWkjwEsk/89Kwbrp/g/FQbowO83VGaVB6ZWeBX4BlilJ7h4hVAXA/BY9wfH9FjJBDj1dvjkWTnEt+naCGpGoCk22NqUKeiF1IAJuKl7Kxdk4Em0OSSLlqprVEdL94x4qAYYGjQwDFbJ9LyUPF16K1A9BHukgB04EB3UYGBYzaSJ50fU0AAuNJqkfrSaz1Tulq5d6ImwoQAAdP3r81AA4GkldPzL0v5VTZ0kdRyKCKGDNySligo0ePbJz9mPdOI5OHJptEIZiy15UBBD7K9EgS4cybQpQA6MKzJ/6Wejt9Cr3YsmUAAwdUsYRYwAEGDKQkDSQ1YIEFDh4+IOBEwAC6AXesBEhAYUPWDx82LGUiwKtbfhANQNBwFq2HDhACJXT7duoTcQ0udEBrt4MGCQnCUvHHt6+TqhWwEv7gYQOFBYDcqdnZrbFXuEcCMMhQl3IHDA4KZDFQQQJKPAsMZIkX07NAxT8qdDh7N0OEA4cgYMhwgcG6AQkYMFBQJIA827quepiuYUKCTQkuZNh+4QGbLAK2VFWuPCkRzgX4VkLyQLuGCgzGDZAwPAMGCuYhSNj/+woC8gwscAR6HfnVRwIIqnYEA9px18AQ+vFn3njkbTWgc+E9Q0F9GLxIAEeEEvT3AwAGACggbpw4tR0GFggI4X4hmveDAAoAmEBGB1jAIQTFgCjiiAWYWI0+EXBYgYUvSphEcuQxR5ECDRLngBE+ysjGAgAiSYoA9K04gZVCVNncAQA6qQoBFTzFIgNHiKlJjcotoNAXBExgwQUWROCNm+cZgOVy+gjAAAQRPKAlEXwSIcABCB7KSTcC6fIAjBCAaZEAA2SKYkYOwPjAnEUZocADEEDAZqhWEIAAgpig+ld4m6oRBAAh+QQFBwA/ACxiAGMAOwA7AAAG/sCfcEgsGo2CIeHIbDqfzUFhmIRar8NAdGgYYL/g4nLofVbDRoDX4BwLy8XAkg1HE9VQ968uxAvZdkd1BWdKRHw/AlN/iIGKT3qIeoSBaY1EkUWPjJVHAYtCej+ZWaKdR35kmIdDqadOck2kP5+rr0ebP4ChrD+unaZGg1WkuVcEhVREoJrMBFrJvEPMYcZ0Rb9N2Y5MyES1V9tC1D+UgeJNWkXkVgFSRgYFl7fho+zB4fhoAqbRX/6+0LizVUkfGgB7pqirtJBeIocQI0qc+GSAAggVLmDYyLGjBYf6CoAyMGGDh5MoU5684JCdEQIGKHDw8KGmzZsfWNJzSYRN/syZOIPqvMWTyx4GFDBo2MC0qdOhFJm4IyCyqtWqUbNqhVJ0KxM1CSJUAPgFoZCG+xBg3MjgFBxvdgw0SIohQ4YL89q9IrBAgka7GTBARWPqGhSwESzUBYyhwgME5/jxREtEwIEHFRbbxWAhgoI+z8o2xAcXm4EIfzdfoNCWCgMHXakU0DMQ3tcEmTc3dhBHrQQJUOQYiFfIbGxfCehyhgBZTIPfvxt4EVBmgBbhww0Ek/wEwIEIFCpIUIAoQFjoEIYcYMCeARs1BbJ3kVXxgP2vBR5Aj7BAfXv3Z8GUXQGU3SLAAhFA9wAR67W3iyLyDWCWQwAYoN9vESTA4H+7jaghnzkODcAAdBLwtqGD38SXnUEC+fZbekU0yN4uvgzwIVmEOUBiayfOGIeAw7FYFgIJvniEjADeAeFwIHYCgAJF8nckh0ZgN1xeZSUAQQQRmGgEkjTKxiSWWFTY3gFMgInKAAS0iWNZ/Bgk4wJhZhHAnV5xsQB7/eV5TAILLKChn1YsSSChh9FSYCBBAAAh+QQFBwA/ACxiAGIAPAA8AAAG/sCfcEgsGo2A32AgCByf0KgU6hwKptis9jocaL9gIzdMPgYIBQLUO1Q/0e7ykWsojIlsYVweLggNBFV4RHt8W35ReT+FP4KGT2eEjkqERQCKj0+IPwaYioxFgZmhRJtCn1F2o0UCm52DbVCvq6ljqLRCZwezU6KUsWR3RgUSGhsWC8I/SU+3k75HBaZGCBcdHh4cEweTkVJezETKR5hDCBgdH+oeGhEGk5vQUQaNWOVCBxbX6h8eHRkNUMmTokpIkgL0tAxgYIGDB379OlhIUEXAuERFEhYpcG9IgAMQMuzjl23bJFoXWSUoNrIfu2mZ1JxMtKCCQ4gP+EyqM2Dm/pQABRxYe7jhUUc5Ag5EELngETMCKcMMSBBh1BWffKLi2srVCgIhFsKKHRsWKxkDaNOq/ZGm5wAHFTDInUt3Li1QGfU8sCA3g9+/gDPQOsqKwN6+gQMPzmIxAQQKFchKvmtPyBWEajOjNdu1s+cnl1ZxDiMAwQMJqzhmAtogggTUj+j4GQ2FwAIIr3PD/ALAFCCtSKaezp3bAe1m0b4kdUA8dwQGB4CH4SkFKAPXzSM4SGAl65M69chdby7hgQIiHxcQRo832sWgzSEw0LjMNgMG3L/9KXevY1DsETQQHSsI3HdfAldVEc5G0nVEAAMPQLDdEb0tYOAC7yihlhvCmrQ3xG6WoQHIEwIkYCB+XWwIhXRlBGDAiU2lmFZ7A60ygAInHoCHit+t1+IBJ56344ykfLgVAPbdt4COQ6JVSCtD8GKViQbm1+SItdxloZIwDcCjLD5+UcCWDHxlhJdEWnLLKGPepwAoaDpphhv0xYRAAgnUKaOcc3RBSwBLHBUnliSyiBJmUn6mxRnSFKToFwEIEOijZCy4ShAAIfkEBQcAPwAsYgBiADwAPAAABv7An3BILBqPAcFxyWw6n78BdEqtBgjVrHZZGGKXgPC2WXhYKAupUfkMqMdMBYbTwSiObCvcqNB4PB0UX0R5TAJdQgQBe0V9Hh8fHAyLhE+DP5eMPwYWjx8eFohDhVBvmj8BDRueHQ6UQqRFr6dLBBQdkB8ZCJVgprRGAQt+kB4Tb7GjopizwAMSuJAbC5TJiUQF1qUEBNYIGJ4eFV/Wh0MGv0QAzUUDDBQVEQl4Dxy5HA2L1plLbk8GES5gwHABggEjBSqEu4Doy6Bf6aoAFJghA4YKDS4FYLAKEoaDUDIBEMCPSQEIFCsOREOEwIQOG3iNcbNsSMQfAhIExFBR5f4FCQiUBFAAQVs/ITRrOSnQgEJKlRYedGFHxZoBLFSNHHhQYWDPlSCBGShws0kCCBZ49pQA7BSBBRMoXii7pVvWKQEMNL3AgNbBAXezCNhKt0rhtogTKw5GQIGDBxAiS54MoeSYAQUya95cJOcDCaBDiw4dOMthWAKIjl4NejEZnKpZj3ZtEtUBBg8i6N7NW7dR0waCCx9+sKaQA8iTKz/wu4qA59CjQ0dFuzqS09aPABiAII1bYCMPLGDAYB6j0lTWFVBAvj12JpazXEnQvj41OM2fbO9ev72CsNkVMZIB4/XHgAIHUBcAAHCUhQWDeIhn4AIIDLJdNlNcqMkA9JPZl0BNARQQnCJNjGScF0cZwWF9//2y3XCIiCEEg9vNdAR3CyyAIHWdiSgcOXg9cRMlJyJFAIyjaPdeFHu8OBwyKWYX4nCX5Eebk8GR1UuASPg4YmdcanekcBhuGaYyTzZj5WKHkImHFuhV5aOWa2RBIi0kZXbTmnrGWdVzWZnzxJqIzRLfmUwsGSCD3CBKhZ9ZBAEAIfkEBQcAPwAsYgBiADwAOwAABv7An3BILBqNAYJhOTg6n9DoU9CgUCQJqXbLJVA4nI2ES44Czk9DxsPGlN/GwSGRMASOh83n49FMBQJwUAcSFBUQBnh6fH5GAAMFBYJQCBUYGBcQTUV5e31SBYGTRZUYGRgWWZyLn1Gho0UFE6anEgSrno1EApJCBrewRQsWtBcMuIxGwEKvwUURtBgUvUKdybFDv85GCZYZpw6iP9atQndEzdtEDxffqAcA1ay6j0QGm29n+k8U0RGb5HQZKXDuCBonAuYoQECgIJEG7b5dUCAvl5MC+IgAEDCg4xMCDCBEiOAAgYB4RSREm3DrAKYL7YTwyrZsCIAAkIg4HEKgQf4ECUAhMDBwkogCYqcsINiSzlxOmuKI9PwJFOgDBQSJQMDEIOqRJD+07arpi4DXIQgcUK1KMsGAcwj+cZkpZCMBatmaHlkAoSrbBgdOnpVy5+bTWBmj+PQblAFZMoftPZaSdq3VnbB+Dd6i4IFfvJkxOgs5Rh1oZw22DTCrbkji1rBjmxGg5IDt27htb4ZDm4Dv38A7ngxQIMECBsiTK0f+WvYQSXcOHF9O/ZhzKE2kV6d+HfuP4gumb2fQ3Hki1vaWqF9vp3XH9/Df7+7e/eY2lK1xZg22umgwuwWINQpKGAWAXz4cBajefFpkVGA++rFnQAEHloHZD2ZVCAVOSrJI+MuFZCSCmH9PAOhhKPFoKMWBp3331hMRSijaELSBeARtu3w0RYfrPSiVEAOoqNNkaezIHnrYqBYWVDfetUSLP+zUC3GRRFLiRUtguBlHA2xWTzabEPecEyLe2ESXk9DFzDliMkOfjmAO0eZ3b95IjYBRUgMlfTU1Neee12V0TxF/1qlTkjrpKQWRzgxKqKKumLdfomO6wqAgSFLq5hFPZfqmQ4AaGqmoIZ5H6huejhIEACH5BAUHAD8ALGIAYgA8ADwAAAb+wJ9wSCwajQABgTAIHJ/QqDSqeDwaiKl2y/1BLJZKpEsuEymYdMXMFioLhQHUkslgLM/BAYEoONtFBQwODgxPCHR2eEYCDRYYFxEHgEUGDxESEQ4CRoh1d0cIFx2kGoaUQwYQEqwRCACwsZ6KRgMRHR4fHhwKqEMEDqysD3JEs6BEAQoZuboZxb4CCpjCC7Gwx4u/Ex0fuh2nvkPBwhAExonIQgEMG80eFpziQwirwgx/P9lEBhbvHAnmFWEgLJMBeum0CXjAwZuuCfkE/jhgb5i8fUIQYHin4SAbAnAICABwZAE1VgmwJRQyQEI3bx0gRBwSgJOAmUMGJFjAMwH+AZw/HhSEIGdfgAUa3j2DAqfAuSM6GUhlsABBkyIJTkpYl+xHy5e7FjACSaRAngRTpyowMDLWgAastLTTVSHANSFmA0ExoCCtWj8khTjIq+XBhizroNWSstMvVZ9/gEYxkO+pEZFaDDT2u+CAPDNvntzc4uRAX86APpe9agbBgrSKzVgWJ6BA44CUKqumxFccWclsgJcJIFyi8SPEBQxYzrz58uJknEsXMNorSAPYs2vHDt34zQEFtovHflxLAPDjxZeXcg59eu2B10OpOWCJ/fv2BdbHj395dfkArhffPEoI1F0ZsQU4BU4HKvjDbEJA6CAjPxA2D3hP/IQKa22ZFGgcZjkNKEUAhDkh4YJHGABiILsdAUAxs50X3mVM6dUgGxZWONkUENrExH4saeHhFMsx0WKGbmy3zolG3MiGAEq6odeERECpHZVM5WNldlNS6dEQW5JHxADbMUmJhT1GudeHUoT5JZZRuNkkAdsduZ6cjFiYICBNxXEEnlQyZ6dqb9YygJ13wtmGATkq2iQ0ezpaBHXEzRMEACH5BAEHAD8ALGIAYgA8ADwAAAb+wJ9wSCwajwGB8shsOp/Pg0KBIECv2OyvAYE8FtqwmAiRmB/j9HDAFgCYEbMEwhQUDIbBW10kJP4HA3BydEYBCRAREQxWfEQFCwwMCwh7RXFmhUUGEhcXFhQJjo+RkguNl4RGAg4XGK8WCKNECpKSCQFGmHNFAAgUGBkZGBSzRAi2kga6qkQDEMHCF2DGQ7W2CgKpmUUJFdEYEtVEB6WSB5Y/u5o/BRHgseNECckLgkPrQwEMFuDs4wEMmGNQCV+zHwYmgKugJokSN0zo2VpQwCC3H6wuCMtwoUE6IQGnKEBVRACBAigJQDQyUEEudc0QfBNGzFCBBhc2aLjw4KP+EDt48BQYEODjgWQMKi75EaARNJoXFBQZsIDCBg9YOWDwifFOUKFEi1xLcI+JII3hiAhIIEFDBw8fPnjocIFrU69fDai0VK7skwESLBwAaQBChrdx43rI0MDJALxfCxAommZw0wYWOMBN7IFDhWxQTuYF+1JMgKpXE8ely8DvE5OQhXLFAgExZw0OCpTO8jivNjUCNnDeMAHB7jABeusdhUCuZ3vGTh5Pg6EjyVm/Rx3QLa+7ljcOH4p/ODvN+PNMjVR0Ul7MdfUEwr73zmc+fTGu7xuxT2TZzwH8DdGePI0MqJ93Bh4IhR7G5OfIPdmNolJ3BSSYxV7mHeEgH0OfTceeE+t1t6EhI47i4RATGhPhFST1pl56R9jRxHSTaVGiGg7690ONWOyWRIAvoshEiFMJ4ZeOTLyEpBNANuFXiEQSORUBQAZg5RhPrtFHeVd6lyVI162ooJGPqDXmgmXqc92NaSxZ5BBSygjniWpIacSXzrhZDZt4NsFdg3rmCaeGJe2J5qCGNDmLhwPoaOd/93V5pjxyTjoGSpZmWE0QADs=",alt:"Loading...",style:{width:"200px",margin:"auto",display:"block"}})})},de=Object(n.createContext)(),ue=a(14),pe=function(e){var t=new Date(1e3*e),a=t.getHours(),n="0"+t.getMinutes(),r="0"+t.getSeconds(),s=t.getMonth()+1;return"["+t.getDate()+"/"+s+"] "+a+":"+n.substr(-2)+":"+r.substr(-2)},he=function(e,t,a){var n="Invalid Command: You have to select at least one job.";return t.length>0&&(n="autosubmit setstatus "+e+' -fl "'+t.join(" ")+'" -t '+a+" -s -nt -np"),n},me=function(e,t){var a="You have to select at least one job.";return e.length>0&&(a=(a=e.join(" "+String(t)+"\n"))+" "+String(t)),a},be=function(e){if(e>0){var t=e,a=Math.floor(t/86400),n=Math.floor((t-86400*a)/3600),r=Math.floor((t-86400*a-3600*n)/60),s=t-86400*a-3600*n-60*r;return n<10&&(n="0"+n),r<10&&(r="0"+r),s<10&&(s="0"+s),(a>0?a+(a>1?" days - ":" day - "):"")+n+":"+r+":"+s}return"00:00:00"},je=function(e){return e<=2e3?1:Math.round(.005*e-37)},fe=function(e,t,a){var n=new Date;a=n.getFullYear().toString()+"-"+n.getMonth()+"-"+n.getDate()+"_"+n.getHours()+"-"+n.getMinutes()+"_"+a;var r="data:text/csv;charset=utf-8,";if(r+=t.join(",")+"\n",e){var s=[];4===t.length?e.map((function(e){return s.push([e[t[0]],e[t[1]],e[t[2]],e[t[3]]])})):6===t.length&&e.map((function(e){return s.push([e[t[0]],e[t[1]],e[t[2]],e[t[3]],e[t[4]],e[t[5]]])})),r+=s.map((function(e){return e.join(",")})).join("\n")}var c=encodeURI(r),i=document.createElement("a");i.setAttribute("href",c),i.setAttribute("download",a),document.body.appendChild(i),i.click()},xe=function(e){if(e){var t=e.filter((function(e){return"READY"===e.status})),a=[];return t.map((function(e){return a.push({name:e.id,status:e.status})})),a.length>0?a:null}return null},ge=function(e,t){var a=function(e,t){return e.reduce((function(e,a){var n=a[t];return e[n]=e[n]||[],e[n].push(a),e}),{})}(e,t),n=[];if(a)for(var r in a){var s=0,c=0;a[r].forEach((function(e){s+=e.Queue,c+=e.Run}));var i=s/a[r].length;i=Math.round(i);var o=c/a[r].length;o=Math.round(o),n.push({Section:r,SumQueue:s,AverageQueue:i,SumRun:c,AverageRun:o,Count:a[r].length})}return n},Oe=function(e,t,a,n){var r=null;!e&&t>600&&n&&(function(e){return!!e&&e.filter((function(e){return"QUEUING"===e.status||"SUBMITTED"===e.status||"RUNNING"===e.status})).length>0}(n)&&(r="The log of your experiment has been inactive for an extended period of time while some jobs are still active. Verify that Autosubmit is still working. Review your log: "+String(a)));return r},ve={data:{avg_bandwidth:null,avg_latency:null,bandwidth_warning:null,current_bandwidth:null,current_latency:null,datetime:"2021-04-19-13:50:04",error:!0,error_message:"The server couldn't reach esarchive in a reasonable time. Some simple operations might be completed, but complex requests are likely to fail.",latency_warning:null,reponse_time:2,response_warning:null,status:"OFFLINE"}},Ne=Object(oe.jsx)("i",{className:"far fa-square"}),ye=Object(oe.jsx)("i",{className:"fas fa-history"}),Ae=function(e){return e?String(e):""},Se=function(e){return e&&"NA"!==e?e:0},Ee=function(e,t){if(null===e||void 0===e||0===e.length||"NA"===e)return"NA";var a=e.split("-"),n=a[3].split(":");return a[0].substr(2,2)+""+a[1]+a[2]+n[0]+n[1]},Ce=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"name",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Differencia";if(e){var r=Object(oe.jsx)("div",{className:"row mx-2",children:Object(oe.jsx)("div",{className:"col",children:Object.keys(e).map((function(r){return Object(oe.jsxs)("div",{children:[Object(oe.jsxs)("p",{className:"lead",children:[Object(oe.jsxs)("strong",{children:["[",r,"]"]})," ",a.has("".concat(t,"+").concat(r))&&n]}),Object(oe.jsxs)("table",{className:"table table-sm table-fixed",children:[Object(oe.jsx)("thead",{className:"thead-dark",children:Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"col",children:"Setting"}),Object(oe.jsx)("th",{scope:"col",children:"Value"})]})}),Object(oe.jsx)("tbody",{children:Object.keys(e[r]).map((function(s){return Object(oe.jsxs)("tr",{children:[Object(oe.jsxs)("td",{children:[s," ",a.has("".concat(t,"+").concat(r,"+").concat(s))&&n]}),Object(oe.jsx)("td",{children:e[r][s]})]},s)}))})]})]},r)}))})});return r}return null},Te=function(e){if(!e||0===e.length)return 0;var t=e.reduce((function(e,t){return e+=t}));return e.length>0?t/e.length:0},we=function(e){return Math.sqrt(function(e){var t=Te(e);return Te(e.map((function(e){return Math.pow(e-t,2)})))}(e))},ke=function(e){if(!e||0===e.length)return 0;var t=Te(e);return Te(e.map((function(e){return Math.abs(e-t)})))},Re=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2,n=e&&Number.isFinite(e)?e:0,r=n.toFixed(!0===t?2:a).replace(/\d(?=(\d{3})+\.)/g,"$&,");return!1===t?r:r.substr(0,r.length-3)},De=function(e){var t=0,a=0,n=0,r=0,s=0,c=0,i=0,o=0,l=0,d=0,u=0,p=0;return e.forEach((function(e){t+=e.submittedCount,a+=e.retrialCount,n+=e.completedCount,r+=e.failedCount,s+=e.expectedConsumption,c+=e.realConsumption,i+=e.failedRealConsumption,o+=e.expectedCpuConsumption,l+=e.cpuConsumption,d+=e.failedCpuConsumption,u+=e.completedRunTime+e.failedRunTime})),o>0&&(p=l/o*100),{jobsSubmittedCount:Re(t,!0),jobsRunCount:Re(a,!0),jobsCompletedCount:Re(n,!0),jobsFailedCount:Re(r,!0),expectedConsumption:Re(s),realConsumption:Re(c),failedRealConsumption:Re(i),expectedCpuConsumption:Re(o),cpuConsumption:Re(l),failedCpuConsumption:Re(d),totalQueueTime:Re(u),cpuConsumptionPercentage:Re(p)}},_e=function(){var e=Object(n.useContext)(ie),t=Object(n.useContext)(de),a=e.experiment,r=e.experimentRuns,s=e.getExperimentRuns,c=t.getExperimentRunJobData,i=t.fancyTree,o=t.startAutoUpdateTreePkl,l=t.loadingPreviousRun,d=t.currentRunIdOnTree,u=a.db_historic_version,p=a.expid,h="runs-"+p;return a&&u&&u>=12?Object(oe.jsxs)("span",{children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-info my-0 py-0",type:"button",onClick:function(e){e.preventDefault(),s(p)},"data-toggle":"modal","data-target":"#"+h,children:Object(oe.jsx)("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Shows information from previous runs of the experiment.",children:ye})}),Object(oe.jsx)("div",{className:"modal fade text-dark",id:h,tabIndex:"-1",role:"dialog","aria-labelledby":h+"Title","aria-hidden":"true",children:Object(oe.jsx)("div",{className:"modal-dialog modal-dialog-historic",role:"document",children:Object(oe.jsxs)("div",{className:"modal-content",children:[Object(oe.jsxs)("div",{className:"modal-header",children:[Object(oe.jsxs)("h5",{className:"modal-title",id:h+"Title",children:["Runs of ",Object(oe.jsx)("strong",{children:p})," ",Object(oe.jsx)("small",{className:"text-muted",children:"(The first row represents the current run.)"}),d&&!l&&Object(oe.jsxs)("small",{children:["\xa0\xa0 Data from run ",Ee(String(d.created),d.runId)," is displayed in the Tree View."]}),l&&Object(oe.jsx)("small",{children:"\xa0\xa0 The data from the previous is being retrieved and processed..."})]}),"\xa0",Object(oe.jsx)("button",{className:"close",type:"button","data-dismiss":"modal","aria-label":"Close",children:Object(oe.jsx)("span",{"aria-hidden":"true",children:"\xd7"})})]}),Object(oe.jsxs)("div",{className:"modal-body scroll-x",children:[r&&r.runs&&Object(oe.jsx)("small",{children:Object(oe.jsxs)("table",{className:"table table-sm table-bordered",children:[Object(oe.jsx)("thead",{className:"thead-dark",children:Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"col",className:""}),Object(oe.jsx)("th",{scope:"col",className:"pl-2",children:"RunId"}),Object(oe.jsx)("th",{scope:"col",className:"pl-2",children:"Created"}),Object(oe.jsx)("th",{scope:"col",className:"pl-2",children:"Finish"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Submitted"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Queuing"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Running"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Failed"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Suspended"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Completed"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Total"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"SYPD"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"ASYPD"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"ChunkUnit"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"ChunkSize"})]})}),Object(oe.jsx)("tbody",{children:r.runs.map((function(e){return Object(oe.jsxs)("tr",{children:[Object(oe.jsxs)("td",{className:"text-center",children:[l&&Object(oe.jsx)("span",{children:"..."}),!l&&Object(oe.jsx)("button",{className:d&&d.runId===e.run_id?"btn btn-sm btn-success":"btn btn-sm btn-primary",type:"button",onClick:(t=e.run_id,a=e.created,n=e.finished,r=e.completed,s=e.total,function(e){i?!0!==o?(e.preventDefault(),c(p,t,{created:a,finished:n,completed:r,total:s})):alert("Please stop the Job Monitor on the Tree View before querying for a previous run."):alert("The TreeView must be loaded before attempting to show previous runs.")}),children:Object(oe.jsx)("i",{className:"fas fa-eye"})})]}),Object(oe.jsxs)("td",{className:"pl-1 runIdtd",children:[Ee(String(e.created),e.run_id)," ",Object(oe.jsx)("span",{className:"bg-primary text-white rounded px-1",children:e.run_id})]}),Object(oe.jsx)("td",{className:"pl-1",children:e.created}),Object(oe.jsx)("td",{className:"pl-1",children:e.finish}),Object(oe.jsx)("td",{className:"text-right pr-1",children:e.submitted}),Object(oe.jsx)("td",{className:"text-right pr-1",children:e.queuing}),Object(oe.jsx)("td",{className:"text-right pr-1",children:e.running}),Object(oe.jsx)("td",{className:"text-right pr-1",children:e.failed}),Object(oe.jsx)("td",{className:"text-right pr-1",children:e.suspended}),Object(oe.jsx)("td",{className:"text-right pr-1",children:e.completed}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Object(oe.jsx)("strong",{children:e.total})}),Object(oe.jsx)("td",{className:"text-right pr-1",children:e.SYPD}),Object(oe.jsx)("td",{className:"text-right pr-1",children:e.ASYPD}),Object(oe.jsx)("td",{className:"text-right pr-1",children:e.chunk_unit}),Object(oe.jsx)("td",{className:"text-right pr-1",children:e.chunk_size})]},e.run_id);var t,a,n,r,s}))})]})}),r&&0===r.runs.length&&Object(oe.jsx)("p",{children:"There are not runs recorded for this experiment. Are you running the latest version of Autosubmit that implements the historic database?"})]}),Object(oe.jsx)("div",{className:"modal-footer",children:Object(oe.jsx)("button",{type:"button",className:"btn btn-secondary","data-dismiss":"modal",children:"Close"})})]})})})]}):null},Ie=function(){var e=Object(n.useContext)(ie),t=e.experiment,a=e.currentUpdateDescripCommand,r=e.setCurrentUpdateDescripCommand,s=e.loggedUser,c=e.currentToken,i=e.updateDescription,o=Object(n.useState)(""),l=Object(p.a)(o,2),d=l[0],u=l[1],h=function(e){return u(e.target.value)},m=null;t&&(m=t.expid);var b=function(e){e.preventDefault();var t=function(e,t){var a="Not a valid experiment.";return e&&(a="autosubmit updatedescrip "+e+" '"+t+"'"),a}(m,d||"New description");r(t),j(t)},j=function(e){window.copyTextToClipboard(e)};return m?Object(oe.jsxs)("span",{children:[Object(oe.jsx)("span",{className:"p-0 m-0","data-toggle":"tooltip","data-placement":"bottom",title:"Generate a command to change the experiment description.",children:Object(oe.jsx)("button",{className:"btn btn-sm btn-info my-0 py-0",type:"button",onClick:b,"data-toggle":"modal","data-target":"#updatedescrip_modal",children:"Change"})}),Object(oe.jsx)("div",{className:"modal fade",id:"updatedescrip_modal",tabIndex:"-1",role:"dialog","aria-labelledby":"updatedescripTitle","aria-hidden":"true",children:Object(oe.jsx)("div",{className:"modal-dialog modal-dialog-status",role:"document",children:Object(oe.jsxs)("div",{className:"modal-content",children:[Object(oe.jsxs)("div",{className:"modal-body pb-1",children:[t&&s&&t.owner===s&&c&&Object(oe.jsxs)("div",{className:"",children:[Object(oe.jsx)("div",{className:"row text-dark",children:Object(oe.jsx)("div",{className:"col",children:Object(oe.jsx)("small",{children:"Type your new description and press change to directly change the description of your experiment:"})})}),Object(oe.jsx)("div",{className:"row text-dark",children:Object(oe.jsx)("div",{className:"col",children:Object(oe.jsx)("form",{onSubmit:function(e,t){return function(a){a.preventDefault(),i(e,t)}}(m,d),className:"form",children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{type:"text",name:"text",className:"form-control py-0",placeholder:"Insert your new description and press Enter or click on Set.","aria-label":"Update",value:d,onChange:h}),Object(oe.jsx)("div",{className:"input-group-append",children:Object(oe.jsx)("input",{className:"btn btn-success",type:"submit","data-toggle":"tooltip","data-placement":"bottom",value:"Change",title:"Insert your new description and click."})})]})})})})]}),Object(oe.jsx)("div",{className:"row text-dark",children:Object(oe.jsx)("div",{className:"col",children:Object(oe.jsx)("small",{children:"Generate a command to change the description of your experiment."})})}),Object(oe.jsx)("div",{className:"row text-dark",children:Object(oe.jsx)("div",{className:"col",children:Object(oe.jsx)("form",{onSubmit:b,className:"form",children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{type:"text",name:"text",className:"form-control py-0",placeholder:"Insert your new description and press Enter or click on Set. Works on the latest version of AS.","aria-label":"Update",value:d,onChange:h}),Object(oe.jsx)("div",{className:"input-group-append",children:Object(oe.jsx)("input",{className:"btn btn-dark",type:"submit","data-toggle":"tooltip","data-placement":"bottom",value:"Set",title:"Insert your new description and click."})})]})})})}),Object(oe.jsx)("div",{className:"row mt-2 mx-1",children:Object(oe.jsx)("div",{className:"col-12",style:{fontFamily:"Courier",background:"black",color:"white"},children:a&&Object(oe.jsx)("div",{className:"p-2",style:{whiteSpace:"normal"},children:JSON.parse(JSON.stringify(a))})})})]}),a&&a.length>0&&Object(oe.jsx)("div",{className:"row mx-1 mb-2 float-left text-dark ",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsx)("small",{children:"The command has been copied to the clipboard. Paste it in your terminal."})})}),Object(oe.jsx)("div",{className:"modal-footer",children:Object(oe.jsx)("button",{type:"button",className:"btn btn-sm btn-dark","data-dismiss":"modal",children:"Close"})})]})})})]}):null},Pe=function(e){e.expidToken;var t=Object(n.useContext)(ie),a=t.loading,r=t.loadingState,s=t.experiment,c=t.experimentRunning;if(null===s)return Object(oe.jsx)(le,{});var i=s.expid,o=s.error,l=s.error_message;return a?Object(oe.jsx)("span",{children:"Loading..."}):s?Object(oe.jsxs)("span",{className:"navbar-brand ml-4",children:[Object(oe.jsx)("strong",{children:i})," ",o&&Object(oe.jsx)("pre",{className:"text-danger",children:l})," ",r&&Object(oe.jsx)("span",{className:"badge badge-dark text-right",children:"LOADING..."}),c&&!r&&Object(oe.jsx)("span",{className:"badge badge-success text-right",children:"ACTIVE"}),!c&&!r&&Object(oe.jsx)("span",{className:"badge badge-secondary text-right",children:"INACTIVE"}),"\xa0",Object(oe.jsx)(_e,{}),"\xa0",Object(oe.jsx)(Ie,{})]}):null},Le=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"componentDidMount",value:function(){var e=this;this.props.getFileStatus(),this.interval=setInterval((function(){return e.props.getFileStatus()}),3e5)}},{key:"componentWillUnmount",value:function(){this.props.cleanFileStatusData(),clearInterval(this.interval)}},{key:"render",value:function(){if(this.props.esarchiveStatus){var e=this.props.esarchiveStatus,t=e.avg_bandwidth,a=e.avg_latency,n=e.bandwidth_warning,r=e.current_bandwidth,s=e.current_latency,c=e.error,i=e.error_message,o=e.latency_warning,l=e.reponse_time,d=e.response_warning,u=e.status,p=c?"":r.toFixed(2)+" MB/s "+s.toFixed(2)+" s",h=Object(oe.jsxs)("span",{children:["esarchive ",p]});if(c||"ONLINE"!==u){var m=c?i:"Access to esarchive seems to be unstable at the moment.";h=Object(oe.jsx)("span",{className:"badge badge-light","data-toggle":"tooltip","data-placement":"bottom",title:m,children:"esarchive unreachable"})}else if(n||o||d){var b=(n?String(n)+". Current bandwidth: "+String(r.toFixed(2))+" MB/s. Average over last day: "+String(t.toFixed(2))+" MB/s.":"")+(o?"\n"+String(o)+". Current latency: "+String(s.toFixed(2))+"s. Average over last day: "+String(a.toFixed(2))+"s.":"")+(d?"\n"+String(d)+". Current response time: "+String(l.toFixed(2))+" s.":"");h=Object(oe.jsxs)("span",{className:"badge badge-warning","data-toggle":"tooltip","data-placement":"bottom",title:b,children:["esarchive ",Object(oe.jsx)("i",{className:"fa fa-exclamation-circle","aria-hidden":"true"})," ",p]})}return Object(oe.jsx)("span",{className:"navbar-brand ml-4",children:Object(oe.jsx)("span",{children:h})})}return Object(oe.jsx)("span",{className:"navbar-brand ml-4",children:Object(oe.jsx)("span",{className:"badge badge-secondary",children:"Testing esarchive..."})})}}]),a}(n.Component),Me=function(e){var t=e.icon,a=e.title,r=Object(u.g)(),s=Object(n.useContext)(ie),c=s.searchExperiments,i=s.experiment,o=s.cleanFileStatusData,l=s.getFileStatus,h=s.esarchiveStatus,m=s.loggedUser,j=s.setLoggedUser,x=s.testToken,g=localStorage.getItem(f);Object(n.useEffect)((function(){var e=localStorage.getItem("user"),t=localStorage.getItem("token");e&&t&&!m&&j(e,t),e&&t&&m&&x()}),[m,j]);var O=Object(n.useState)(""),v=Object(p.a)(O,2),N=v[0],y=v[1],A=null;i&&(A=i.expid);return Object(oe.jsx)("nav",{className:"navbar navbar-expand-lg navbar-dark bg-dark mb-1 p-1",children:Object(oe.jsxs)("div",{className:"container",children:[Object(oe.jsxs)(d.b,{className:"navbar-brand",to:"/".concat(b,"/"),children:[Object(oe.jsx)("i",{className:t})," ",a]}),Object(oe.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#mainMenuContent","aria-controls":"mainMenuContent","aria-expanded":"false","aria-label":"Toggle main menu",children:Object(oe.jsx)("span",{className:"navbar-toggler-icon"})}),Object(oe.jsxs)("div",{className:"collapse navbar-collapse",id:"mainMenuContent",children:[Object(oe.jsxs)("ul",{className:"navbar-nav mr-auto mt-2 mt-lg-0",children:[Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)(d.b,{className:"nav-link",to:"/".concat(b,"/"),children:"Home"})}),Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)(d.b,{className:"nav-link",to:"/".concat(b,"/about"),children:Object(oe.jsx)("u",{children:"About"})})}),Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)(d.b,{className:"nav-link",to:"/".concat(b,"/news"),children:Object(oe.jsxs)("u",{className:"text-decoration-none",children:["News"," ",null===g?Object(oe.jsx)("span",{className:"badge badge-warning",children:"!"}):""]})})}),Object(oe.jsx)("li",{className:"nav-item",children:A&&Object(oe.jsx)(Pe,{expidToken:A})}),Object(oe.jsx)("li",{children:Object(oe.jsx)(Le,{getFileStatus:l,cleanFileStatusData:o,esarchiveStatus:h})})]}),r&&r.location.pathname!=="/".concat(b,"/")&&r.location.pathname!=="/".concat(b)&&Object(oe.jsx)("form",{className:"form-inline my-2 my-lg-0",onSubmit:function(e){e.preventDefault(),""!==N&&(c(N),r.push("/".concat(b,"/")))},children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{type:"search",className:"form-control py-0",placeholder:"Search Experiments","aria-label":"Search",value:N,onChange:function(e){return y(e.target.value)}}),Object(oe.jsx)("div",{className:"input-group-append",children:Object(oe.jsx)("button",{className:"btn btn-dark",type:"submit","data-toggle":"tooltip","data-placement":"bottom",title:"Search by expid, description, or owner.",children:"Search"})})]})}),m&&"Failed"!==m&&Object(oe.jsx)("span",{className:"bg-secondary rounded text-dark px-2 mx-1",children:m}),m&&"Failed"!==m&&Object(oe.jsx)("button",{className:"btn btn-sm btn-dark",onClick:function(e){e.preventDefault(),localStorage.removeItem("user"),localStorage.removeItem("token"),j(null,null)},children:"Logout"}),(!m||"Failed"===m)&&Object(oe.jsx)(d.b,{title:"Some features might require your credentials.",className:"btn btn-sm btn-primary",to:"/".concat(b,"/login"),children:"Login"})]})]})})};Me.defaultProps={title:"Autosubmit Searcher",icon:"fas fa-home"};var Fe=Me,Ue=Object(n.createContext)(),Ge=function(){var e=Object(n.useContext)(Ue).alert;return null!==e&&Object(oe.jsxs)("div",{className:"alert alert-".concat(e.type),children:[Object(oe.jsx)("i",{className:"fas fa-info-circle"})," ",e.msg]})},Ye=function(){return Object(oe.jsxs)(n.Fragment,{children:[Object(oe.jsx)("h3",{children:"User Information"}),Object(oe.jsxs)("p",{children:["To request more information make a post in the issue"," ",Object(oe.jsx)("a",{href:"https://earth.bsc.es/gitlab/es/autosubmit/issues/506",children:"Autosubmit User Documentation"}),"."]}),Object(oe.jsx)("h3",{children:"Bugs and Requests"}),Object(oe.jsxs)("p",{children:["If you find a bug or want to request some important feature, please open an issue at"," ",Object(oe.jsx)("a",{href:"https://earth.bsc.es/gitlab/es/autosubmit/issues",children:"Autosubmit Issues"}),"."]}),Object(oe.jsx)("p",{children:"Version: 1.0.0-beta"})]})},Be=function(){return localStorage.setItem(f,!0),Object(oe.jsxs)("div",{className:"container",children:[Object(oe.jsxs)("h3",{children:["Updates ",Object(oe.jsx)("small",{})]}),Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("h4",{children:"11-10-2021"}),Object(oe.jsxs)("div",{children:[Object(oe.jsx)("strong",{children:"The Statistics"})," tab of your experiment has been improved.",Object(oe.jsxs)("ul",{children:[Object(oe.jsxs)("li",{children:["To access these results you only have to press the ",Object(oe.jsx)("strong",{children:"Get Statistics"})," button on the Statitics tab of your experiment. Optionally, you can provide a job type (section) and a number of hours to look into the past (this number determines the time range to query)."]}),Object(oe.jsxs)("li",{children:["The result includes a table that summarizes the completion of your experiment according to the number of jobs that have reached a revelant status. It also includes two tables that provide a measure of the resources spent by your experiment compared to the ",Object(oe.jsx)("i",{children:"expected"})," consumption."]}),Object(oe.jsxs)("li",{children:["The module now includes two graphs: The first mesaures Queue time, Run time, Failed Queue time, and Failed Run time for the jobs in your experiments, in ",Object(oe.jsx)("i",{children:"hours"}),". The second graph shows the count of failed run attemps per job."]}),Object(oe.jsxs)("li",{children:["You can filter the results using a ",Object(oe.jsx)("i",{children:"regular expression"}),". The graphs will only show those jobs that coincide with the regular expression. Then, a new column will be added next to the original results, this new columns shows the metrics for the jobs that coincide with the filter."]})]})]})]})})]})},He=function(){return Object(oe.jsxs)("div",{children:[Object(oe.jsx)("h1",{children:"Oops!"}),Object(oe.jsx)("p",{children:"Looks like you are lost. Better go back home."}),Object(oe.jsx)(d.b,{to:"/".concat(b,"/"),className:"btn btn-light",children:"Back Home"})]})},Qe=function(e){e.expidToken,e.refTree;var t=Object(n.useContext)(ie),a=t.loading,r=t.experiment,s=t.totalJobs;if(null===r)return Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsx)("div",{className:"footer bg-dark text-white p-0"})})});var c=r.owner,i=r.owner_id,o=r.db_historic_version,l=r.version,d=r.branch,u=r.hpc,p=r.description,h=o||"NA";return a?Object(oe.jsx)("div",{className:"footer bg-dark text-white ",children:Object(oe.jsx)("div",{className:"card-footer p-0 px-2 scroll-x",children:Object(oe.jsx)("div",{className:"row text-right",children:Object(oe.jsx)("div",{className:"col",children:"Loading..."})})})}):Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col",children:Object(oe.jsx)("div",{className:"footer bg-dark text-white py-0 mb-0",children:Object(oe.jsx)("div",{className:"card-footer py-0 mb-0 scroll-x",children:Object(oe.jsx)("div",{className:"row text-right",children:Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("span",{className:"mr-2",children:p}),"|",Object(oe.jsxs)("span",{className:"mx-2",children:[Object(oe.jsx)("strong",{children:"Branch:"})," ",d]}),"|",Object(oe.jsxs)("span",{className:"mx-2",children:[Object(oe.jsx)("strong",{children:"Hpc:"})," ",u]}),"|",Object(oe.jsxs)("span",{className:"mx-2",children:[Object(oe.jsx)("strong",{children:"Owner:"})," ",i," ",c," "]}),"|",Object(oe.jsxs)("span",{className:"mx-2",children:[Object(oe.jsx)("strong",{children:"Version:"})," ",l]}),"|",Object(oe.jsxs)("span",{className:"mx-2",children:[Object(oe.jsx)("strong",{children:"DB:"})," ",h]}),"|",Object(oe.jsxs)("span",{className:"mx-2",children:[Object(oe.jsx)("strong",{children:"#Jobs:"})," ",s]})]})})})})})})},Je=a(30),Ve=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"shouldComponentUpdate",value:function(e,t){return!0===this.props.shouldUpdateGraph||(!(!e.data||!this.props.data||e.data.pkl_timestamp===this.props.data.pkl_timestamp)||e.loadingGraph!==this.props.loadingGraph)}},{key:"componentWillUnmount",value:function(){this.props.cleanGraphData(),this.props.clearStats()}},{key:"render",value:function(){if(this.props.loadingGraph)return Object(oe.jsx)(le,{});if(!this.props.data)return Object(oe.jsxs)("div",{className:"card-body text-left",style:We,children:[Object(oe.jsxs)("p",{className:"lead",children:["Press ",Object(oe.jsx)("span",{className:"badge badge-info",children:"Classic"})," to see the standard graph representation of the experiment."]}),Object(oe.jsx)("p",{children:"For the classic approach, the algorithm will first try to use graphviz, there are some constraints in place that try to identify those instances that could potentially make graphviz run forever. If an experiment is identified to be time-wise out of bounds for graphviz, it will be sent to the regular algorithm. Currently, the regular algorithm does not handle well wrappers; work is being done to developed a general algorithm."}),Object(oe.jsxs)("p",{className:"lead",children:["Press ",Object(oe.jsx)("span",{className:"badge badge-info",children:"Date-Member"})," to see the graph representation grouped by date-member."]}),Object(oe.jsxs)("p",{className:"lead",children:["Press ",Object(oe.jsx)("span",{className:"badge badge-info",children:"Status"})," to see the graph representation grouped by status. ",Object(oe.jsx)("span",{className:"badge badge-danger",children:"FAILED"})," jobs are not grouped."]}),Object(oe.jsxs)("p",{className:"lead",children:["The ",Object(oe.jsx)("span",{className:"badge badge-info",children:Object(oe.jsx)("i",{className:"fas fa-chess-board"})})," button produces a graph representation based on 2nd and 3rd eigenvectors of the Laplacian Matrix of the Graph representation of your experiment. Could be interesting in some instances."]}),Object(oe.jsxs)("p",{className:"lead",children:["If the experiment is"," ",Object(oe.jsx)("span",{className:"badge badge-success",children:"RUNNING"})," and the Graph has been rendered, press"," ",Object(oe.jsx)("span",{className:"badge badge-success",children:"Start Job Monitor"})," to start a live tracker of the changes on the experiment's jobs. This process will automatically update the graph's nodes colors and show a log of the detected changes."]}),Object(oe.jsx)("p",{className:"lead",children:"If there are any defined wrappers, they will be shown on the corresponding tab at the right side of the Graph. You can click on any member of that list and the nodes belonging to that wrapper will be highlighted."})]});var e=[],t=[],a=this.props.data.graphviz,r=this.props.data.groups,s=this.props.data.groups_data,d=this.props.current_grouped;if(!(this.props.data.nodes.length>0&&null!==this.props.data.edges))return Object(oe.jsxs)("div",{className:"card-body text-left",style:We,children:[Object(oe.jsx)("p",{className:"lead",children:"Something has gone very wrong."}),Object(oe.jsx)("p",{className:"lead text-danger",children:this.props.data.error_message})]});!0===a?this.props.data.nodes.map((function(t){return e.push({id:t.id,label:t.label,shape:t.shape,color:{background:t.status_color,border:"black"},status:t.status,x:t.x,y:t.y,shapeProperties:{borderDashes:t.dashed}})})):this.props.data.nodes.map((function(t){return e.push({id:t.id,label:t.label,shape:t.shape,color:{background:t.status_color,border:"black"},status:t.status,shapeProperties:{borderDashes:t.dashed},x:t.x,y:t.y})})),this.props.data.edges&&this.props.data.edges.map((function(e){return t.push({id:e.id,from:e.from,to:e.to,dashes:e.dashed,background:{enabled:e.is_wrapper,color:"rgba(63, 191, 63, 0.5)"},arrows:{to:{enabled:!e.dashed}}})})),this.props.data.fake_edges&&this.props.data.fake_edges.map((function(e){return t.push({id:e.id,from:e.from,to:e.to,dashes:e.dashed,background:{enabled:e.is_wrapper,color:"rgba(63, 191, 63, 0.5)"},arrows:{to:{enabled:!e.dashed}}})}));var u=new Je.a.DataSet(e),p=new Je.a.DataSet(t),h=!1;this.props.data.total_jobs<=500&&(h=!0);var m={autoResize:!0,edges:{arrows:{to:{enabled:!0}}},layout:{improvedLayout:!1,hierarchical:{nodeSpacing:190,blockShifting:!1,edgeMinimization:h,parentCentralization:!0,sortMethod:"hubsize",direction:"UD",enabled:!1}},interaction:{dragNodes:!0,hoverConnectedEdges:!0,hideEdgesOnDrag:!0,multiselect:!0,navigationButtons:!0},physics:{enabled:!1,stabilization:{enabled:!0,iterations:1e3}},nodes:{shape:"dot",font:{size:17.5}}},b={nodes:u,edges:p},j=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"shouldComponentUpdate",value:function(e,t){return!0===this.props.shouldUpdateGraph}},{key:"componentDidMount",value:function(){var e=this,t=new Je.a.Network(this.refs.myRef,this.props.graph,this.props.options),a=this.props.groups_data,n=this.props.current_grouped;if(this.props.setVisNetwork(t),t.on("select",(function(a){a.nodes&&1===a.nodes.length&&(t.isCluster(a.nodes[0])||(e.props.updateSelection(a.nodes),e.props.updateCurrentSelected(a.nodes[0],e.props.data)))})),t.on("doubleClick",(function(e){if(e.nodes&&1===e.nodes.length&&t.isCluster(e.nodes[0])){var a={releaseFunction:function(e,t){return t}};t.openCluster(e.nodes[0],a)}})),this.props.clusterGroups){var r=this.props.clusterGroups;if("date-member"===n)for(var s,c=function(e){var n=r[e];s={joinCondition:function(e){return e.id.startsWith(n)},processProperties:function(e,t,a){for(var n=0,r=0;r0&&(R=Object(oe.jsxs)("div",{className:"col-12",children:["Set status to:"," ",Object(oe.jsxs)("div",{className:"btn-group",role:"group","aria-label":"Status",children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",style:{background:"lightblue"},onClick:w("READY"),children:"Ready"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",onClick:w("WAITING"),children:"Waiting"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",style:{background:"yellow"},onClick:w("COMPLETED"),children:"Completed"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",style:{background:"orange"},onClick:w("SUSPENDED"),children:"Suspended"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-danger",onClick:w("FAILED"),children:"Failed"})]})]}),D=Object(oe.jsxs)("div",{className:"col-12",children:["Generate file text:"," ",Object(oe.jsxs)("div",{className:"btn-group",role:"group","aria-label":"Status",children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",style:{background:"lightblue"},onClick:T("READY"),children:"Ready"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",onClick:T("WAITING"),children:"Waiting"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",style:{background:"yellow"},onClick:T("COMPLETED"),children:"Completed"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",style:{background:"orange"},onClick:T("SUSPENDED"),children:"Suspended"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-danger",onClick:T("FAILED"),children:"Failed"})]})]})),Object(oe.jsx)("div",{className:"modal fade",id:"command"+a,tabIndex:"-1",role:"dialog","aria-labelledby":"commandTitle"+a,"aria-hidden":"true",children:Object(oe.jsx)("div",{className:"modal-dialog modal-dialog-status",role:"document",children:Object(oe.jsxs)("div",{className:"modal-content",children:[Object(oe.jsxs)("div",{className:"modal-body pb-1",children:[Object(oe.jsx)("div",{className:"row",children:R}),Object(oe.jsx)("div",{className:"row mt-2 mx-1",children:Object(oe.jsx)("div",{className:"col-12",style:{fontFamily:"Courier",background:"black",color:"white"},children:S&&Object(oe.jsx)("div",{className:"p-2",children:JSON.parse(JSON.stringify(S))})})})]}),S&&S.length>0&&Object(oe.jsx)("div",{className:"row mx-1 mb-2 float-left",children:Object(oe.jsx)("div",{className:"col-12",children:"The command has been copied to the clipboard. Paste it in your terminal."})}),Object(oe.jsxs)("div",{className:"modal-body pb-1",children:[Object(oe.jsx)("div",{className:"row",children:D}),Object(oe.jsx)("div",{className:"row mt-2 mx-1",children:Object(oe.jsx)("div",{className:"col-12",style:{fontFamily:"Courier",background:"black",color:"white"},children:E&&Object(oe.jsx)("div",{className:"p-2",children:E.split("\n").map((function(e,t){return Object(oe.jsx)("p",{children:e},t)}))})})})]}),E&&E.length>0&&Object(oe.jsx)("div",{className:"row mx-1 mb-2 float-left",children:Object(oe.jsx)("div",{className:"col-12",children:"The text has been copied to the clipboard. Paste it in your status change file."})}),Object(oe.jsx)("div",{className:"modal-footer",children:Object(oe.jsx)("button",{type:"button",className:"btn btn-sm btn-dark","data-dismiss":"modal",children:"Close"})})]})})})},Xe=function(e){var t=e.source,a=e.target,r=Object(n.useContext)(ie),s=r.currentSelected,c=r.removeSelectedJob,i=r.canSelect;return!0===i?Object(oe.jsxs)(n.Fragment,{children:[Object(oe.jsxs)("div",{className:"card p-0 m-0",children:[Object(oe.jsx)("div",{className:"card-header text-center p-1",children:Object(oe.jsx)("button",{className:"btn btn-primary btn-sm","data-toggle":"modal","data-target":"#command"+a,children:Object(oe.jsx)("span",{children:"Generate Command"})})}),Object(oe.jsx)("div",{className:"card-body",children:s&&s.sort((function(e,t){return e.name>t.name?-1:1})).map((function(e){return Object(oe.jsx)("button",{type:"button",className:"btn btn-sm btn-secondary",style:{background:e.color},onClick:(t=e.name,function(e){e.preventDefault(),c(t)}),children:Object(oe.jsx)("span",{children:e.name})},e.name);var t}))})]}),Object(oe.jsx)(Ke,{source:t,target:a})]}):Object(oe.jsx)("div",{className:"card"})},Ze=a.p+"static/media/dogload.7fd39847.gif",$e=a.p+"static/media/catload.d22d6312.gif",et=a.p+"static/media/platyload.ad32cb95.gif",tt=Object(n.createContext)(),at=function(e){var t=e.loadsource,a=Object(n.useContext)(de),r=Object(n.useContext)(tt),s=Object(n.useContext)(ie),c=s.expectedLoadingTreeTime,i=s.expectedLoadingQuickView,o=a.increaseElapsedLoadingTree,l=a.elapsedLoadingTree,d=r.increaseElapsedLoadingQuickView,u=r.elapsedLoadingQuickView,p="tree"===t?o:d,h="tree"===t?l:u,m="tree"===t?c:i,b="tree"===t?"Fetching this tree view will take about "+m+" seconds.":"Loading this not-so-quick view will take about "+m+" seconds.";return Object(n.useEffect)((function(){var e=setInterval((function(){p()}),1e3);return function(){return clearInterval(e)}}),[]),Object(oe.jsxs)("div",{className:"pb-4 text-center",children:[m>240&&Object(oe.jsxs)("p",{children:["This experiment might be too heavy to fetch in due time. If an error message is prompted, try the ",Object(oe.jsx)("b",{children:"Quick View"}),"."]}),Object(oe.jsx)("p",{children:b}),Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col",children:Object(oe.jsx)("div",{className:"progress",children:Object(oe.jsx)("div",{className:"progress-bar",role:"progressbar",style:{width:m>0&&h<=m?h/m*100+"%":"100%"},"aria-valuenow":h,"aria-valuemin":"0","aria-valuemax":m,children:h})})})})]})},nt=function(e){var t=e.source,a=Object(n.useContext)(ie),r=a.expectedLoadingTreeTime,s=a.expectedLoadingQuickView,c=a.animal,i="tree"===t?3===c?et:2===c?Ze:$e:$e;return("tree"===t?r:s)>=1?Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("div",{className:"row justify-content-center",children:Object(oe.jsx)("div",{className:"col-4",children:Object(oe.jsx)("img",{src:i,alt:"Loading...",style:{width:"200px",margin:"auto",display:"block"}})})}),Object(oe.jsx)("div",{className:"row justify-content-center",children:Object(oe.jsx)("div",{className:"col-4",children:Object(oe.jsx)(at,{loadsource:t})})})]})}):Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col",children:Object(oe.jsx)(le,{})})})},rt=(a(61),a(37),a(38),a(39),a(40),a(20)),st=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"shouldComponentUpdate",value:function(e,t){return e.treedata!==this.props.treedata||e.loadingTree!==this.props.loadingTree}},{key:"componentWillUnmount",value:function(){this.props.cleanTreeData()}},{key:"componenteDidMount",value:function(){}},{key:"render",value:function(){if(this.props.loadingTree)return Object(oe.jsx)(nt,{source:"tree"});if(!this.props.treedata)return Object(oe.jsxs)("div",{className:"card-body text-left",style:ct,children:[Object(oe.jsxs)("p",{className:"lead",children:["Press ",Object(oe.jsx)("span",{className:"badge badge-info",children:"Show"})," to see the tree view representation of the experiment."]}),Object(oe.jsx)("p",{className:"lead",children:"Repeating subtrees in the tree view are only shown once, use the searcher to focus only on those items."})]});if(!0===this.props.treedata.error)return Object(oe.jsxs)("div",{className:"card-body text-left",style:ct,children:[Object(oe.jsx)("p",{className:"lead",children:"Something has gone very wrong."}),Object(oe.jsx)("p",{className:"lead text-danger",children:this.props.treedata.error_message})]});var e=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"componentDidMount",value:function(){var e=this,t=new rt.createTree("#tree",{activate:function(t,a){a&&(e.props.updateSelectionTree(a),a&&a.node&&void 0===a.node.folder&&e.props.updateCurrentSelected(a.node.refKey,e.props.originaldata))},extensions:["filter","childcounter","clones","multi"],filter:{autoApply:!0,autoExpand:!0,counter:!0,fuzzy:!1,hideExpandedCounter:!0,hideExpanders:!1,highlight:!1,leavesOnly:!0,nodata:!0,mode:"hide"},source:this.props.treedata});this.props.setFancyTree(t)}},{key:"componentWillUnmount",value:function(){}},{key:"render",value:function(){return Object(oe.jsx)("div",{className:"card-body p-0",children:Object(oe.jsx)("div",{id:"tree"})})}}]),a}(n.Component);return Object(oe.jsx)(e,{treedata:this.props.treedata.tree,originaldata:this.props.treedata,setFancyTree:this.props.setFancyTree,updateSelectionTree:this.props.updateSelectionTree,updateCurrentSelected:this.props.updateCurrentSelected,canSelect:this.props.canSelect})}}]),a}(n.Component),ct={height:750},it=st,ot=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"shouldComponentUpdate",value:function(e,t){return e.data!==this.props.data||e.loadingView!==this.props.loadingView}},{key:"componentWillUnmount",value:function(){this.props.cleanLoadingLighterView()}},{key:"componentDidMount",value:function(){}},{key:"render",value:function(){if(this.props.loadingView)return Object(oe.jsx)(nt,{source:"lighter"});if(!this.props.data)return Object(oe.jsxs)("div",{className:"card-body text-left",style:lt,children:[Object(oe.jsxs)("p",{className:"lead",children:["Press ",Object(oe.jsx)("span",{className:"badge badge-info",children:"View"})," to see the light-version of the experiment representation."]}),Object(oe.jsx)("p",{className:"lead",children:"Use the search tool."})]});if(!1===this.props.isValid)return Object(oe.jsxs)("div",{className:"card-body text-left",style:lt,children:[Object(oe.jsx)("p",{className:"lead",children:"Something has gone very wrong."}),Object(oe.jsx)("p",{className:"lead text-danger",children:this.props.errorMessage})]});var e=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"componentDidMount",value:function(){var e=new rt.createTree("#light_tree",{extensions:["filter","childcounter"],filter:{autoApply:!0,autoExpand:!0,counter:!0,fuzzy:!1,hideExpandedCounter:!0,hideExpanders:!1,highlight:!1,leavesOnly:!0,nodata:!0,mode:"hide"},source:this.props.tree_data});this.props.setLighterFancyTree(e)}},{key:"componentWillUnmount",value:function(){}},{key:"render",value:function(){return Object(oe.jsx)("div",{className:"card-body p-0",children:Object(oe.jsx)("div",{id:"light_tree"})})}}]),a}(n.Component);return Object(oe.jsx)(e,{tree_data:this.props.data,setLighterFancyTree:this.props.setLighterFancyTree})}}]),a}(n.Component),lt={height:750},dt=ot,ut=Object(n.createContext)(),pt=function(e){var t=e.source,a=Object(n.useContext)(ie),r=Object(n.useContext)(ze),s=Object(n.useContext)(de),c=a.experiment,i=a.jobHistory,o=a.getJobHistory,l=r.selection,d=s.selectedTreeNode;if(c)var u=c.db_historic_version,p=c.expid;var h,m="tree"===t?d?d.node.refKey:null:"graph"===t&&l&&l.length>0?l[0]:null,b="history-"+t;return c&&m&&u&&u>=12?Object(oe.jsxs)("span",{children:[Object(oe.jsx)("span",{className:"p-0 m-0","data-toggle":"tooltip","data-placement":"bottom",title:"Shows information from previous runs of the job.",children:Object(oe.jsx)("button",{className:"btn btn-sm btn-info my-0 py-0",type:"button",onClick:function(e){e.preventDefault(),p&&o(p,m)},"data-toggle":"modal","data-target":"#"+b,children:ye})}),Object(oe.jsx)("div",{className:"modal fade text-dark",id:b,tabIndex:"-1",role:"dialog","aria-labelledby":b+"Title","aria-hidden":"true",children:Object(oe.jsx)("div",{className:"modal-dialog modal-dialog-historic",role:"document",children:Object(oe.jsxs)("div",{className:"modal-content",children:[Object(oe.jsxs)("div",{className:"modal-header",children:[Object(oe.jsxs)("h5",{className:"modal-title",id:b+"Title",children:["Historical data for ",Object(oe.jsx)("strong",{children:m})]}),"\xa0",i&&i.history&&i.history.length>0&&Object(oe.jsx)("button",{type:"button",className:"btn btn-sm btn-primary",onClick:(h=m,function(e){e.preventDefault(),function(e,t,a){var n=new Date;a=n.getFullYear().toString()+"-"+n.getMonth()+"-"+n.getDate()+"_"+n.getHours()+"-"+n.getMinutes()+"_"+a;var r="data:text/csv;charset=utf-8,";if(r+=t.join(",")+"\n",e){var s=[];e.map((function(e){return s.push([e.counter,e.job_id,e.submit,e.start,e.finish,e.queue_time,e.run_time,e.status,e.energy,e.wallclock,e.ncpus,e.nodes])})),r+=s.map((function(e){return e.join(",")})).join("\n")}var c=encodeURI(r),i=document.createElement("a");i.setAttribute("href",c),i.setAttribute("download",a),document.body.appendChild(i),i.click()}(i.history,["Counter","JobId","Submit","Start","Finish","Queue","Run","Status","Energy","Wallclock","NCpus","Nnodes"],h+"_history.csv")}),"data-toggle":"tooltip","data-placement":"right",title:"Export data table to CSV format file.",children:Object(oe.jsx)("i",{className:"fas fa-file-export"})}),Object(oe.jsx)("button",{className:"close",type:"button","data-dismiss":"modal","aria-label":"Close",children:Object(oe.jsx)("span",{"aria-hidden":"true",children:"\xd7"})})]}),Object(oe.jsxs)("div",{className:"modal-body scroll-x",children:[i&&i.history&&Object(oe.jsxs)("table",{className:"table table-sm table-bordered",children:[Object(oe.jsx)("thead",{className:"thead-dark",children:Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"col",children:"RunId"}),Object(oe.jsx)("th",{scope:"col",children:"Counter"}),Object(oe.jsx)("th",{scope:"col",children:"JobId"}),Object(oe.jsx)("th",{scope:"col",children:"Submit"}),Object(oe.jsx)("th",{scope:"col",children:"Start"}),Object(oe.jsx)("th",{scope:"col",children:"Finish"}),Object(oe.jsx)("th",{scope:"col",children:"Queue"}),Object(oe.jsx)("th",{scope:"col",children:"Run"}),Object(oe.jsx)("th",{scope:"col",children:"Status"}),Object(oe.jsx)("th",{scope:"col",children:"Energy"}),Object(oe.jsx)("th",{scope:"col",children:"SYPD"}),Object(oe.jsx)("th",{scope:"col",children:"ASYPD"}),Object(oe.jsx)("th",{scope:"col",children:"Wallclock"}),Object(oe.jsx)("th",{scope:"col",children:"NCpus"}),Object(oe.jsx)("th",{scope:"col",children:"NNodes"})]})}),Object(oe.jsx)("tbody",{children:i.history.map((function(e){return Object(oe.jsxs)("tr",{children:[Object(oe.jsxs)("td",{className:"runIdtd",children:[Ee(String(e.run_created),e.run_id)," ",Object(oe.jsx)("span",{className:"bg-primary text-white rounded px-1",children:e.run_id})]}),Object(oe.jsx)("td",{children:e.counter}),Object(oe.jsx)("td",{children:e.job_id}),Object(oe.jsx)("td",{children:e.submit}),Object(oe.jsx)("td",{children:e.start}),Object(oe.jsx)("td",{children:e.finish}),Object(oe.jsx)("td",{children:e.queue_time}),Object(oe.jsxs)("td",{children:[e.run_time," ","0:00:00"===e.run_time&&Object(oe.jsx)("span",{className:"badge badge-warning","data-toggle":"tooltip","data-placement":"bottom",title:"This running time value usually means that there has been some error either on the completion of the job or in the historical database storage process.",children:"!"})]}),Object(oe.jsx)("td",{children:e.status}),Object(oe.jsx)("td",{children:e.energy}),Object(oe.jsx)("td",{children:e.run_id?e.SYPD:Object(oe.jsx)("span",{className:"badge badge-warning","data-toggle":"tooltip","data-placement":"bottom",title:"This register is not associated to a run Id because it ran with an old version of the database, SYPD cannot be calculated.",children:"!"})}),Object(oe.jsx)("td",{children:e.run_id?e.ASYPD:Object(oe.jsx)("span",{className:"badge badge-warning","data-toggle":"tooltip","data-placement":"bottom",title:"This register is not associated to a run Id because it ran with an old version of the database, ASYPD cannot be calculated.",children:"!"})}),Object(oe.jsx)("td",{children:e.wallclock}),Object(oe.jsx)("td",{children:e.ncpus}),Object(oe.jsx)("td",{children:e.nodes})]},e.counter)}))})]}),i&&0===i.history.length&&Object(oe.jsx)("p",{children:"There is no historic data for this job. Are you running the latest version of Autosubmit that implements the historic database?"})]}),Object(oe.jsx)("div",{className:"modal-footer",children:Object(oe.jsx)("button",{type:"button",className:"btn btn-secondary","data-dismiss":"modal",children:"Close"})})]})})})]}):null},ht={listStyleType:"none"},mt=function(e){var t=e.source,a=e.tab,r=Object(n.useContext)(ie),s=r.experiment,c=r.joblog,i=r.getJobLog,o=void 0!==t?t.substring(t.lastIndexOf(".")+1):"undefined";return s?Object(oe.jsxs)("div",{className:"input-group-append",children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-info",type:"button",onClick:function(e){e.preventDefault(),i(t)},"data-toggle":"modal","data-target":"#joblog"+o+"-"+a,children:Object(oe.jsx)("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Shows the last 150 lines of the corresponding log file.",children:Ne})}),Object(oe.jsx)("div",{className:"modal fade text-dark",id:"joblog"+o+"-"+a,tabIndex:"-1",role:"dialog","aria-labelledby":"joblogTitle","aria-hidden":"true",children:Object(oe.jsx)("div",{className:"modal-dialog modal-dialog-log",role:"document",children:Object(oe.jsxs)("div",{className:"modal-content",children:[Object(oe.jsx)("div",{className:"modal-header",children:Object(oe.jsxs)("h5",{className:"modal-title",id:"joblogTitle",children:["Log ",t]})}),Object(oe.jsxs)("div",{className:"modal-body",children:[c&&!0===c.found&&c.logcontent&&c.logcontent.length>0&&Object(oe.jsx)("pre",{className:"bash mb-0 scroll",children:Object(oe.jsx)("ul",{style:ht,className:"p-1 mb-0 ul-2",children:c.logcontent.map((function(e){return Object(oe.jsx)("li",{children:Object(oe.jsx)("span",{children:e.content})},e.index)}))})}),c&&!0===c.found&&c.logcontent&&0===c.logcontent.length&&Object(oe.jsx)("p",{children:"The log is empty."}),c&&!1===c.found&&Object(oe.jsx)("p",{children:"The log was not found."}),Object(oe.jsx)("div",{className:"text-muted text-center",children:Object(oe.jsx)("span",{children:"Showing last 150 lines."})})]})]})})})]}):null},bt={height:385},jt={height:30},ft=function(){var e,t=Object(n.useContext)(ie),a=Object(n.useContext)(ze),r=t.experiment,s=a.data,c=a.selection,i=a.navigateToGroup,o="",l=null,d=[],u=[],p=s.packages,h=function(e){return function(t){t.preventDefault(),window.copyToClip(e)}};return c&&s&&s.nodes&&(c.map((function(e){return o=e})),(l=s.nodes.find((function(e){return e.id===o})))&&l.parent_list&&l.parent_list.length>0&&(d=s.nodes.filter((function(e){return l.parent_list.indexOf(e.id)>=0}))),l&&l.children_list&&l.children_list.length>0&&(u=s.nodes.filter((function(e){return l.children_list.indexOf(e.id)>=0})))),Object(oe.jsxs)("div",{id:"mainTreeJobInfo",children:[l&&Object(oe.jsx)(n.Fragment,{children:Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsxs)("div",{className:"card text-white bg-primary rounded-0",style:bt,children:[Object(oe.jsx)("div",{className:"card-header text-center p-0",style:jt,children:Object(oe.jsxs)("div",{className:"mh-100 px-0 mx-0",children:[Object(oe.jsx)("strong",{children:l.id})," ",Object(oe.jsx)(pt,{source:"graph"})]})}),Object(oe.jsxs)("div",{className:"card-body py-0",children:[Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Start:"})," ",l.date]}),Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"End:"})," ",l.date_plus]})]}),Object(oe.jsx)("div",{children:Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Section:"})," ",l.section]})})}),Object(oe.jsx)("div",{children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Member:"})," ",l.member]}),Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Chunk:"})," ",l.chunk]})]})}),Object(oe.jsx)("div",{children:Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap",children:[Object(oe.jsxs)("div",{className:"item-hl",children:[Object(oe.jsx)("strong",{children:"Platform: "}),l.platform_name?l.platform_name:r.hpc]}),l.queue&&Object(oe.jsxs)("div",{className:"item-hl ml-3",children:[Object(oe.jsx)("strong",{children:"QoS: "}),l.queue]}),Object(oe.jsx)("div",{className:"item-hl ml-3",children:l.rm_id&&Object(oe.jsxs)("span",{children:[Object(oe.jsx)("strong",{children:"Id: "}),l.rm_id]})})]})}),Object(oe.jsx)("div",{children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Processors:"})," ",l.processors]}),Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Wallclock:"})," ",l.wallclock]})]})}),Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap py-1",children:[Object(oe.jsxs)("div",{className:"item-hl",children:[" ",l.minutes_queue>=0&&["SUBMITTED","QUEUING","RUNNING","COMPLETED","FAILED"].includes(l.status)&&Object(oe.jsx)("span",{className:"rounded text-center px-2",style:{width:"100%",backgroundColor:"SUBMITTED"===l.status?"cyan":"pink",color:"black"},children:Object(oe.jsxs)("strong",{children:[Object(oe.jsxs)("span",{children:["SUBMITTED"===l.status?"Submit":"Queue",":"]})," ",be(l.minutes_queue)]})})]}),Object(oe.jsx)("div",{className:"item-hl",children:l.minutes>=0&&["RUNNING","COMPLETED","FAILED"].includes(l.status)&&Object(oe.jsx)("span",{className:"rounded px-2 bg-success text-center ml-1",style:{width:"100%"},children:Object(oe.jsxs)("strong",{children:["Run:"," ",be(l.minutes)," "]})})})]}),Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap py-1",children:[Object(oe.jsx)("div",{className:"item-hl",children:Object(oe.jsx)("span",{className:"px-1 mr-2 rounded text-center",style:{width:"100%",backgroundColor:l.status_color,color:"RUNNING"===l.status?"white":"black"},children:Object(oe.jsxs)("strong",{children:["Status: ",l.status]})})}),Object(oe.jsxs)("div",{className:"item-hl",children:[l.children_list&&l.children_list.length>0&&Object(oe.jsx)("button",{className:"btn btn-dark btn-sm btn-block","data-toggle":"modal","data-target":"#childrenList",type:"button",children:Object(oe.jsxs)("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Shows the list of jobs that depend on this job.",children:[Object(oe.jsx)("strong",{children:"Out:"})," ",l.children]})}),l.children_list&&0===l.children_list.length&&Object(oe.jsxs)("button",{className:"btn btn-sm btn-dark btn-block",type:"button",disabled:!0,children:[Object(oe.jsx)("strong",{children:"Out:"})," ",l.children]})]}),Object(oe.jsxs)("div",{className:"item-hl ml-1",children:[l.parent_list&&l.parent_list.length>0&&Object(oe.jsx)("button",{className:"btn btn-sm btn-dark btn-block","data-toggle":"modal","data-target":"#parentList",type:"button",children:Object(oe.jsxs)("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Shows the list of jobs on which this job depends.",children:[Object(oe.jsx)("strong",{children:"In:"})," ",l.parents]})}),l.parent_list&&0===l.parent_list.length&&Object(oe.jsxs)("button",{className:"btn btn-sm btn-dark btn-block",type:"button",disabled:!0,children:[Object(oe.jsx)("strong",{children:"In:"})," ",l.parents]})]})]}),Object(oe.jsxs)("div",{children:[l.out&&Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsx)("form",{onSubmit:h("g_out"),className:"form",children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{className:"form-control py-0",type:"text",value:l.out,id:"g_out",readOnly:!0}),Object(oe.jsxs)("div",{className:"input-group-append",children:[Object(oe.jsx)("input",{type:"submit",className:"btn btn-sm btn-light py-0",value:"Copy out","data-toggle":"tooltip","data-placement":"left",title:"Copies the path to your clipboard."}),Object(oe.jsx)(mt,{source:l.out,tab:"graph"})]})]})})})}),l.err&&Object(oe.jsx)("div",{className:"row mt-1",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsx)("form",{onSubmit:h("g_err"),className:"form",children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{className:"form-control py-0",type:"text",value:l.err,id:"g_err",readOnly:!0}),Object(oe.jsxs)("div",{className:"input-group-append",children:[Object(oe.jsx)("input",{type:"submit",className:"btn btn-light btn-sm py-0",value:"Copy err","data-toggle":"tooltip","data-placement":"left",title:"Copies the path to your clipboard."}),Object(oe.jsx)(mt,{source:l.err,tab:"graph"})]})]})})})})]}),Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap pt-1",children:[Object(oe.jsx)("div",{className:"item-hl",children:Object(oe.jsx)("table",{children:Object(oe.jsxs)("tbody",{children:[null!==l.submit&&Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("td",{children:Object(oe.jsx)("span",{children:"Submit:"})}),Object(oe.jsx)("td",{children:Object(oe.jsx)("span",{className:"bg-dark px-1 rounded",children:l.submit})})]}),null!==l.start&&Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("td",{children:Object(oe.jsx)("span",{children:"Start:"})}),Object(oe.jsx)("td",{children:Object(oe.jsx)("span",{className:"bg-dark px-1 rounded",children:l.start})})]}),null!==l.finish&&Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("td",{children:Object(oe.jsx)("span",{children:"Finish:"})}),Object(oe.jsx)("td",{children:Object(oe.jsx)("span",{className:"bg-dark px-1 rounded",children:l.finish})})]})]})})}),Object(oe.jsxs)("div",{className:"item-hl ml-1",children:[void 0!==l.SYPD&&null!==l.SYPD&&l.SYPD>0&&Object(oe.jsxs)("span",{className:"bg-secondary rounded text-dark px-2","data-toggle":"tooltip","data-placement":"bottom",title:"Generalization of Simulated Years per Day.",children:["SYPD: ",Object(oe.jsx)("strong",{children:l.SYPD})]}),Object(oe.jsx)("br",{}),void 0!==l.ASYPD&&null!==l.ASYPD&&l.ASYPD>0&&Object(oe.jsxs)("span",{className:"bg-secondary rounded text-dark px-2","data-toggle":"tooltip","data-placement":"bottom",title:"Generalization of Actual SYPD.",children:["ASYPD: ",Object(oe.jsx)("strong",{children:l.ASYPD})]})]})]}),l.package&&l.package.length>0&&Object(oe.jsx)("div",{className:"row my-1",children:Object(oe.jsx)("div",{className:"col",children:Object(oe.jsxs)("button",{className:"btn btn-info btn-block",type:"button",onClick:(e=l.package,function(t){t.preventDefault(),p&&i(s.packages[e])}),children:["Wrapper: ",l.package.split("_").slice(1).join("_")," (",s.packages[l.package].length," jobs)"]})})})]})]})})})}),!l&&s&&Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsxs)("div",{className:"card text-white bg-primary",style:bt,children:[Object(oe.jsx)("div",{className:"card-header text-center py-0",children:Object(oe.jsx)("span",{children:"Here goes the Job Id"})}),Object(oe.jsx)("div",{className:"card-body",children:Object(oe.jsx)("div",{className:"text-center",children:Object(oe.jsx)("span",{children:"Select a Node to see more information."})})})]})})}),l&&u&&u.length>0&&Object(oe.jsx)("div",{className:"modal fade",id:"childrenList",tabIndex:"-1",role:"dialog","aria-labelledby":"childrenListTitle","aria-hidden":"true",children:Object(oe.jsx)("div",{className:"modal-dialog modal-dialog-list",role:"document",children:Object(oe.jsxs)("div",{className:"modal-content",children:[Object(oe.jsxs)("div",{className:"modal-header",children:[Object(oe.jsx)("h5",{className:"modal-title",id:"childrenListTitle",children:"Children List"}),Object(oe.jsx)("button",{className:"close",type:"button","data-dismiss":"modal","aria-label":"Close",children:Object(oe.jsx)("span",{"aria-hidden":"true",children:"\xd7"})})]}),Object(oe.jsx)("div",{className:"modal-body",children:Object(oe.jsx)("ul",{children:u.map((function(e,t){return Object(oe.jsxs)("li",{children:[e.id," ",Object(oe.jsx)("span",{className:"badge",style:D(e.status_code),children:e.status})]},t)}))})}),Object(oe.jsx)("div",{className:"modal-footer",children:Object(oe.jsx)("button",{type:"button",className:"btn btn-secondary","data-dismiss":"modal",children:"Close"})})]})})}),l&&d&&d.length>0&&Object(oe.jsx)("div",{className:"modal fade",id:"parentList",tabIndex:"-1",role:"dialog","aria-labelledby":"parentListTitle","aria-hidden":"true",children:Object(oe.jsx)("div",{className:"modal-dialog modal-dialog-list",role:"document",children:Object(oe.jsxs)("div",{className:"modal-content",children:[Object(oe.jsxs)("div",{className:"modal-header",children:[Object(oe.jsx)("h5",{className:"modal-title",id:"parentListTitle",children:"Parent List"}),Object(oe.jsx)("button",{className:"close",type:"button","data-dismiss":"modal","aria-label":"Close",children:Object(oe.jsx)("span",{"aria-hidden":"true",children:"\xd7"})})]}),Object(oe.jsx)("div",{className:"modal-body",children:Object(oe.jsx)("ul",{children:d.map((function(e,t){return Object(oe.jsxs)("li",{children:[e.id," ",Object(oe.jsx)("span",{className:"badge",style:D(e.status_code),children:e.status})]},t)}))})}),Object(oe.jsx)("div",{className:"modal-footer",children:Object(oe.jsx)("button",{type:"button",className:"btn btn-secondary","data-dismiss":"modal",children:"Close"})})]})})})]})},xt=function(){return Object(oe.jsxs)("div",{className:"card-body",children:[Object(oe.jsxs)("ul",{children:[Object(oe.jsx)("li",{children:Object(oe.jsxs)("h5",{children:["Where does the information in the ",Object(oe.jsx)("strong",{children:"Tree/Graph/Quick"})," View come from?"]})}),Object(oe.jsxs)("p",{className:"lead",children:["The information directly related to the jobs' status comes from the ",Object(oe.jsx)("em",{children:"pkl"})," file that Autosubmit generates and constantly updates when your experiment is running. This file stores key information from your jobs that allow us to identify them and retrieve their information."]}),Object(oe.jsxs)("p",{className:"lead",children:[" The ",Object(oe.jsx)("em",{children:"queuing"})," and ",Object(oe.jsx)("em",{children:"running"})," times come from the files that Autosubmit generates to store the submit, start, finish times, and the status of your job. These files usually end with the string ",Object(oe.jsx)("em",{children:"*_TOTAL_STATS"})," where ",Object(oe.jsx)("strong",{children:"*"})," is replaced by the job's name. This file can contain the registers for many runs of the same job. Moreover, the latest version of Autosubmit implements a job historical database that improves the previously described functionality and extends its data retrieval capabilities. If this information is available, it will be prioritized over the former source."]}),Object(oe.jsx)("li",{children:Object(oe.jsxs)("h5",{children:["What does it mean for a job's ",Object(oe.jsx)("strong",{children:"STATUS"})," to be shown as ",Object(oe.jsx)("em",{children:"SUSPICIOUS"}),"?"]})}),Object(oe.jsxs)("p",{className:"lead",children:["The ",Object(oe.jsx)("em",{children:"pkl"})," file of your experiment stores the current status of its jobs. The ",Object(oe.jsx)("em",{children:"*_TOTAL_STATS"})," files that Autosubmit generates also store the status of the corresponding job in the experiment. Whenever the values on these sources differ, the GUI assumes that something is not working right and it will show the ",Object(oe.jsx)("em",{children:"SUSPICIOUS"})," status text next to the job's name as a warning. Sometimes there is a little bit of delay between Autosubmit updating the ",Object(oe.jsx)("em",{children:"pkl"})," file and updating or creating the ",Object(oe.jsx)("em",{children:"*_TOTAL_STATS"})," file, in this case the ",Object(oe.jsx)("em",{children:"SUSPICIOUS"})," status should be replaced by the right status after some minutes if you ",Object(oe.jsx)("span",{className:"badge badge-success",children:"Refresh"})," (or ",Object(oe.jsx)("em",{children:"F5"}),") the Tree/Graph/Quick view of your experiment, or if the ",Object(oe.jsx)("span",{className:"badge badge-success",children:"Job Monitor"})," tool is active. However, if it does not disappear, it could mean that truly something wrong is happening with your experiment."]}),Object(oe.jsx)("li",{children:Object(oe.jsxs)("h5",{children:["I see a big ",Object(oe.jsx)("span",{className:"text-danger",children:"Permission Denied"})," message in the top bar. What to do?"]})}),Object(oe.jsxs)("p",{className:"lead",children:["This means the Autosubmit GUI could not read the ",Object(oe.jsx)("strong",{children:"conf"})," files of your experiment due to their level of protection. Make sure that your ",Object(oe.jsx)("strong",{children:"conf"})," files have read permission for your user group (",Object(oe.jsx)("code",{children:"chmod 777"})," them won't hurt)."]}),Object(oe.jsx)("li",{children:Object(oe.jsx)("h5",{children:"Where can I report an issue?"})}),Object(oe.jsxs)("p",{className:"lead",children:["If you find that something is broken or you suspect that it is not working correctly, you can open an issue at ",Object(oe.jsx)("a",{href:"https://earth.bsc.es/gitlab/es/autosubmit/-/issues",rel:"noopener noreferrer",target:"_blank",children:"Autosubmit Project Issues"}),"."]}),Object(oe.jsx)("li",{children:Object(oe.jsx)("h5",{children:"The Job Information Panel shows the values SYPD and ASYPD. What are those?"})}),Object(oe.jsxs)("p",{className:"lead",children:["Refer to the definition of the ",Object(oe.jsx)("em",{children:"Generalization of SYPD and ASYPD"})," at ",Object(oe.jsx)("a",{href:"https://earth.bsc.es/gitlab/wuruchi/autosubmitreact/-/wikis/Performance-Metrics",target:"_blank",rel:"noreferrer",children:"Autosubmit API Wiki: Performance Metrics"}),". ",Object(oe.jsx)("em",{children:"SYPD"})," is automatically updated when Job Monitor is active. ",Object(oe.jsx)("em",{children:"ASYPD"}),", due to the nature of its computation, will require a reload of the Tree or Graph view to be updated."]}),Object(oe.jsx)("li",{children:Object(oe.jsxs)("h5",{children:["I see the warning: ",Object(oe.jsx)("span",{className:"text-danger",children:"Your pkl file seems to be empty. Make sure that you are running Autosubmit. See the FAQ tab for more information."})]})}),Object(oe.jsxs)("p",{className:"lead",children:["The ",Object(oe.jsx)("em",{children:".pkl"})," file stores the most important data of the list of jobs in your experiment. Its name has the format ",Object(oe.jsx)("em",{children:"job_list_%expid%.pkl"})," and is located in the ",Object(oe.jsx)("em",{children:"/pkl/"})," folder of your experiment. An exception or interruption of the normal execution of Autosubmit can result in a blank pkl file, see ",Object(oe.jsx)("a",{href:"https://autosubmit.readthedocs.io/en/latest/usage/workflow_recovery/recovery.html",target:"_blank",rel:"noreferrer",children:"autosubmit recovery"})," for instructions to recover your experiment information. However, it could happen that there already exists a valid version of your pkl file in the corresponding folder but it is named as a backup file that was not properly restored. If that is the case, run the command ",Object(oe.jsx)("code",{children:"autosubmit pklfix expid"})," on the latest version of Autosubmit, where ",Object(oe.jsx)("em",{children:"expid"})," is replaced by your experiment identifier."]})]}),Object(oe.jsx)("p",{className:"small text-muted",children:"We will continue adding more information. For suggestions, you can open an issue on the Autosubmit project."})]})},gt={height:430},Ot={height:30},vt=function(){var e=Object(n.useContext)(ie),t=Object(n.useContext)(de),a=e.experiment,r=t.selectedTreeNode,s=t.treedata,c=null,i=null,o=null;if(r&&r.node&&r.node.refKey){var l=r.node.refKey;s&&s.jobs?((c=s.jobs.find((function(e){return e.id===l})))&&c.parent_list&&c.parent_list.length>0&&(i=s.jobs.filter((function(e){return c.parent_list.indexOf(e.id)>=0}))),c&&c.children_list&&c.children_list.length>0&&(o=s.jobs.filter((function(e){return c.children_list.indexOf(e.id)>=0})))):c=null}else c=null;var d=function(e){return function(t){t.preventDefault(),window.copyToClip(e)}};return Object(oe.jsxs)(n.Fragment,{children:[c&&Object(oe.jsx)(n.Fragment,{children:Object(oe.jsx)("div",{className:"col-12 px-0",children:Object(oe.jsxs)("div",{className:"card text-white bg-primary rounded-0",style:gt,children:[Object(oe.jsx)("div",{className:"card-header text-center p-0",style:Ot,children:Object(oe.jsxs)("div",{className:"mh-100 px-0 mx-0",children:[Object(oe.jsx)("strong",{children:c.id})," ",Object(oe.jsx)(pt,{source:"tree"})]})}),Object(oe.jsx)("div",{className:"card-body p-0",children:Object(oe.jsxs)("div",{className:"container",children:[Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Start:"})," ",c.date]}),Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"End:"})," ",c.date_plus]})]}),Object(oe.jsx)("div",{children:Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Section:"})," ",c.section]})})}),Object(oe.jsx)("div",{children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Member:"})," ",c.member]}),Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Chunk:"})," ",c.chunk]})]})}),Object(oe.jsx)("div",{children:Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap",children:[Object(oe.jsxs)("div",{className:"item-hl",children:[Object(oe.jsx)("strong",{children:"Platform: "}),c.platform_name?c.platform_name:a.hpc]}),c.queue&&Object(oe.jsxs)("div",{className:"item-hl ml-3",children:[Object(oe.jsx)("strong",{children:"QoS: "}),c.queue]}),Object(oe.jsx)("div",{className:"item-hl ml-3",children:c.rm_id&&Object(oe.jsxs)("span",{children:[Object(oe.jsx)("strong",{children:"Id: "}),c.rm_id]})})]})}),Object(oe.jsx)("div",{children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Processors:"})," ",c.processors]}),Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("strong",{children:"Wallclock:"})," ",c.wallclock]})]})}),Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap py-1",children:[Object(oe.jsxs)("div",{className:"item-hl",children:[" ",c.minutes_queue>=0&&["SUBMITTED","QUEUING","RUNNING","COMPLETED","FAILED"].includes(c.status)&&Object(oe.jsx)("span",{className:"rounded text-center px-2",style:{width:"100%",backgroundColor:"SUBMITTED"===c.status?"cyan":"pink",color:"black"},children:Object(oe.jsxs)("strong",{children:["SUBMITTED"===c.status?"Submit":"Queue",":"," ",be(c.minutes_queue)]})})]}),Object(oe.jsx)("div",{className:"item-hl",children:c.minutes>=0&&["RUNNING","COMPLETED","FAILED"].includes(c.status)&&Object(oe.jsx)("span",{className:"px-2 bg-success rounded text-center ml-1",style:{width:"100%"},children:Object(oe.jsxs)("strong",{children:["Run:"," ",be(c.minutes)," "]})})})]}),Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap py-1",children:[Object(oe.jsx)("div",{className:"item-hl",children:Object(oe.jsx)("span",{className:"px-1 mr-2 rounded text-center",style:{width:"100%",backgroundColor:c.status_color,color:"RUNNING"===c.status?"white":"black"},children:Object(oe.jsxs)("strong",{children:["Status: ",c.status]})})}),Object(oe.jsxs)("div",{className:"item-hl",children:[c.children_list&&c.children_list.length>0&&Object(oe.jsx)("button",{className:"btn btn-sm btn-dark btn-block","data-toggle":"modal","data-target":"#childrenList-tree",type:"button",children:Object(oe.jsxs)("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Shows the list of jobs that depend on this job.",children:[Object(oe.jsx)("strong",{children:"Out:"})," ",c.children]})}),c.children_list&&0===c.children_list.length&&Object(oe.jsxs)("button",{className:"btn btn-sm btn-dark btn-block",type:"button",disabled:!0,children:[Object(oe.jsx)("strong",{children:"Out:"})," ",c.children]})]}),Object(oe.jsxs)("div",{className:"item-hl ml-1",children:[null!==c.parent_list&&c.parents>0&&Object(oe.jsx)("button",{className:"btn btn-sm btn-dark","data-toggle":"modal","data-target":"#parentList-tree",type:"button",children:Object(oe.jsxs)("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Shows the list of jobs on which this job depends.",children:[Object(oe.jsx)("strong",{children:"In:"})," ",c.parents]})}),null!==c.parent_list&&0===c.parents&&Object(oe.jsxs)("button",{className:"btn btn-sm btn-dark",type:"button",disabled:!0,children:[Object(oe.jsx)("strong",{children:"In:"})," ",c.parents]})]})]}),c.out&&Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsx)("form",{onSubmit:d("g_out_t"),className:"form",children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{className:"form-control py-0",type:"text",value:c.out,id:"g_out_t","aria-describedby":"addon-out1",readOnly:!0}),Object(oe.jsxs)("div",{className:"input-group-append",id:"addon-out1",children:[Object(oe.jsx)("input",{type:"submit",className:"btn btn-light btn-sm py-0",value:"Copy out","data-toggle":"tooltip","data-placement":"left",title:"Copies the path to your clipboard."}),Object(oe.jsx)(mt,{source:c.out,tab:"tree"})]})]})})})}),c.err&&Object(oe.jsx)("div",{className:"row mt-1",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsx)("form",{onSubmit:d("g_err_t"),className:"form",children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{className:"form-control py-0",type:"text",value:c.err,id:"g_err_t",readOnly:!0}),Object(oe.jsxs)("div",{className:"input-group-append",children:[Object(oe.jsx)("input",{type:"submit",className:"btn btn-light btn-sm py-0",value:"Copy err","data-toggle":"tooltip","data-placement":"left",title:"Copies the path to your clipboard."}),Object(oe.jsx)(mt,{source:c.err,tab:"tree"})]})]})})})}),Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap pt-1",children:[Object(oe.jsx)("div",{className:"item-hl",children:Object(oe.jsx)("table",{children:Object(oe.jsxs)("tbody",{children:[null!==c.submit&&Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("td",{className:"black-font",children:Object(oe.jsx)("span",{children:"Submit:"})}),Object(oe.jsx)("td",{children:Object(oe.jsx)("span",{className:"bg-dark px-1 rounded",children:c.submit})})]}),null!==c.start&&Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("td",{className:"black-font",children:Object(oe.jsx)("span",{children:"Start:"})}),Object(oe.jsx)("td",{children:Object(oe.jsx)("span",{className:"bg-dark px-1 rounded",children:c.start})})]}),null!==c.finish&&Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("td",{className:"black-font",children:Object(oe.jsx)("span",{children:"Finish:"})}),Object(oe.jsx)("td",{children:Object(oe.jsx)("span",{className:"bg-dark px-1 rounded",children:c.finish})})]})]})})}),Object(oe.jsxs)("div",{className:"item-hl ml-1",children:[void 0!==c.SYPD&&null!==c.SYPD&&c.SYPD>0&&Object(oe.jsxs)("span",{className:"bg-secondary text-dark rounded px-2","data-toggle":"tooltip","data-placement":"bottom",title:"Generalization of Simulated Years per Day.",children:["SYPD: ",Object(oe.jsx)("strong",{children:c.SYPD})]}),Object(oe.jsx)("br",{}),void 0!==c.ASYPD&&null!==c.ASYPD&&c.ASYPD>0&&Object(oe.jsxs)("span",{className:"bg-secondary text-dark rounded px-2","data-toggle":"tooltip","data-placement":"bottom",title:"Generalization of Actual SYPD.",children:["ASYPD: ",Object(oe.jsx)("strong",{children:c.ASYPD})]})]})]}),null!==c.wrapper&&c.wrapper.length>0&&Object(oe.jsxs)("div",{children:[Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsx)("small",{children:Object(oe.jsx)("strong",{children:"Wrapper:"})})})}),Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsx)("small",{children:c.wrapper})})})]})]})})]})})}),!c&&s&&s.jobs&&Object(oe.jsx)("div",{className:"col-12 px-0",children:Object(oe.jsxs)("div",{className:"card text-white bg-primary rounded-0",style:gt,children:[Object(oe.jsx)("div",{className:"card-header text-center py-0",children:Object(oe.jsx)("span",{children:"Here goes the Job Id"})}),Object(oe.jsx)("div",{className:"card-body",children:Object(oe.jsx)("div",{className:"text-center",children:Object(oe.jsx)("span",{children:"Select a Node to see more information."})})})]})}),c&&o&&o.length>0&&Object(oe.jsx)("div",{className:"modal fade",id:"childrenList-tree",tabIndex:"-1",role:"dialog","aria-labelledby":"childrenListTitle-tree","aria-hidden":"true",children:Object(oe.jsx)("div",{className:"modal-dialog modal-dialog-list",role:"document",children:Object(oe.jsxs)("div",{className:"modal-content",children:[Object(oe.jsxs)("div",{className:"modal-header",children:[Object(oe.jsx)("h5",{className:"modal-title",id:"childrenListTitle-tree",children:"Children List"}),Object(oe.jsx)("button",{className:"close",type:"button","data-dismiss":"modal","aria-label":"Close",children:Object(oe.jsx)("span",{"aria-hidden":"true",children:"\xd7"})})]}),Object(oe.jsx)("div",{className:"modal-body",children:Object(oe.jsx)("ul",{children:o.map((function(e,t){return Object(oe.jsxs)("li",{children:[e.id," ",Object(oe.jsx)("span",{className:"badge",style:D(e.status_code),children:e.status})]},t)}))})}),Object(oe.jsx)("div",{className:"modal-footer",children:Object(oe.jsx)("button",{type:"button",className:"btn btn-secondary","data-dismiss":"modal",children:"Close"})})]})})}),c&&i&&i.length>0&&Object(oe.jsx)("div",{className:"modal fade",id:"parentList-tree",tabIndex:"-1",role:"dialog","aria-labelledby":"parentListTitle-tree","aria-hidden":"true",children:Object(oe.jsx)("div",{className:"modal-dialog modal-dialog-list",role:"document",children:Object(oe.jsxs)("div",{className:"modal-content",children:[Object(oe.jsxs)("div",{className:"modal-header",children:[Object(oe.jsx)("h5",{className:"modal-title",id:"parentListTitle-tree",children:"Parent List"}),Object(oe.jsx)("button",{className:"close",type:"button","data-dismiss":"modal","aria-label":"Close",children:Object(oe.jsx)("span",{"aria-hidden":"true",children:"\xd7"})})]}),Object(oe.jsx)("div",{className:"modal-body",children:Object(oe.jsx)("ul",{children:i.map((function(e,t){return Object(oe.jsxs)("li",{children:[e.id," ",Object(oe.jsx)("span",{className:"badge",style:D(e.status_code),children:e.status})]},t)}))})}),Object(oe.jsx)("div",{className:"modal-footer",children:Object(oe.jsx)("button",{type:"button",className:"btn btn-secondary","data-dismiss":"modal",children:"Close"})})]})})})]})},Nt=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(e){var n;return Object(c.a)(this,a),(n=t.call(this,e)).rundata=null,n}return Object(i.a)(a,[{key:"componentDidMount",value:function(){var e=this;this.props.getExperimentRun(this.props.experiment.expid),this.props.experimentRunning&&(this.interval=setInterval((function(){return e.props.getExperimentRun(e.props.experiment.expid)}),1e3*this.props.experiment.updateTime))}},{key:"componentWillUnmount",value:function(){this.props.cleanRunData(),this.props.experimentRunning&&clearInterval(this.interval)}},{key:"componentDidUpdate",value:function(){window.scrollToBottom()}},{key:"render",value:function(){if(null===this.props.rundata)return Object(oe.jsx)(n.Fragment,{children:Object(oe.jsx)("div",{children:"Loading..."})});var e=this.props.rundata,t=e.logcontent,a=e.error,r=e.error_message,s=e.found,c=e.logfile,i=e.lastModified,o=e.timeStamp,l=t.map((function(e){return Object(oe.jsx)("li",{children:Object(oe.jsx)("small",{children:e.content})},e.index)}));return a?Object(oe.jsxs)(n.Fragment,{children:[Object(oe.jsx)("div",{children:r}),Object(oe.jsx)("br",{}),Object(oe.jsx)("hr",{})]}):s?Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col-12",children:[Object(oe.jsxs)("div",{className:"row px-1",children:[Object(oe.jsxs)("div",{className:"col-6 text-left",children:[Object(oe.jsxs)("small",{children:["Logfile: ",c]})," ",Object(oe.jsxs)("small",{className:"text-muted",children:["(",o,")"]})]}),Object(oe.jsx)("div",{className:"col-6 text-right",children:Object(oe.jsxs)("small",{children:["Last Modified: ",i]})})]}),Object(oe.jsx)("pre",{className:"bash mb-0 scroll",id:"log_scroll",children:Object(oe.jsx)("ul",{style:yt,className:"p-1 mb-0 ul-2",children:l})}),Object(oe.jsx)("div",{className:"text-muted text-center",children:Object(oe.jsx)("small",{children:"Showing last 150 lines."})})]})}):Object(oe.jsxs)(n.Fragment,{children:[Object(oe.jsx)("div",{children:"Running log not found. This experiment might not be currently running on Autosubmit."}),Object(oe.jsx)("br",{}),Object(oe.jsx)("hr",{})]})}}]),a}(n.Component),yt={listStyleType:"none"},At=Nt,St=a(28),Et=a.n(St),Ct=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"componentDidMount",value:function(){var e=this;this.props.experiment&&(this.props.getExperimentPkl(this.props.experiment.expid,this.props.experiment.pkl_timestamp),this.props.experimentRunning&&(this.interval=setInterval((function(){return e.props.getExperimentPkl(e.props.experiment.expid,e.props.experiment.pkl_timestamp)}),2e3*this.props.experiment.updateTime)))}},{key:"componentWillUnmount",value:function(){this.props.cleanPklData(),this.props.experimentRunning&&clearInterval(this.interval)}},{key:"render",value:function(){var e=this.props,t=e.loadingPkl,a=e.pklchanges,n=e.notificationTitleGraph,r=e.setNotificationTitleGraph;return Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsxs)("div",{className:"card",children:[Object(oe.jsx)("div",{className:"card-header text-center py-0",children:Object(oe.jsx)("small",{children:"Monitoring jobs..."})}),Object(oe.jsxs)("div",{className:"card-body p-0",children:[a&&Object(oe.jsx)("pre",{className:"scroll-y mb-0",children:a}),t&&Object(oe.jsx)("small",{children:"Loading..."})]})]})}),n&&Object(oe.jsx)(Et.a,{title:n,onClose:function(){return r(null)},onPermissionDenied:function(){return console.log("Permission Denied.")}})]})}}]),a}(n.Component),Tt=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"componentDidMount",value:function(){var e=this;this.props.experiment&&(this.props.getExperimentTreePkl(this.props.experiment.expid,this.props.experiment.pkl_timestamp),this.props.experimentRunning&&(this.interval=setInterval((function(){return e.props.getExperimentTreePkl(e.props.experiment.expid,e.props.experiment.pkl_timestamp)}),2e3*this.props.experiment.updateTime)))}},{key:"componentWillUnmount",value:function(){this.props.cleanPklTreeData(),this.props.experimentRunning&&clearInterval(this.interval)}},{key:"render",value:function(){var e=this.props,t=e.loadingTreePkl,a=e.pkltreechanges,n=e.notificationTitleTree,r=e.setNotificationTitleTree;return Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsxs)("div",{className:"card",children:[Object(oe.jsx)("div",{className:"card-header text-center py-0",children:Object(oe.jsx)("small",{children:"Monitoring jobs..."})}),Object(oe.jsxs)("div",{className:"card-body p-0",children:[a&&Object(oe.jsx)("pre",{className:"scroll-y-tree mb-0",children:a}),t&&Object(oe.jsx)("small",{children:"Loading..."})]})]})}),n&&Object(oe.jsx)(Et.a,{title:n,onClose:function(){return r(null)},onPermissionDenied:function(){return console.log("Permission Denied.")}})]})}}]),a}(n.Component),wt=function(){var e=Object(n.useContext)(ze).navToLatest,t=function(t){var a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function(n){n.preventDefault(),e(t,a)}};return Object(oe.jsx)("div",{className:"row p-1",children:Object(oe.jsxs)("div",{className:"col-12",children:[Object(oe.jsx)("label",{className:"px-2",htmlFor:"navigation-group",children:"Navigation buttons:"}),Object(oe.jsxs)("div",{className:"btn-group",role:"group",id:"navigation-group",children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(0,!1),style:A,children:"Waiting"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(1),style:y,children:"Ready"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(7),style:T,children:"Prepared"})]}),Object(oe.jsxs)("div",{className:"btn-group px-1",role:"group",children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(2),style:v,children:"Submitted"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(3),style:x,children:"Queuing"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(4),style:N,children:"Running"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(5),style:O,children:"Completed"})]}),Object(oe.jsxs)("div",{className:"btn-group",role:"group",children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(-1),style:g,children:"Failed"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(-3),style:E,children:"Suspended"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(-2),style:S,children:"Unknown"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(6),style:C,children:"Hold"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary",type:"button",onClick:t(8),style:w,children:"Skipped"})]})]})})},kt=a(3),Rt=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(e){var n;return Object(c.a)(this,a),(n=t.call(this,e)).svgElement=null,n.setSvgElement=function(e){n.svgElement=e},n}return Object(i.a)(a,[{key:"shouldComponentUpdate",value:function(e,t){return e.loading!==this.props.loading||e.filterCount!==this.props.filterCount}},{key:"handleBarChart",value:function(){var e=this.props.data,t=this.props.metrics,a=this.props.helperId,n=Math.max(35*e.length,240),r=620,s=1*e.length,c=30,i=s>0?Math.floor((n-90)/s-4):4,o=i/4,l=i/2,d=i/3;kt.k("#queueTimeChart-".concat(a)).property("checked",!0),kt.k("#runTimeChart-".concat(a)).property("checked",!0),kt.k("#failedQueueTimeChart-".concat(a)).property("checked",!0),kt.k("#failedRunTimeChart-".concat(a)).property("checked",!0);var u=kt.j().domain([0,e.length]).range([60,n-c]),p=kt.k("body").append("div").classed("tooltip-d3",!0),h=kt.k(this.svgElement);function m(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=0;s="failedCount"===t[0]?kt.g(e,(function(e){return Number.parseInt(e.failedCount)})):kt.g([r.includes("completedQueueTime")?0:kt.g(e,(function(e){return Number.parseFloat(e.completedQueueTime)})),r.includes("completedRunTime")?0:kt.g(e,(function(e){return Number.parseFloat(e.completedRunTime)})),r.includes("failedQueueTime")?0:kt.g(e,(function(e){return Number.parseFloat(e.failedQueueTime)})),r.includes("failedRunTime")?0:kt.g(e,(function(e){return Number.parseFloat(e.failedRunTime)}))]);var o=null;o="failedCount"===t[0]?kt.j().domain([0,Number.parseInt(s)]).range([0,581]):kt.j().domain([0,s]).range([0,584]);var l=Number.parseInt(s+1),d=kt.a(o).tickSize(84-n).tickValues("failedCount"===t[0]?Object(ue.a)(Array(l).keys()):null).tickFormat((function(e){return"failedCount"===t[0]?"".concat(e.toFixed(0)):e})).tickSizeOuter(0),p=kt.c(o).tickValues("failedCount"===t[0]?Object(ue.a)(Array(l).keys()):null).tickFormat((function(e){return"failedCount"===t[0]?"".concat(e.toFixed(0)):e})).tickSizeOuter(0);h.append("g").classed("xaxis-".concat(a),!0).attr("transform","translate(30,"+(n-c)+")").call(d),h.append("g").classed("xaxis-".concat(a),!0).attr("transform","translate(30,54)").call(p);for(var m=h.selectAll("rect").data(e).enter(),x=function(e){var n=f(t[e]);m.append("rect").classed("newbar-".concat(a),!0).attr("height",(function(e){return"failedCount"===t[0]?i:g(e,r)})).attr("x",c).attr("y",(function(a,n){if("failedCount"===t[0])return u(n);for(var s=[r.includes("completedRunTime")?0:a.completedRunTime,r.includes("completedQueueTime")?0:a.completedQueueTime,r.includes("failedQueueTime")?0:a.failedQueueTime,r.includes("failedRunTime")?0:a.failedRunTime],c=0,i=0;i0?(s[i]=c,c++):s[i]=0;return u(n)+s[e]*g(a,r)})).transition().duration(500).ease(kt.d).attr("width",(function(a){return"failedCount"===t[0]?o(a.failedCount):r.includes(t[e])?o(0):o(a[t[e]])})).attr("fill",n)},O=0;O Failed Attempts: ".concat(Re(e.failedCount,!0),"

              \n "):"\n

              Queue: ".concat(Re(e.completedQueueTime,!1,4)," h.

              \n ")+(t.includes("completedRunTime")?"

              Run: ".concat(Re(e.completedRunTime,!1,4)," h.

              "):"")+(t.includes("failedQueueTime")?"

              Failed Queue: ".concat(Re(e.failedQueueTime,!1,4)," h.

              "):"")+(t.includes("failedRunTime")?"

              Failed Run: ".concat(Re(e.failedRunTime,!1,4)," h.

              "):""))}function j(){p.style("left","10px").style("top","10px").style("opacity",0)}function f(e){var t=S.background;switch(e){case"completedQueueTime":t=x.background;break;case"completedRunTime":t=N.background;break;case"failedQueueTime":t=k;break;case"failedCount":case"failedRunTime":t=R;break;default:t=S.background}return t}function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=[t.includes("completedRunTime")?0:e.completedRunTime,t.includes("completedQueueTime")?0:e.completedQueueTime,t.includes("failedQueueTime")?0:e.failedQueueTime,t.includes("failedRunTime")?0:e.failedRunTime].filter((function(e){return Number.parseFloat(e)>0})),n=a.length;switch(n){case 3:return d;case 4:default:return o;case 2:return l;case 1:case 0:return i}}function O(e,n){var r=[!1===kt.k("#queueTimeChart-".concat(a)).property("checked")||"completedQueueTime"===n&&!1===n?"completedQueueTime":"",!1===kt.k("#runTimeChart-".concat(a)).property("checked")||"completedRunTime"===n&&!1===n?"completedRunTime":"",!1===kt.k("#failedQueueTimeChart-".concat(a)).property("checked")||"failedQueueTime"===n&&!1===n?"failedQueueTime":"",!1===kt.k("#failedRunTimeChart-".concat(a)).property("checked")||"qufailedRunue"===n&&!1===n?"failedRunTime":""];kt.l(".newbar-".concat(a)).remove(),kt.l(".newtext-".concat(a)).remove(),kt.l(".xaxis-".concat(a)).remove(),m(t,r)}h.attr("width",r),h.attr("height",n),h.selectAll("*").remove(),m(t),kt.k(this.svgElement).append("text").attr("x",310).attr("y",25).attr("font-size","1.5em").style("text-anchor","middle").text(this.props.title),kt.k(this.svgElement).append("text").attr("x",310).attr("y",n-c+2).attr("dy","1.5em").style("text-anchor","middle").text(this.props.xtitle),kt.k(this.svgElement).append("text").attr("transform","rotate(-90)").attr("x",-n/2).attr("y",c).attr("dy","-1.1em").style("text-anchor","middle").text("Job Name"),kt.k("#queueTimeChart-".concat(a)).on("click",(function(){kt.e.target.checked;O(0,kt.e.target.value)})),kt.k("#runTimeChart-".concat(a)).on("click",(function(){kt.e.target.checked;O(0,kt.e.target.value)})),kt.k("#failedQueueTimeChart-".concat(a)).on("click",(function(){kt.e.target.checked;O(0,kt.e.target.value)})),kt.k("#failedRunTimeChart-".concat(a)).on("click",(function(){kt.e.target.checked;O(0,kt.e.target.value)}))}},{key:"componentDidMount",value:function(){this.props.data.length>0&&this.handleBarChart()}},{key:"componentDidUpdate",value:function(){this.props.data.length>0&&this.handleBarChart()}},{key:"componentWillUnmount",value:function(){}},{key:"render",value:function(){if(0===this.props.data.length)return Object(oe.jsx)("div",{children:Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col",children:"No data"})})});var e=this.props.metrics.includes("completedQueueTime")?Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"chartMetricsQ",id:"queueTimeChart-".concat(this.props.helperId),className:"form-check-input",defaultChecked:!0,value:"completedQueueTime"}),Object(oe.jsx)("label",{htmlFor:"queueTimeChart",className:"px-1 mx-1 rounded form-check-label ",style:{background:x.background},children:"Queue"})]}):null,t=this.props.metrics.includes("completedRunTime")?Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"chartMetricsR",id:"runTimeChart-".concat(this.props.helperId),className:"form-check-input",defaultChecked:!0,value:"completedRunTime"}),Object(oe.jsx)("label",{htmlFor:"runTimeChart",className:"px-1 mx-1 rounded form-check-label text-white",style:{background:N.background},children:"Run"})]}):null,a=this.props.metrics.includes("failedQueueTime")?Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"chartMetricsFq",id:"failedQueueTimeChart-".concat(this.props.helperId),className:"form-check-input",defaultChecked:!0,value:"failedQueueTime"}),Object(oe.jsx)("label",{htmlFor:"failedQueueTimeChart",className:"px-1 mx-1 rounded form-check-label",style:{background:k},children:"Failed Queue"})]}):null,n=this.props.metrics.includes("failedRunTime")?Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"chartMetricsFr",id:"failedRunTimeChart-".concat(this.props.helperId),className:"form-check-input",defaultChecked:!0,value:"failedRunTime"}),Object(oe.jsx)("label",{htmlFor:"failedRunTimeChart",className:"px-1 mx-1 rounded form-check-label",style:{background:R},children:"Failed Run"})]}):null,r=this.props.metrics.includes("failedCount")?Object(oe.jsx)("div",{className:"form-check form-check-inline",children:Object(oe.jsx)("label",{className:"px-1 mx-1 rounded form-check-label",style:{background:R},children:"Failed Attempts"})}):null;return Object(oe.jsxs)("div",{children:[Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col",children:[e,t,a,n,r]})}),Object(oe.jsx)("svg",{version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",ref:this.setSvgElement})]})}}]),a}(n.Component),Dt=function(){var e=Object(n.useContext)(ut),t=e.statdata,a=e.loading,r=e.clearStats,s=e.isError,c=e.errorMessage,i=e.filterAppliedCount,o=e.filteredStatdata,l=e.timeframe;if(Object(n.useEffect)((function(){return function(){r()}}),[]),a)return Object(oe.jsx)("div",{className:"container",children:Object(oe.jsx)(le,{})});if(s)return Object(oe.jsx)("div",{className:"container",children:Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-md-12 text-center p-3",children:c})})});if(!t)return Object(oe.jsx)("div",{className:"container",children:Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsxs)("p",{className:"lead",children:["Supply a Section (Type) in the appropriate textbox to filter the jobs that will be included in the query. Also, you can supply the ",Object(oe.jsx)("strong",{children:"Hours"})," value that determines how many hours before the current time you want to query."]}),Object(oe.jsxs)("p",{className:"lead",children:["Press ",Object(oe.jsx)("span",{className:"badge badge-primary",children:"Get Statistics"})," ","to generate the result. The main BarChart can be filtered using the supplied checkboxes."]})]})})});var d=Object(oe.jsxs)("span",{children:["Statistics from the time frame: ",Object(oe.jsx)("span",{className:"bg-secondary rounded px-1",children:"None"!==l.From?l.From:"Start of experiment"})," to ",Object(oe.jsx)("span",{className:"bg-secondary rounded px-1",children:l.To})]}),u=De(t),p=u.jobsSubmittedCount,h=u.jobsRunCount,m=u.jobsCompletedCount,b=u.jobsFailedCount,j=u.expectedConsumption,f=u.realConsumption,x=u.failedRealConsumption,g=u.expectedCpuConsumption,O=u.cpuConsumption,v=u.failedCpuConsumption,N=u.totalQueueTime,y=u.cpuConsumptionPercentage,A=De(o),S=Object(oe.jsxs)("table",{className:"table table-sm table-bordered mb-0",children:[Object(oe.jsx)("caption",{children:"Considers number of jobs and retrials."}),Object(oe.jsx)("thead",{className:"thead-dark",children:Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"col",className:"pl-2",children:"Description"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Count"}),i>0&&Object(oe.jsxs)("th",{scope:"col",className:"text-right pr-2",children:["Count ",Object(oe.jsx)("sup",{children:"(*)"})]})]})}),Object(oe.jsxs)("tbody",{children:[Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",className:"pl-2",children:"Jobs Submitted"}),Object(oe.jsx)("td",{className:"text-right pr-2",children:p}),i>0&&Object(oe.jsx)("td",{className:"text-right pr-2",children:A.jobsSubmittedCount})]}),Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",className:"pl-2",children:"Jobs Run"}),Object(oe.jsx)("td",{className:"text-right pr-2",children:h}),i>0&&Object(oe.jsx)("td",{className:"text-right pr-2",children:A.jobsRunCount})]}),Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",className:"pl-2",children:"Jobs Completed"}),Object(oe.jsx)("td",{className:"text-right pr-2",children:m}),i>0&&Object(oe.jsx)("td",{className:"text-right pr-2",children:A.jobsCompletedCount})]}),Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",className:"pl-2",children:"Jobs Failed"}),Object(oe.jsx)("td",{className:"text-right pr-2",children:b}),i>0&&Object(oe.jsx)("td",{className:"text-right pr-2",children:A.jobsFailedCount})]})]})]}),E=Object(oe.jsxs)("table",{className:"table table-sm table-bordered mb-0",children:[Object(oe.jsx)("caption",{children:"Considers the number of processors requested by the job (and retrials) multiplied by the corresponding running time."}),Object(oe.jsx)("thead",{className:"thead-dark",children:Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"col",className:"pl-2",children:"Description"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Hours"}),i>0&&Object(oe.jsxs)("th",{scope:"col",className:"text-right pr-2",children:["Hours ",Object(oe.jsx)("sup",{children:"(*)"})]})]})}),Object(oe.jsxs)("tbody",{children:[Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",className:"pl-2",children:"Expected CPU Consumption"}),Object(oe.jsx)("td",{className:"text-right pr-2",children:g}),i>0&&Object(oe.jsx)("td",{className:"text-right pr-2",children:A.expectedCpuConsumption})]}),Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",className:"pl-2",children:"CPU Consumption"}),Object(oe.jsx)("td",{className:"text-right pr-2",children:O}),i>0&&Object(oe.jsx)("td",{className:"text-right pr-2",children:A.cpuConsumption})]}),Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",className:"pl-2",children:"Failed CPU Consumption"}),Object(oe.jsx)("td",{className:"text-right pr-2",children:v}),i>0&&Object(oe.jsx)("td",{className:"text-right pr-2",children:A.failedCpuConsumption})]})]})]}),C=Object(oe.jsxs)("table",{className:"table table-sm table-bordered mb-0",children:[Object(oe.jsx)("caption",{children:"Considers the running time of the jobs and retrials."}),Object(oe.jsx)("thead",{className:"thead-dark",children:Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"col",className:"pl-2",children:"Description"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Hours"}),i>0&&Object(oe.jsxs)("th",{scope:"col",className:"text-right pr-2",children:["Hours ",Object(oe.jsx)("sup",{children:"(*)"})]})]})}),Object(oe.jsxs)("tbody",{children:[Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",className:"pl-2",children:"Expected Consumption"}),Object(oe.jsx)("td",{className:"text-right pr-2",children:j}),i>0&&Object(oe.jsx)("td",{className:"text-right pr-2",children:A.expectedConsumption})]}),Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",className:"pl-2",children:"Real Consumption"}),Object(oe.jsx)("td",{className:"text-right pr-2",children:f}),i>0&&Object(oe.jsx)("td",{className:"text-right pr-2",children:A.realConsumption})]}),Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",className:"pl-2",children:"Failed Real Consumption"}),Object(oe.jsx)("td",{className:"text-right pr-2",children:x}),i>0&&Object(oe.jsx)("td",{className:"text-right pr-2",children:A.failedRealConsumption})]})]})]});return Object(oe.jsxs)("div",{className:"container",children:[t&&Object(oe.jsxs)("div",{className:"container border rounded my-1 py-2",children:[Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col text-center",children:[Object(oe.jsx)("p",{className:"h3",children:d}),Object(oe.jsxs)("p",{className:"lead",children:[Object(oe.jsxs)("span",{children:["CPU Consumption ",Object(oe.jsx)("span",{className:"bg-secondary rounded px-1",children:"".concat(y," %")})," ",i>0&&Object(oe.jsxs)("span",{className:"bg-secondary rounded px-1",children:["".concat(A.cpuConsumptionPercentage," %"),Object(oe.jsx)("sup",{children:"(*)"})]})]}),Object(oe.jsxs)("span",{className:"pl-3",children:["Total Queue Time ",Object(oe.jsx)("span",{className:"bg-secondary rounded px-1",children:"".concat(N," hours")})," ",i>0&&Object(oe.jsxs)("span",{className:"bg-secondary rounded px-1",children:["".concat(A.totalQueueTime," hours"),Object(oe.jsx)("sup",{children:"(*)"})]})]})]})]})}),Object(oe.jsxs)("div",{className:"row ",children:[Object(oe.jsx)("div",{className:"col",children:S}),Object(oe.jsx)("div",{className:"col",children:C}),Object(oe.jsx)("div",{className:"col",children:E})]})]}),o&&Object(oe.jsxs)("div",{className:"row py-4",children:[Object(oe.jsx)("div",{className:"col-md-6 scroll-x text-right",children:Object(oe.jsx)(Rt,{data:o,title:"Statistics",metrics:["completedQueueTime","completedRunTime","failedQueueTime","failedRunTime"],xtitle:"Hours",clearStats:r,helperId:"4",filterCount:i})}),Object(oe.jsx)("div",{className:"col-md-6 scroll-x",children:Object(oe.jsx)(Rt,{data:o,title:"Failed Attempts per Job",metrics:["failedCount"],xtitle:"Attempts",clearStats:r,helperId:"1",filterCount:i})})]})]})},_t=function(){var e=Object(n.useContext)(ut),t=Object(n.useContext)(ie),a=e.getExperimentStats,r=e.statdata,s=e.loading,c=e.clearStats,i=e.applyRegExToJobDataSet,o=t.experiment,l=Object(n.useState)(""),d=Object(p.a)(l,2),u=d[0],h=d[1],m=Object(n.useState)(""),b=Object(p.a)(m,2),j=b[0],f=b[1],x=Object(n.useState)(""),g=Object(p.a)(x,2),O=g[0],v=g[1];return Object(oe.jsx)("div",{className:"card-header p-1",children:Object(oe.jsxs)("div",{className:"d-flex flex-wrap row-hl",children:[Object(oe.jsx)("div",{className:"ml-auto item-hl",children:!r&&o&&!1===t.loading&&Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),a(o.expid,j,O)},className:"form",children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{className:"form-control",type:"text",name:"section",placeholder:"Section. Ex. SIM",onChange:function(e){return v(e.target.value)}}),Object(oe.jsx)("input",{className:"form-control",type:"number",min:"0",name:"hours",placeholder:"Hours",onChange:function(e){return f(e.target.value)}}),Object(oe.jsx)("div",{className:"input-group-append",children:Object(oe.jsx)("input",{type:"submit",value:"Get Statistics",className:"btn btn-primary",disabled:s,"data-toggle":"tooltip","data-placement":"bottom",title:"Gets the statistics for the Section and Hours values provided."})})]})})}),r&&Object(oe.jsx)("div",{className:"item-hl mr-1 minimum-w-filter",children:Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),i(u)},className:"form",children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{type:"text",name:"regExp",placeholder:"Filter using a regular expression",onChange:function(e){return h(e.target.value)},className:"form-control",text:""}),Object(oe.jsx)("div",{className:"input-group-append",children:Object(oe.jsx)("input",{type:"submit",className:"btn btn-dark",value:"Filter","data-toggle":"tooltip","data-placement":"bottom",title:"Filters the list of jobs according to the regular expression."})})]})})}),r&&Object(oe.jsx)("div",{className:"item-hl",children:Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),f(""),v(""),c()},className:"form",children:Object(oe.jsx)("div",{className:"",children:Object(oe.jsx)("input",{type:"submit",value:"Clear Statistics",className:"btn btn-dark btn-sm"})})})})]})})},It=function(e){var t=e.target,a=void 0===t?"manual-graph":t,r=Object(n.useContext)(ze),s=Object(n.useContext)(ie),c=r.selection,i=r.updateGraphSelectedNodes,o=s.canSelect;return c&&!o?Object(oe.jsxs)(n.Fragment,{children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-primary",type:"button","data-toggle":"modal","data-target":"#command"+a,onClick:function(e){e.preventDefault(),i()},children:Object(oe.jsx)("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Generate a command/text to change the status of the selected jobs on the Graph.",children:Object(oe.jsx)("strong",{children:"Change Status"})})}),Object(oe.jsx)(Ke,{source:"graph-only",target:a})]}):null},Pt=function(e){var t=e.source,a=Object(n.useContext)(ie),r=Object(n.useContext)(ze),s=Object(n.useContext)(de),c=Object(n.useContext)(tt),i=a.totalJobs,o=null;switch(t){case"tree":var l=s.treedata,d=s.currentRunIdOnTree;i===l.total||d||(o="The number of jobs in the experiment tree is different than the number of jobs in your current run. This might be due to a change in the config files of your experiment while Autosubmit was already running.");break;case"graph":i!==r.data.total_jobs&&(o="The number of jobs in the experiment graph is different than the number of jobs in your current run. This might be due to a change in the config files of your experiment while Autosubmit was already running.");break;case"lighter":i!==c.totalCount&&(o="The number of jobs in the experiment quick representation is different than the number of jobs in your current run. This might be due to a change in the config files of your experiment while Autosubmit was already running.");break;default:o=null}return o&&null!==o?Object(oe.jsx)("span",{className:"badge badge-danger","data-toggle":"tooltip","data-placement":"bottom",title:o,children:Object(oe.jsx)("b",{children:"ALERT"})}):null},Lt=function(){var e=Object(n.useContext)(ze),t=e.searchJobInGraph,a=e.foundNodes,r=e.loadingSearchJob,s=e.data,c=e.navigateTo,i=e.displayJobInfoPanel,o=e.setJobInfoPanelVisibility,l=Object(n.useState)(""),d=Object(p.a)(l,2),u=d[0],h=d[1],m=Object(n.useState)(""),b=Object(p.a)(m,2),j=b[0],f=b[1],x=function(e){return function(t){t.preventDefault(),o(e)}},g=function(e){return function(t){if(t.preventDefault(),a){var n=j+e;n>=0&&n=a.length&&(c(a[0].id),f(0))}}};return Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap",children:[Object(oe.jsx)("div",{className:"item-hl",children:Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),t(u),f(0)},className:"form",children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{className:"form-control",type:"text",name:"section",placeholder:"Job Name (e.g. fc0_1_CLEAN)",onChange:function(e){return h(e.target.value)}}),r&&Object(oe.jsx)("span",{children:"Searching..."}),!r&&Object(oe.jsx)("div",{className:"input-group-append",children:Object(oe.jsx)("input",{type:"submit",value:"Search by Job Name",className:"btn btn-dark btn-sm"})})]})})}),Object(oe.jsx)("div",{className:"item-hl",children:a&&a.length>1&&Object(oe.jsxs)("div",{className:"ml-2",children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-primary",type:"button",onClick:g(-1),children:"Previous"}),Object(oe.jsx)("button",{className:"btn btn-sm btn-primary",type:"button",onClick:g(1),children:"Next"}),Object(oe.jsxs)("small",{className:"text-muted ml-2",children:[j+1," of ",a.length]})]})}),Object(oe.jsx)("div",{className:"item-hl ml-2",children:Object(oe.jsx)(It,{})}),Object(oe.jsx)("div",{className:"item-hl ml-auto",children:"none"===i?Object(oe.jsx)("button",{className:"btn btn-sm btn-primary","data-toggle":"tooltip","data-placement":"bottom",title:"Show the Job Information Panel.",onClick:x("block"),children:"Show Panel"}):Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary","data-toggle":"tooltip","data-placement":"bottom",title:"Hide the Job Information Panel.",onClick:x("none"),children:"Hide Panel"})}),s&&Object(oe.jsxs)("div",{className:"ml-2 item-hl text-right",children:["Max out: ",s.max_children," | Max in: ",s.max_parents," | Total #Jobs: ",s.total_jobs," ",Object(oe.jsx)(Pt,{source:"graph"})," | Chunk unit: ",Object(oe.jsx)("strong",{children:s.chunk_unit})," | Chunk size"," ",Object(oe.jsx)("strong",{children:s.chunk_size})," "]})]})},Mt=function(e){var t=e.target,a=void 0===t?"manual-tree":t,r=Object(n.useContext)(de),s=Object(n.useContext)(ie),c=r.selectedTreeNode,i=r.updateTreeSelectedNodes,o=s.canSelect;return c&&!o?Object(oe.jsxs)(n.Fragment,{children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-primary",type:"button","data-toggle":"modal","data-target":"#command"+a,onClick:function(e){e.preventDefault(),i()},children:Object(oe.jsx)("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Generate a command/text to change the status of the selected jobs on the Tree View.",children:Object(oe.jsx)("strong",{children:"Change Status"})})}),Object(oe.jsx)(Ke,{source:"tree-only",target:a})]}):null},Ft=function(){var e=Object(n.useContext)(de),t=e.filterTreeView,a=e.treedata,r=e.loadingFilterTree,s=e.clearFilterTreeView,c=e.returnFilter,i=Object(n.useState)(""),o=Object(p.a)(i,2),l=o[0],d=o[1],u="Clear";return c&&c>=0&&(u="Clear Result"),Object(oe.jsxs)("div",{className:"row-hl flex-wrap d-flex",children:[Object(oe.jsx)("div",{className:"item-hl",children:Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),t(l)},className:"form",autoComplete:"off",children:Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{className:"form-control",type:"text",name:"section",placeholder:"Filter string",onChange:function(e){return d(e.target.value)}}),r&&Object(oe.jsx)("span",{children:"Searching..."}),!r&&Object(oe.jsx)("div",{className:"input-group-append",children:Object(oe.jsx)("input",{type:"submit",value:"Filter",className:"btn btn-dark btn-sm","data-toggle":"tooltip","data-placement":"bottom",title:"Use the Filter string to filter the contents of the Tree View, you can use '*' as a wildcard."})})]})})}),Object(oe.jsx)("div",{className:"item-hl ml-2",children:Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),s()},className:"form",children:Object(oe.jsx)("input",{type:"submit",value:u,className:"btn btn-primary btn-sm","data-toggle":"tooltip","data-placement":"bottom",title:"Returns the Tree View to its original content if a filter has been applied."})})}),Object(oe.jsx)("div",{className:"item-hl ml-2",children:Object(oe.jsx)(Mt,{})}),a&&a.jobs&&Object(oe.jsxs)("div",{className:"item-hl text-right ml-auto",children:["Total #Jobs: ",a.total," ",Object(oe.jsx)(Pt,{source:"tree"})," | Chunk unit: ",Object(oe.jsx)("strong",{children:a.reference.chunk_unit})," | Chunk size:"," ",Object(oe.jsx)("strong",{children:a.reference.chunk_size})," "]})]})},Ut={height:713},Gt={height:30},Yt=function(){var e=Object(n.useContext)(ie),t=Object(n.useContext)(ze),a=e.experiment,r=t.data,s=t.navigateToGroup,c={},i=null,o=null;return a&&r&&r.packages&&Object.keys(r.packages).length>0&&(c=r.packages,o=(i=Object.keys(c)).map((function(e,t){return Object(oe.jsx)("button",{className:"btn-warning btn-block",type:"button",onClick:(a={wrapper:e},function(e){e.preventDefault(),c&&s(c[a.wrapper])}),children:Object(oe.jsx)("small",{children:e.split("_").slice(1).join("_")})},t);var a}))),Object(oe.jsx)("div",{children:a&&c&&Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsxs)("div",{className:"card text-white bg-primary scroll",style:Ut,children:[Object(oe.jsx)("div",{className:"card-header text-center p-0",style:Gt,children:Object(oe.jsx)("div",{className:"mh-100 px-0 mx-0",children:Object(oe.jsx)("small",{children:Object(oe.jsx)("strong",{children:"WRAPPERS"})})})}),Object(oe.jsx)("div",{className:"card-body py-0",children:i&&o})]})})})})},Bt=function(e){var t=e.source,a=Object(n.useContext)(ie),r=Object(n.useContext)(de),s=Object(n.useContext)(ze),c=null,i=[],o=[],l=t+"summarymodal";if("graph"===t){var d=s.data;d&&(c=d.nodes)&&(c.map((function(e){return("COMPLETED"===e.status||"RUNNING"===e.status)&&o.push({Name:e.id,Queue:e.minutes_queue,Run:e.minutes,Status:e.status,Section:e.section})})),i=ge(o,"Section"))}else if("tree"===t){var u=r.treedata;u&&(c=u.jobs)&&(c.map((function(e){return("COMPLETED"===e.status||"RUNNING"===e.status)&&o.push({Name:e.id,Queue:e.minutes_queue,Run:e.minutes,Status:e.status,Section:e.section})})),i=ge(o,"Section"))}var p=a.experiment;if(p&&c&&c.length>0){var h=p.expid;return Object(oe.jsxs)("div",{children:[Object(oe.jsx)("button",{className:"btn btn-sm btn-primary",type:"button","data-toggle":"modal","data-target":"#"+l,children:Object(oe.jsx)("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Shows a summary of the Queue and Run times per type of job.",children:"Summary"})}),Object(oe.jsx)("div",{className:"modal fade text-dark",id:l,tabIndex:"-1",role:"dialog","aria-labelledby":l+"Title","aria-hidden":"true",children:Object(oe.jsx)("div",{className:"modal-dialog modal-dialog-summary",role:"document",children:Object(oe.jsxs)("div",{className:"modal-content",children:[Object(oe.jsxs)("div",{className:"modal-header",children:[Object(oe.jsxs)("h5",{className:"modal-title",id:l+"Title",children:["Summary data for ",Object(oe.jsx)("strong",{children:h}),Object(oe.jsx)("p",{children:Object(oe.jsx)("small",{children:Object(oe.jsxs)("span",{className:"text-muted",children:["Queue and Run in ",Object(oe.jsx)("strong",{children:"seconds"})," when ",Object(oe.jsx)("strong",{children:"exported"}),", ",Object(oe.jsx)("span",{className:"badge badge-primary",children:"blue"})," button. Only COMPLETED or RUNNING jobs are listed."]})})})]}),Object(oe.jsx)("button",{className:"close",type:"button","data-dismiss":"modal","aria-label":"Close",children:Object(oe.jsx)("span",{"aria-hidden":"true",children:"\xd7"})})]}),Object(oe.jsxs)("div",{className:"modal-body scroll-x-table",children:[i&&Object(oe.jsxs)("div",{className:"",children:["Aggregated by Job ",Object(oe.jsx)("strong",{children:"Section"}),": \xa0",i&&i.length>0&&Object(oe.jsx)("button",{type:"button",className:"btn btn-sm btn-primary",onClick:function(e,t,a){return function(n){n.preventDefault(),fe(e,t,a)}}(i,["Section","Count","SumQueue","AverageQueue","SumRun","AverageRun"],"summaryaggregated_"+h),"data-toggle":"tooltip","data-placement":"right",title:"Export data table to CSV format file.",children:Object(oe.jsx)("i",{className:"fas fa-file-export"})}),Object(oe.jsxs)("table",{className:"table mt-2",children:[Object(oe.jsx)("thead",{children:Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"col",children:"Section"}),Object(oe.jsx)("th",{scope:"col",className:"text-right",children:"Count"}),Object(oe.jsx)("th",{scope:"col",className:"text-right",children:"Queue Sum"}),Object(oe.jsx)("th",{scope:"col",className:"text-right",children:"Average Queue"}),Object(oe.jsx)("th",{scope:"col",className:"text-right",children:"Run Sum"}),Object(oe.jsx)("th",{scope:"col",className:"text-right",children:"Average Run"})]})}),Object(oe.jsx)("tbody",{children:i.map((function(e){return Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("td",{children:Object(oe.jsx)("strong",{children:e.Section})}),Object(oe.jsx)("td",{className:"text-right",children:e.Count}),Object(oe.jsx)("td",{className:"text-right",children:be(e.SumQueue)}),Object(oe.jsx)("td",{className:"text-right",children:be(e.AverageQueue)}),Object(oe.jsx)("td",{className:"text-right",children:be(e.SumRun)}),Object(oe.jsx)("td",{className:"text-right",children:be(e.AverageRun)})]},e.Section)}))})]})]}),o&&Object(oe.jsxs)("div",{children:[Object(oe.jsx)("div",{className:"my-2",children:Object(oe.jsx)("button",{"data-target":"#summaryCollapse",type:"button","aria-expanded":"false","aria-controls":"summaryCollapse",className:"btn btn-sm btn-primary","data-toggle":"collapse",children:"Show List of Jobs"})}),Object(oe.jsxs)("div",{className:"collapse",id:"summaryCollapse",children:["List of jobs: \xa0",o&&o.length>0&&Object(oe.jsx)("button",{type:"button",className:"btn btn-sm btn-primary",onClick:function(e,t,a){return function(n){n.preventDefault(),fe(e,t,a)}}(o,["Name","Queue","Run","Status"],"summary_"+h),"data-toggle":"tooltip","data-placement":"right",title:"Export data table to CSV format file.",children:Object(oe.jsx)("i",{className:"fas fa-file-export"})}),Object(oe.jsxs)("table",{className:"table mt-2",children:[Object(oe.jsx)("thead",{children:Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"col",children:"JobName"}),Object(oe.jsx)("th",{scope:"col",className:"text-right",children:"Queue"}),Object(oe.jsx)("th",{scope:"col",className:"text-right",children:"Run"}),Object(oe.jsx)("th",{scope:"col",children:"Status"})]})}),Object(oe.jsx)("tbody",{children:o.map((function(e){return Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("td",{children:e.Name}),Object(oe.jsx)("td",{className:"text-right",children:be(e.Queue)}),Object(oe.jsx)("td",{className:"text-right",children:be(e.Run)}),Object(oe.jsx)("td",{children:e.Status})]},e.Name)}))})]})]})]}),o&&0===o.length&&Object(oe.jsx)("p",{children:"There are no RUNNING or COMPLETED jobs in this instance of the experiment."})]}),Object(oe.jsx)("div",{className:"modal-footer",children:Object(oe.jsx)("button",{type:"button",className:"btn btn-secondary","data-dismiss":"modal",children:"Close"})})]})})})]})}return null},Ht=function(){var e=Object(n.useContext)(ie),t=Object(n.useContext)(de),a=e.canSelect,r=e.activateSelectionMode,s=e.deactivateSelectionMode,c=t.setStartSelection;return!0===a?Object(oe.jsx)("form",{className:"form",onSubmit:function(e){e.preventDefault(),s()},children:Object(oe.jsx)("input",{type:"submit",value:"Deactivate Selection Mode",className:"btn btn-danger btn-sm btn-block"})}):Object(oe.jsx)("form",{className:"form",onSubmit:function(e){e.preventDefault(),r(),c()},children:Object(oe.jsx)("input",{type:"submit",value:"Activate Selection Mode",className:"btn btn-secondary btn-sm btn-block","data-toggle":"tooltip","data-placement":"bottom",title:"You select jobs by clicking on them, then you can generate a command with those selected jobs."})})},Qt=function(){var e=Object(n.useContext)(ie),t=Object(n.useContext)(ze),a=e.experiment,r=e.experimentRunning,s=e.loadingJobMonitor,c=e.getLogStatus,i=e.logTimeDiff,o=e.currentLog,l=t.getExperimentGraph,d=t.data,u=t.getExperimentPkl,p=t.setAutoUpdatePkl,h=t.startAutoUpdatePkl,m=t.enabledGraphSearch,b=t.loadingPkl,j=t.warningActive,f=t.setWarningActive;Object(n.useEffect)((function(){var e=Oe(r,i,o,d?d.nodes:null);f(e)}),[i,j,o,d]);var x=!m||b,g=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"standard";return function(n){n.preventDefault(),c(a.expid);var s=Oe(r,i,o,d?d.nodes:null);l(a.expid,e,t,s)}};return Object(oe.jsx)("div",{className:"card-header p-1",children:Object(oe.jsxs)("div",{className:"d-flex flex-wrap row-hl",children:[(s||b)&&Object(oe.jsx)("div",{className:"mr-auto item-hl",children:"Querying..."}),j&&Object(oe.jsx)("div",{className:"mr-auto item-hl",children:Object(oe.jsx)("span",{className:"px-2 bg-warning text-white rounded text-center ml-1",style:{width:"100%"},title:j,children:Object(oe.jsx)("strong",{children:"ACTIVE WARNING"})})}),Object(oe.jsx)("div",{className:"item-hl ml-auto",children:Object(oe.jsxs)("div",{className:"btn-group",role:"group","aria-label":"Group By",children:[Object(oe.jsx)("button",{className:"btn btn-primary btn-sm",disabled:x,onClick:g(),"data-toggle":"tooltip","data-placement":"bottom",title:"Shows the default Graph Representation of the experiment.",children:"Classic"}),Object(oe.jsx)("button",{className:"btn btn-primary btn-sm",disabled:x,onClick:g("none","laplacian"),"data-toggle":"tooltip","data-placement":"bottom",title:"Shows Graph Laplacian representation of the experiment.",children:Object(oe.jsx)("i",{className:"fas fa-chess-board"})}),Object(oe.jsx)("button",{className:"btn btn-primary btn-sm",onClick:g("date-member"),disabled:x,"data-toggle":"tooltip","data-placement":"bottom",title:"Similar to Classic, but the nodes are grouped by date-member.",children:"Date-Member"}),Object(oe.jsx)("button",{className:"btn btn-primary btn-sm",onClick:g("status"),disabled:x,"data-toggle":"tooltip","data-placement":"bottom",title:"Similar to Classic, but the nodes are grouped by status.",children:"Status"})]})}),a&&d&&Object(oe.jsx)("div",{className:"item-hl pl-1",children:Object(oe.jsx)(Bt,{source:"graph"})}),a&&d&&Object(oe.jsx)("div",{className:"item-hl px-1",children:Object(oe.jsx)(Ht,{})}),Object(oe.jsx)("div",{className:"item-hl",children:Object(oe.jsxs)("div",{className:"btn-group",role:"group","aria-label":"workflow",children:[a&&d&&r&&!h&&Object(oe.jsx)("button",{type:"button",className:"btn btn-success btn-sm",disabled:x,onClick:function(e){e.preventDefault(),c(a.expid),u(a.expid,a.pkl_timestamp)},"data-toggle":"tooltip","data-placement":"bottom",title:"Updates the Graph's job data (including status) with the most recent information.",children:"Refresh"}),r&&d&&!h&&Object(oe.jsx)("button",{type:"button",className:"btn btn-success btn-sm",disabled:x,onClick:function(e){e.preventDefault(),p(!0)},"data-toggle":"tooltip","data-placement":"bottom",title:"Starts a worker that periodically updates the Graph's job data.",children:"Start Job Monitor"}),r&&d&&h&&Object(oe.jsx)("button",{type:"button",className:"btn btn-danger btn-sm",disabled:x,onClick:function(e){e.preventDefault(),p(!1)},children:"Stop Job Monitor"})]})})]})})},Jt=function(){var e=Object(n.useContext)(ie),t=e.experiment,a=e.startAutoUpdateRun,r=e.setAutoUpdateRun;return Object(oe.jsx)("div",{className:"card-header p-1",children:Object(oe.jsxs)("div",{className:"text-right",children:[t&&!a&&Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),r(!0)},className:"form",children:Object(oe.jsx)("input",{type:"submit",value:"Show Log",className:"btn btn-dark btn-sm","data-toggle":"tooltip","data-placement":"bottom",title:"Show the last 150 lines of the current run log of your experiment."})}),t&&a&&Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),r(!1)},className:"form",children:Object(oe.jsx)("input",{type:"submit",value:"Hide Log",className:"btn btn-secondary btn-sm"})})]})})},Vt=function(){var e=Object(n.useContext)(ie),t=Object(n.useContext)(de),a=e.experiment,r=e.experimentRunning,s=e.getLogStatus,c=e.logTimeDiff,i=e.currentLog,o=t.treedata,l=t.getExperimentTree,d=t.cleanTreeData,u=t.enabledTreeSearch,p=t.getExperimentTreePkl,h=t.loadingTreeRefresh,m=t.setAutoUpdateTreePkl,b=t.startAutoUpdateTreePkl,j=t.loadingTreePkl,f=t.currentRunIdOnTree,x=t.warningActive,g=t.setWarningActive;Object(n.useEffect)((function(){var e=Oe(r,c,i,o?o.jobs:null);g(e)}),[c,x,i,o]);var O=!u||j;return Object(oe.jsx)("div",{className:"card-header p-1",children:Object(oe.jsxs)("div",{className:"d-flex flex-wrap row-hl",children:[f&&Object(oe.jsx)("div",{className:"mr-auto item-hl",children:f.message}),(h||j)&&Object(oe.jsx)("div",{className:"mr-auto item-hl",children:"Querying..."}),x&&Object(oe.jsx)("div",{className:"mr-auto item-hl",children:Object(oe.jsx)("span",{className:"px-2 bg-warning text-white rounded text-center ml-1",style:{width:"100%"},title:x,children:Object(oe.jsx)("strong",{children:"ACTIVE WARNING"})})}),a&&!o&&Object(oe.jsx)("div",{className:"item-hl ml-auto",children:Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),s(a.expid),l(a.expid,Oe(r,c,i,o?o.jobs:null))},className:"form",children:Object(oe.jsx)("input",{type:"submit",value:"Show",className:"btn btn-primary btn-block btn-sm",disabled:O,"data-toggle":"tooltip","data-placement":"bottom",title:"Shows the Tree View representation of the experiment."})})}),a&&o&&Object(oe.jsx)("div",{className:"item-hl ml-auto",children:Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),d()},className:"form",children:Object(oe.jsx)("input",{type:"submit",value:"Clear Tree",id:"bs-tooltip",className:"btn btn-dark btn-block btn-sm bs-tooltip",disabled:O||b,"data-toggle":"tooltip","data-placement":"bottom",title:"Clears all the data from the Tree View."})})}),a&&o&&Object(oe.jsx)("div",{className:"item-hl pl-1",children:Object(oe.jsx)(Bt,{source:"tree"})}),a&&o&&!f&&Object(oe.jsx)("div",{className:"item-hl px-1",children:Object(oe.jsx)(Ht,{})}),Object(oe.jsx)("div",{className:"item-hl",children:Object(oe.jsxs)("div",{className:"btn-group",role:"group","aria-label":"workflow-tree",children:[a&&o&&r&&!b&&!f&&Object(oe.jsx)("button",{type:"button",className:"btn btn-success btn-sm",disabled:O,onClick:function(e){e.preventDefault(),s(a.expid),p(a.expid,a.pkl_timestamp)},"data-toggle":"tooltip","data-placement":"bottom",title:"Updates the Tree View job data (including status) with the most recent information.",children:"Refresh"}),r&&o&&!b&&!f&&Object(oe.jsx)("button",{type:"button",className:"btn btn-success btn-sm",disabled:O,onClick:function(e){e.preventDefault(),m(!0)},"data-toggle":"tooltip","data-placement":"bottom",title:"Starts a worker that periodically updates the Tree View job data.",children:"Start Job Monitor"}),r&&o&&b&&!f&&Object(oe.jsx)("button",{type:"button",className:"btn btn-danger btn-sm",disabled:O,onClick:function(e){e.preventDefault(),m(!1)},children:"Stop Job Monitor"})]})})]})})},Wt=function(){var e=Object(n.useContext)(tt),t=Object(n.useContext)(ie),a=e.getLighterView,r=e.loadingView,s=e.isValid,c=e.queueCount,i=e.runCount,o=e.totalCount,l=e.failedCount,d=e.completedCount,u=e.currentCount,h=e.filterLighterTreeView,m=e.loadingFilterTreeView,b=e.clearLighterFilterTreeView,j=e.filterCount,f=t.experiment,v=Object(n.useState)(""),y=Object(p.a)(v,2),A=y[0],S=y[1],E=function(e){return function(t){t.preventDefault(),h(e)}},C=s?"Refresh":"Show",T=s?"Updates the job data with the latest information.":"Show the list of jobs.",w="Clear";return j&&j>=0&&(w="Clear Result"),Object(oe.jsx)("div",{className:"card-header p-1",children:Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap",children:[s&&Object(oe.jsxs)("div",{className:"item-hl",children:[Object(oe.jsxs)("button",{className:"btn btn-sm btn-secondary",type:"button",style:O,onClick:E("#COMPLETED"),disabled:m,"data-toggle":"tooltip","data-placement":"bottom",title:"Filters the list and only shows COMPLETED jobs.",children:[d," completed"]}),Object(oe.jsxs)("button",{className:"btn btn-sm btn-secondary",type:"button",style:g,onClick:E("#FAILED"),disabled:m,"data-toggle":"tooltip","data-placement":"bottom",title:"Filters the list and only shows FAILED jobs.",children:[l," failed"]}),Object(oe.jsxs)("button",{className:"btn btn-sm btn-secondary",type:"button",style:N,onClick:E("#RUNNING"),disabled:m,"data-toggle":"tooltip","data-placement":"bottom",title:"Filters the list and only shows RUNNING jobs.",children:[i," running"]}),Object(oe.jsxs)("button",{className:"btn btn-sm btn-secondary",type:"button",style:x,onClick:E("#QUEUING"),disabled:m,"data-toggle":"tooltip","data-placement":"bottom",title:"Filters the list and only shows QUEUING jobs.",children:[c," queuing"]})]}),s&&Object(oe.jsx)(Pt,{source:"lighter"}),s&&Object(oe.jsx)("div",{className:"item-hl ml-2",children:Object(oe.jsxs)("form",{onSubmit:function(e){e.preventDefault(),h(A)},className:"form",autoComplete:"off",children:[m&&Object(oe.jsx)("span",{children:"Searching..."}),!m&&Object(oe.jsxs)("div",{className:"input-group input-group-sm",children:[Object(oe.jsx)("input",{className:"form-control",type:"text",name:"section",placeholder:"Filter string",onChange:function(e){return S(e.target.value)}}),Object(oe.jsx)("div",{className:"input-group-append",children:Object(oe.jsx)("input",{type:"submit",value:"Filter",className:"btn btn-dark btn-sm","data-toggle":"tooltip","data-placement":"bottom",title:"Use the Filter string to filter the contents of the list, you can use '*' as a wildcard."})})]})]})}),s&&Object(oe.jsx)("div",{className:"item-hl ml-2",children:Object(oe.jsxs)("span",{children:["Showing ",u," of ",Object(oe.jsxs)("strong",{children:[o," total jobs"]}),"."]})}),s&&j>=0&&Object(oe.jsx)("div",{className:"item-hl mx-1",children:Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),b()},className:"form",children:Object(oe.jsx)("input",{type:"submit",value:w,className:"btn btn-sm btn-primary","data-toggle":"tooltip","data-placement":"bottom",title:"Returns the list to its original content if a filter has been applied."})})}),Object(oe.jsx)("div",{className:"item-hl ml-auto",children:f&&Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),a(f.expid)},className:"form",children:Object(oe.jsx)("input",{type:"submit",value:C,className:"btn btn-success btn-block btn-sm",disabled:r,"data-toggle":"tooltip","data-placement":"bottom",title:T})})})]})})},qt=function(){var e=Object(n.useContext)(ie),t=Object(n.useContext)(de),a=e.getExperimentPerformanceMetrics,r=e.experiment,s=e.loadingPerformance,c=e.performancedata,i=t.enabledTreeSearch;return Object(oe.jsx)("div",{className:"card-header p-1 text-right",children:r&&Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),a(r.expid)},className:"form",children:Object(oe.jsx)("input",{type:"submit",value:c?"Refresh":"Show",className:c?"btn btn-success btn-sm":"btn btn-primary btn-sm",disabled:!i||s,"data-toggle":"tooltip","data-placement":"bottom",title:"Updates the performance metrics using the latest job data information."})})})},zt=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(e){var n;return Object(c.a)(this,a),(n=t.call(this,e)).svgElement=null,n.setSvgElement=function(e){n.svgElement=e},n.data=n.props.data,n.height=550,n.width=550,n.padding=30,n.colorScale=kt.j().domain(kt.f(n.data,(function(e){if(e.JPSY>0)return Number.parseFloat(e.JPSY)}))).range(["#01949A","#004369"]),n}return Object(i.a)(a,[{key:"applyLegendPlot",value:function(){var e=this.props.uniqueId;kt.k(this.svgElement).append("rect").attr("id","legend-1-".concat(e)).attr("x",this.width-30-this.padding).attr("y",.5*this.padding).attr("width",10).attr("height",10).style("fill",this.colorScale(kt.i(this.data,(function(e){return e.JPSY})))),kt.k(this.svgElement).append("rect").attr("id","legend-2-".concat(e)).attr("x",this.width-20-this.padding).attr("y",.5*this.padding).attr("width",10).attr("height",10).style("fill",this.colorScale(kt.h(this.data,(function(e){return e.JPSY})))),kt.k(this.svgElement).append("rect").attr("id","legend-3-".concat(e)).attr("x",this.width-10-this.padding).attr("y",.5*this.padding).attr("width",10).attr("height",10).style("fill",this.colorScale(kt.g(this.data,(function(e){return e.JPSY})))),kt.k(this.svgElement).append("text").attr("x",this.width-45-this.padding).attr("y",.6*this.padding).attr("dy","0.45em").style("font-size","0.9em").style("text-anchor","middle").text("JPSY")}},{key:"handleScatterPlot",value:function(){var e=this,t=this.props.attribute,a=this.props.mainTitle,n=function(e,t){return t>1200?s(e):Number.parseInt(e)},r=function(e,t){return"ASYPD"===t?Number.parseInt(e.queue+e.running):Number.parseInt(e.running)},s=function(e){return Number.parseInt(Number.parseInt(e)/60)},c=kt.g(this.data,(function(e){return r(e,t)})),i=kt.j().domain(kt.f(this.data,(function(e){return Number.parseFloat(e[t])}))).range([this.height-this.padding,this.padding]),o=kt.j().domain(kt.f(this.data,(function(e){return n(r(e,t),c)}))).range([40,this.width-this.padding]),l=(kt.j().domain(kt.f(this.data,(function(e){return e.queue}))).range([2,10]),kt.a(o).tickSize(-this.height+2*this.padding).tickSizeOuter(0)),d=kt.b(i).tickSize(-this.width+(this.padding+40)).tickSizeOuter(0),u=kt.k("body").append("div").classed("tooltip-d3",!0);function p(e){u.style("opacity",1).style("left",kt.e.pageX-60+"px").style("top",kt.e.pageY+"px").html("\n

              ".concat(e.name,"

              \n

              Queue: ").concat(be(e.queue),"

              \n

              Run: ").concat(be(e.running),"

              \n

              ").concat(t,": ").concat(e[t],"

              \n "))}function h(){u.style("left","10px").style("top","10px").style("opacity",0)}kt.k(this.svgElement).append("g").attr("transform","translate(0,"+(this.height-this.padding)+")").call(l),kt.k(this.svgElement).append("g").attr("transform","translate(40)").call(d),kt.k(this.svgElement).attr("width",this.width).attr("height",this.height).selectAll("circle").data(this.data).enter().append("circle").attr("cx",(function(e){return o(n(r(e,t),c))})).attr("cy",(function(e){return i(Number.parseFloat(e[t]))})).attr("fill",(function(t){return e.colorScale(t.JPSY)})).attr("r",4).on("mousemove",p).on("touchstart",p).on("mouseout",h).on("touchend",h),kt.k(this.svgElement).append("text").attr("x",this.width/2).attr("y",this.height-.7*this.padding).attr("dy","1em").style("text-anchor","middle").text(("ASYPD"===t?"Queue + Run":"Run")+" time in "+(c>1200?"minutes":"seconds")),kt.k(this.svgElement).append("text").attr("transform","rotate(-90)").attr("x",-this.height/2).attr("y",.8*this.padding).attr("dy","-1em").style("text-anchor","middle").text(t),kt.k(this.svgElement).append("text").attr("x",this.width/2).attr("y",.2*this.padding).attr("dy","1.5em").style("text-anchor","middle").style("font-weight","bold").text(a)}},{key:"componentDidMount",value:function(){this.props.data.length>0&&(this.handleScatterPlot(),this.applyLegendPlot())}},{key:"render",value:function(){return 0===this.props.data.length?Object(oe.jsx)("div",{children:Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col",children:"No data"})})}):Object(oe.jsx)("div",{className:"scroll-x",children:Object(oe.jsx)("svg",{version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",ref:this.setSvgElement})})}}]),a}(n.Component),Kt=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(e){var n;return Object(c.a)(this,a),(n=t.call(this,e)).svgElement=null,n.setSvgElement=function(e){n.svgElement=e},n}return Object(i.a)(a,[{key:"handleScatterPlot",value:function(){var e=this.props.data,t=this.props.attributeX,a=this.props.attributeY,n=this.props.titleX,r=this.props.mainTitle,s=this.props.uniqueId,c=550,i=550,o=30,l=kt.j().domain(kt.f(e,(function(e){return e[a]}))).range([520,o]),d=kt.j().domain(kt.f(e,(function(e){return e[t]}))).range([40,520]),u=kt.a(d).tickSize(-490).tickSizeOuter(0),p=kt.b(l).tickSize(-480).tickSizeOuter(0),h=kt.j().domain(kt.f(e,(function(e){return e.running}))).range(["lightgreen","darkgreen"]),m=kt.k("body").append("div").classed("tooltip-d3",!0);function b(e){m.style("opacity",1).style("left",kt.e.pageX-60+"px").style("top",kt.e.pageY+"px").html("\n

              ".concat(e.name,"

              \n

              Queue: ").concat(be(e.queue),"

              \n

              Run: ").concat(be(e.running),"

              \n

              ").concat(t,": ").concat("JPSY"===t?Re(e[t]):e[t],"

              \n

              ").concat(a,": ").concat(e[a],"

              \n "))}function j(){m.style("left","10px").style("top","10px").style("opacity",0)}kt.k(this.svgElement).append("g").attr("transform","translate(0,520)").call(u),kt.k(this.svgElement).append("g").attr("transform","translate(40)").call(p),kt.k(this.svgElement).attr("width",i).attr("height",c).selectAll("circle").data(e).enter().append("circle").attr("cx",(function(e){return d(e[t])})).attr("cy",(function(e){return l(e[a])})).attr("fill",(function(e){return h(e.running)})).attr("r",4).on("mousemove",b).on("touchstart",b).on("mouseout",j).on("touchend",j),kt.k(this.svgElement).append("text").attr("x",275).attr("y",6).attr("dy","1.5em").style("text-anchor","middle").style("font-weight","bold").text(r),kt.k(this.svgElement).append("text").attr("x",275).attr("y",529).attr("dy","1em").style("text-anchor","middle").text(n||t),kt.k(this.svgElement).append("text").attr("transform","rotate(-90)").attr("x",-275).attr("y",24).attr("dy","-1em").style("text-anchor","middle").text(a),kt.k(this.svgElement).append("text").attr("x",475).attr("y",18).attr("dy","0.45em").style("font-size","0.9em").style("text-anchor","middle").text("Run"),kt.k(this.svgElement).append("rect").attr("id","legend-1-".concat(s)).attr("x",490).attr("y",15).attr("width",10).attr("height",10).style("fill",h(kt.i(e,(function(e){return e.running})))),kt.k(this.svgElement).append("rect").attr("id","legend-2-".concat(s)).attr("x",500).attr("y",15).attr("width",10).attr("height",10).style("fill",h(kt.h(e,(function(e){return e.running})))),kt.k(this.svgElement).append("rect").attr("id","legend-3-".concat(s)).attr("x",510).attr("y",15).attr("width",10).attr("height",10).style("fill",h(kt.g(e,(function(e){return e.running}))))}},{key:"componentDidMount",value:function(){this.props.data.length>0&&this.handleScatterPlot()}},{key:"render",value:function(){return 0===this.props.data.length?Object(oe.jsx)("div",{children:Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col",children:"No data"})})}):Object(oe.jsx)("div",{className:"scroll-x",children:Object(oe.jsx)("svg",{version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",ref:this.setSvgElement})})}}]),a}(n.Component),Xt=function(){var e=Object(n.useContext)(ie),t=e.performancedata,a=e.experiment,r=e.loadingPerformance,s=e.performanceDisplayPlots,c=e.setPerformanceDisplay;if(!0===r)return Object(oe.jsx)(le,{});if(!a)return Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsx)("div",{className:"lead",children:"Experiment not defined."})})});if(!t)return Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12",children:Object(oe.jsxs)("p",{children:["Press ",Object(oe.jsx)("span",{className:"bg-primary text-white px-1 rounded",children:"Show"}),"."]})})});var i=t.RSYPD,o=t.ASYPD,l=t.SYPD,d=t.JPSY,u=t.Parallelization,p=t.CHSY,h=t.considered,m=t.arrSYPDdata,b=t.arrASYPDdata,j=t.arrCHSY,f=t.arrJPSYdata,x=[],g=h?Math.max.apply(Math,Object(ue.a)(Array.from(h.map((function(e){return Number.parseInt(e.JPSY)}))))):0,O=h?Math.max.apply(Math,Object(ue.a)(Array.from(h.map((function(e){return Number.parseFloat(e.ASYPD)}))))):0,v=g>999999999?1e6:1e3,N=g>999999999?"JPSY (millions)":"JPSY (thousands)";h&&h.forEach((function(e){x.push({JPSY:e.JPSY/v,SYPD:e.SYPD,ASYPD:e.ASYPD,CHSY:e.CHSY,running:e.running,queue:e.queue,name:e.name})}));var y=function(e){var t=e.target.id,a=e.target.checked;c(t,a)},A=Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"JPSYvsCHSY",id:"JPSYvsCHSY",className:"form-check-input",checked:s.JPSYvsCHSY,onChange:y,disabled:g<=0}),Object(oe.jsx)("label",{htmlFor:"JPSYvsCHSY",className:"px-1 mx-1 rounded form-check-label",children:"JPSY vs CHSY"})]}),S=Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"JPSYvsSYPD",id:"JPSYvsSYPD",className:"form-check-input",checked:s.JPSYvsSYPD,onChange:y,disabled:g<=0}),Object(oe.jsx)("label",{htmlFor:"JPSYvsSYPD",className:"px-1 mx-1 rounded form-check-label",children:"JPSY vs SYPD"})]}),E=Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"JPSYvsASYPD",id:"JPSYvsASYPD",className:"form-check-input",checked:s.JPSYvsASYPD,onChange:y,disabled:g<=0}),Object(oe.jsx)("label",{htmlFor:"JPSYvsASYPD",className:"px-1 mx-1 rounded form-check-label",children:"JPSY vs ASYPD"})]}),C=Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"SYPDvsASYPD",id:"SYPDvsASYPD",className:"form-check-input",checked:s.SYPDvsASYPD,onChange:y,disabled:h.length<=0||O<=0}),Object(oe.jsx)("label",{htmlFor:"SYPDvsASYPD",className:"px-1 mx-1 rounded form-check-label",children:"SYPD vs ASYPD"})]}),T=Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"CHSYvsSYPD",id:"CHSYvsSYPD",className:"form-check-input",checked:s.CHSYvsSYPD,onChange:y,disabled:h.length<=0}),Object(oe.jsx)("label",{htmlFor:"CHSYvsSYPD",className:"px-1 mx-1 rounded form-check-label",children:"CHSY vs SYPD"})]}),w=Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"CHSYvsASYPD",id:"CHSYvsASYPD",className:"form-check-input",checked:s.CHSYvsASYPD,onChange:y,disabled:h.length<=0||O<=0}),Object(oe.jsx)("label",{htmlFor:"CHSYvsASYPD",className:"px-1 mx-1 rounded form-check-label",children:"CHSY vs ASYPD"})]}),k=Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"RunVsSYPD",id:"RunVsSYPD",className:"form-check-input",checked:s.RunVsSYPD,onChange:y,disabled:h.length<=0}),Object(oe.jsx)("label",{htmlFor:"RunVsSYPD",className:"px-1 mx-1 rounded form-check-label",children:"Run t. vs SYPD"})]}),R=Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"RunVsCHSY",id:"RunVsCHSY",className:"form-check-input",checked:s.RunVsCHSY,onChange:y,disabled:h.length<=0}),Object(oe.jsx)("label",{htmlFor:"RunVsCHSY",className:"px-1 mx-1 rounded form-check-label",children:"Run t. vs ASYPD"})]}),D=Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"checkbox",name:"QueueRunVsASYPD",id:"QueueRunVsASYPD",className:"form-check-input",checked:s.QueueRunVsASYPD,onChange:y,disabled:g<=0||O<=0}),Object(oe.jsx)("label",{htmlFor:"QueueRunVsASYPD",className:"px-1 mx-1 rounded form-check-label",children:"Queue+Run t. vs ASYPD"})]});return Object(oe.jsxs)("div",{className:"container",children:[Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsxs)("p",{className:"lead",children:[Object(oe.jsxs)("span",{className:"mr-4",children:["Parallelization:"," ",Object(oe.jsx)("span",{className:"badge badge-secondary",children:u})]}),Object(oe.jsxs)("span",{children:["RSYPD:"," ",Object(oe.jsx)("span",{className:"badge badge-secondary",children:i})]})]}),Object(oe.jsx)("div",{className:"scroll-x",children:Object(oe.jsxs)("table",{className:"table table-sm table-bordered",children:[Object(oe.jsx)("thead",{className:"thead-dark",children:Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"col",children:"Metric"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Value"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Min"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Max"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Mean"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"SD"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"MAD"})]})}),Object(oe.jsxs)("tbody",{children:[Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",children:"JPSY"}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Object(oe.jsx)("span",{className:"rounded px-1 bg-secondary",children:Re(d,!0)})}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(Math.min.apply(Math,Object(ue.a)(f)),!0)}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(Math.max.apply(Math,Object(ue.a)(f)),!0)}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Object(oe.jsx)("strong",{children:Re(Te(f))})}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(we(f))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(ke(f))})]}),Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",children:"SYPD"}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Object(oe.jsx)("span",{className:"rounded px-1 bg-secondary",children:Re(l)})}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(Math.min.apply(Math,Object(ue.a)(m)))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(Math.max.apply(Math,Object(ue.a)(m)))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Object(oe.jsx)("strong",{children:Re(Te(m))})}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(we(m))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(ke(m))})]}),Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",children:"ASYPD"}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Object(oe.jsx)("strong",{children:Object(oe.jsx)("span",{className:"rounded px-1 bg-secondary",children:Re(o)})})}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(Math.min.apply(Math,Object(ue.a)(b)))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(Math.max.apply(Math,Object(ue.a)(b)))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(Te(b))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(we(b))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(ke(b))})]}),Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",children:"CHSY"}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Object(oe.jsx)("span",{className:"rounded px-1 bg-secondary",children:Re(p)})}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(Math.min.apply(Math,Object(ue.a)(j)))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(Math.max.apply(Math,Object(ue.a)(j)))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Object(oe.jsx)("strong",{children:Re(Te(j))})}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(we(j))}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(ke(j))})]})]})]})}),Object(oe.jsxs)("span",{children:[Object(oe.jsx)("strong",{children:"Value"}),": Value of the metric calculated at the experiment level."]}),Object(oe.jsx)("br",{}),Object(oe.jsxs)("span",{children:[Object(oe.jsx)("strong",{children:"SD"}),": Standard Deviation."]}),Object(oe.jsx)("br",{}),Object(oe.jsxs)("span",{children:[Object(oe.jsx)("strong",{children:"MAD"}),": Mean Absolute Deviation Around the Mean."]})]}),Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsxs)("p",{className:"lead",children:["Considered: (",h.length,")"]}),Object(oe.jsx)("div",{className:"scroll-y-jobs",children:Object(oe.jsxs)("table",{className:"table table-sm table-bordered",children:[Object(oe.jsx)("thead",{className:"thead-dark",children:Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"col",children:"#"}),Object(oe.jsx)("th",{scope:"col",className:"pl-2",children:"Job Name"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Queue"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Run"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"CHSY"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"SYPD"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"ASYPD"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"JPSY"}),Object(oe.jsx)("th",{scope:"col",className:"text-right pr-2",children:"Energy"})]})}),Object(oe.jsx)("tbody",{children:h.sort((function(e,t){return e.name>t.name?1:-1})).map((function(e,t){return Object(oe.jsxs)("tr",{children:[Object(oe.jsx)("th",{scope:"row",children:t+1}),Object(oe.jsx)("td",{className:"pl-1",children:e.name}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Object(oe.jsxs)("strong",{children:[" ",be(e.queue)]})}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Object(oe.jsx)("strong",{children:be(e.running)})}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(e.CHSY)}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(e.SYPD)}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(e.ASYPD)}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(e.JPSY,!0)}),Object(oe.jsx)("td",{className:"text-right pr-1",children:Re(e.energy,!0)})]},e.name)}))})]})})]})]}),Object(oe.jsx)("div",{className:"row py-2",children:"Available plots:"}),Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col border rounded text-center p-2",children:[A,S,E,C,T,w,k,R,D]})}),h&&h.length>0&&Object(oe.jsxs)("div",{className:"row",children:[s.JPSYvsCHSY&&g>0&&Object(oe.jsx)("div",{className:"col-lg-6 col-xl-4",children:Object(oe.jsx)(Kt,{data:x,attributeX:"JPSY",attributeY:"CHSY",titleX:N,mainTitle:"JPSY vs CHSY",uniqueId:"4"})}),s.JPSYvsSYPD&&g>0&&Object(oe.jsx)("div",{className:"col-lg-6 col-xl-4",children:Object(oe.jsx)(Kt,{data:x,attributeX:"JPSY",attributeY:"SYPD",titleX:N,mainTitle:"JPSY vs SYPD",uniqueId:"5"})}),s.JPSYvsASYPD&&g>0&&Object(oe.jsx)("div",{className:"col-lg-6 col-xl-4",children:Object(oe.jsx)(Kt,{data:x,attributeX:"JPSY",attributeY:"ASYPD",titleX:N,mainTitle:"JPSY vs ASYPD",uniqueId:"6"})}),s.SYPDvsASYPD&&O>0&&Object(oe.jsx)("div",{className:"col-lg-6 col-xl-4",children:Object(oe.jsx)(Kt,{data:h,attributeX:"SYPD",attributeY:"ASYPD",mainTitle:"SYPD vs ASYPD",uniqueId:"7"})}),s.CHSYvsSYPD&&Object(oe.jsx)("div",{className:"col-lg-6 col-xl-4",children:Object(oe.jsx)(Kt,{data:h,attributeX:"CHSY",attributeY:"SYPD",mainTitle:"CHSY vs SYPD",uniqueId:"8"})}),s.CHSYvsASYPD&&O>0&&Object(oe.jsx)("div",{className:"col-lg-6 col-xl-4",children:Object(oe.jsx)(Kt,{data:h,attributeX:"CHSY",attributeY:"ASYPD",mainTitle:"CHSY vs ASYPD",uniqueId:"9"})}),s.RunVsSYPD&&Object(oe.jsx)("div",{className:"col-lg-6 col-xl-4",children:Object(oe.jsx)(zt,{data:h,attribute:"SYPD",mainTitle:"Run time vs SYPD",uniqueId:"1"})}),s.RunVsCHSY&&Object(oe.jsx)("div",{className:"col-lg-6 col-xl-4",children:Object(oe.jsx)(zt,{data:h,attribute:"CHSY",mainTitle:"Run time vs CHSY",uniqueId:"2"})}),s.QueueRunVsASYPD&&O>0&&Object(oe.jsx)("div",{className:"col-lg-6 col-xl-4",children:Object(oe.jsx)(zt,{data:h,attribute:"ASYPD",mainTitle:"Queue + Run time vs to ASYPD",uniqueId:"3"})})]}),t&&t.warnings_job_data&&t.warnings_job_data.length>0&&Object(oe.jsxs)("div",{className:"row py-2",children:[Object(oe.jsx)("div",{className:"col-md-12",children:Object(oe.jsxs)("p",{children:[" ","There are some warnings about the calculations of performance metrics:"," ",Object(oe.jsx)("button",{"data-target":"#warningsCollapse",type:"button","aria-expanded":"false","aria-controls":"warningsCollapse",className:"btn btn-sm btn-warning","data-toggle":"collapse",children:Object(oe.jsx)("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Opens a list of warnings, click again to close the list.",children:"Show warnings"})})]})}),Object(oe.jsx)("div",{className:"collapse px-4",id:"warningsCollapse",children:Object(oe.jsx)("div",{className:"card card-body p-1",children:Object(oe.jsx)("ol",{className:"py-0 my-0",children:t.warnings_job_data.map((function(e){return Object(oe.jsx)("li",{children:e},e)}))})})})]}),Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col",children:[Object(oe.jsx)("h3",{children:"Metrics description:"}),Object(oe.jsxs)("p",{children:[Object(oe.jsx)("strong",{children:"Parallelization"}),": Total number of cores allocated for the run, per SIM."]}),Object(oe.jsxs)("p",{children:[Object(oe.jsx)("strong",{children:"JPSY"}),": Energy cost of a simulation, measured in Joules per simulated year. The JPSY ",Object(oe.jsx)("strong",{children:"value"})," at the experiment level is the mean of the values calculated at the job level. Energy values are only collected for jobs running on ",Object(oe.jsx)("strong",{children:"Marenostrum4"}),". In rare occassions the query that retrieves the energy information fails and the value stays at 0. Jobs with ",Object(oe.jsx)("strong",{children:"0"})," energy value are not considered for the calculation."]}),Object(oe.jsxs)("p",{children:[Object(oe.jsx)("strong",{children:"SYPD"}),": Simulated Years Per Day for the model in a 24h period. The ",Object(oe.jsx)("strong",{children:"value"})," at the experiment level is the mean of the values calculated at the job level."]}),Object(oe.jsxs)("p",{children:[Object(oe.jsx)("strong",{children:"ASYPD"}),": Actual Simulated Years Per Day, this number should be lower than SYPD due to interruptions, queue wait time, ",Object(oe.jsx)("strong",{children:"POST"})," jobs, data transfer, or issues with the model workflow. The ASYPD ",Object(oe.jsx)("strong",{children:"value"})," calculated at the job level uses a generalization of the formula applied at the experiment level. As a consequence, the ASYPD value at the experiment level can be different that the mean of the values calculated at the job level."]}),Object(oe.jsxs)("p",{children:[Object(oe.jsx)("strong",{children:"CHSY"}),": Core Hours Per Simulated Year. This metric is the product of the model runtime for 1 Simulated Year and the number of processors (Parallelization) allocated. The CHSY ",Object(oe.jsx)("strong",{children:"value"})," at the experiment level is the mean of the values calculated at the job level."]}),Object(oe.jsxs)("p",{children:[Object(oe.jsx)("strong",{children:"RSYPD"}),': "Real" Simulated Years Per Day. This variation of SYPD has been defined only at the experiment level. It depends on the existences of ',Object(oe.jsx)("strong",{children:"TRANSFER"})," or ",Object(oe.jsx)("strong",{children:"CLEAN"})," jobs. Then, it uses the finish time of the last TRANSFER or CLEAN job and the start time of the first SIM job in the experiment to calculate an approximation of the total duration of the simulation."]}),Object(oe.jsxs)("p",{children:[Object(oe.jsx)("strong",{children:"Considered"}),": Scrollable list where each item in the list represents job information showing ",Object(oe.jsx)("strong",{children:"Job Name"}),","," ",Object(oe.jsx)("strong",{children:"QUEUE"})," and ",Object(oe.jsx)("strong",{children:"RUNNING"})," time in"," ",Object(oe.jsx)("i",{children:"HH:mm:ss"})," format, ",Object(oe.jsx)("strong",{children:"CHSY"}),", ",Object(oe.jsx)("strong",{children:"JPSY"}),", and raw ",Object(oe.jsx)("strong",{children:"Energy"})," consumption for that job."," ",Object(oe.jsx)("i",{children:"Note: Energy values are only collected for those jobs running on MareNostrum4 and using the latest version of Autosubmit. Subsequent development will expand this feature for other platforms."})]}),Object(oe.jsxs)("p",{children:["Visit"," ",Object(oe.jsx)("a",{href:"https://earth.bsc.es/gitlab/wuruchi/autosubmitreact/-/wikis/Performance-Metrics",target:"_blank",rel:"noopener noreferrer",children:"Performance Metrics Documentation"})," ","for more details."]})]})})]})},Zt=function(e){var t=e.readyJobs,a=e.source,n="card scroll-ready-tree";return a&&"graph"===a&&(n="card scroll-ready-graph"),t?Object(oe.jsx)("div",{className:n,children:Object(oe.jsx)("div",{className:"card-body",children:t&&t.map((function(e,t){return Object(oe.jsxs)("div",{children:[Object(oe.jsx)("span",{className:"badge my-0",style:y,children:e.name}),Object(oe.jsx)("br",{})]},t)}))})}):null},$t=function(){var e,t=Object(n.useContext)(ie),a=t.experiment,r=t.requestCurrentConfiguration,s=t.currentConfiguration,c=t.clearCurrentConfigurationData;return Object(oe.jsx)("div",{className:"card-header p-1",children:Object(oe.jsxs)("div",{className:"d-flex flex-wrap row-hl",children:[a&&Object(oe.jsx)("div",{className:"item-hl ml-auto",children:Object(oe.jsx)("form",{onSubmit:(e=a.expid,function(t){t.preventDefault(),r(e)}),className:"form",children:Object(oe.jsx)("input",{type:"submit",value:s?"Refresh Data":"Show Current Configuration",className:s?"btn btn-success btn-sm btn-block":"btn btn-primary btn-sm btn-block","data-toggle":"tooltip","data-placement":"bottom",title:"Show the current configuration of your experiment"})})}),a&&s&&Object(oe.jsx)("div",{className:"item-hl ml-2",children:Object(oe.jsx)("form",{action:"",className:"form",onSubmit:function(e){e.preventDefault(),c()},children:Object(oe.jsx)("input",{type:"submit",value:"Clear Data",className:"btn btn-dark btn-sm btn-block","data-toggle":"tooltip","data-placement":"bottom",title:"Clears the current configuration information"})})})]})})},ea=function(){var e=Object(n.useContext)(ie),t=e.currentConfiguration,a=e.configDifferences;if(t){if(!0===t.error)return Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col",children:Object(oe.jsx)("strong",{children:t.errorMessage})})});var r=!1===t.areEqual?"The current run configuration in the historical database is different than the current configuration in the file system.":null,s=t.configurationCurrentRun,c=t.configurationFileSystem,i=Object(oe.jsx)("div",{className:"row mx-2",children:Object(oe.jsx)("div",{className:"col",children:"Not Available or Autosubmit API couldn't access the necessary files."})}),o=Object(oe.jsx)("span",{className:"badge badge-warning","data-toggle":"tooltip","data-placement":"bottom",title:"Difference detected.",children:"!"});return Object(oe.jsxs)("div",{className:"container",children:[Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col-md-12",children:[!0===t.warning&&Object(oe.jsx)("p",{children:t.warningMessage}),r&&Object(oe.jsx)("p",{className:"text-center",children:Object(oe.jsx)("span",{className:"text-muted",children:r})})]})}),Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col-md-12",children:[Object(oe.jsxs)("ul",{className:"nav nav-pills ml-4 mb-2",id:"hconf-pills-tab",role:"tablist",children:[Object(oe.jsx)("li",{className:"nav-item",role:"presentation",children:Object(oe.jsx)("a",{href:"#hconf-pills-autosubmit",className:"nav-link active","data-toggle":"pill",role:"tab",id:"hconf-pills-autosubmit-tab","aria-controls":"hconf-pills-autosubmit","aria-selected":"true",children:Object(oe.jsxs)("strong",{children:["autosubmit_.conf ",a.has("conf")&&o]})})}),Object(oe.jsx)("li",{className:"nav-item",role:"presentation",children:Object(oe.jsx)("a",{href:"#hconf-pills-expdef",className:"nav-link","data-toggle":"pill",role:"tab",id:"hconf-pills-expdef-tab","aria-controls":"hconf-pills-expdef","aria-selected":"false",children:Object(oe.jsxs)("strong",{children:["expdef_.conf ",a.has("exp")&&o]})})}),Object(oe.jsx)("li",{className:"nav-item",role:"presentation",children:Object(oe.jsx)("a",{href:"#hconf-pills-jobs",className:"nav-link","data-toggle":"pill",role:"tab",id:"hconf-pills-jobs-tab","aria-controls":"hconf-pills-jobs","aria-selected":"false",children:Object(oe.jsxs)("strong",{children:["jobs_.conf ",a.has("jobs")&&o]})})}),Object(oe.jsx)("li",{className:"nav-item",role:"presentation",children:Object(oe.jsx)("a",{href:"#hconf-pills-platforms",className:"nav-link","data-toggle":"pill",role:"tab",id:"hconf-pills-platforms-tab","aria-controls":"hconf-pills-platforms","aria-selected":"false",children:Object(oe.jsxs)("strong",{children:["platforms_.conf ",a.has("platforms")&&o]})})}),Object(oe.jsx)("li",{className:"nav-item",role:"presentation",children:Object(oe.jsx)("a",{href:"#hconf-pills-proj",className:"nav-link","data-toggle":"pill",role:"tab",id:"hconf-pills-proj-tab","aria-controls":"hconf-pills-proj","aria-selected":"false",children:Object(oe.jsxs)("strong",{children:["proj_.conf ",a.has("proj")&&o]})})})]}),Object(oe.jsxs)("div",{className:"tab-content",id:"hconf-pills-tabContent",children:[Object(oe.jsx)("div",{className:"tab-pane fade show active",id:"hconf-pills-autosubmit",role:"tabpanel","aria-labelledby":"hconf-pills-autosubmit-tab",children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col-md-6",children:[Object(oe.jsx)("p",{className:"text-center lead",children:Object(oe.jsx)("span",{children:"Current Run Configuration (Historical Database)"})}),s.conf?Ce(s.conf,"conf",a,o):i]}),Object(oe.jsxs)("div",{className:"col-md-6",children:[Object(oe.jsx)("p",{className:"text-center lead",children:Object(oe.jsx)("span",{children:"Current FileSystem Configuration"})}),c.conf?Ce(c.conf,"conf",a,o):i]})]})}),Object(oe.jsx)("div",{className:"tab-pane fade",id:"hconf-pills-expdef",role:"tabpanel","aria-labelledby":"hconf-pills-expdef-tab",children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col-md-6",children:[Object(oe.jsx)("p",{className:"text-center lead",children:Object(oe.jsx)("span",{children:"Current Run Configuration (Historical Database)"})}),s.exp?Ce(s.exp,"exp",a,o):i]}),Object(oe.jsxs)("div",{className:"col-md-6",children:[Object(oe.jsx)("p",{className:"text-center lead",children:Object(oe.jsx)("span",{children:"Current FileSystem Configuration"})}),c.exp?Ce(c.exp,"exp",a,o):i]})]})}),Object(oe.jsx)("div",{className:"tab-pane fade",id:"hconf-pills-jobs",role:"tabpanel","aria-labelledby":"hconf-pills-jobs-tab",children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col-md-6",children:[Object(oe.jsx)("p",{className:"text-center lead",children:Object(oe.jsx)("span",{children:"Current Run Configuration (Historical Database)"})}),s.jobs?Ce(s.jobs,"jobs",a,o):Object(oe.jsx)("p",{children:i})]}),Object(oe.jsxs)("div",{className:"col-md-6",children:[Object(oe.jsx)("p",{className:"text-center lead",children:Object(oe.jsx)("span",{children:"Current FileSystem Configuration"})}),c.jobs?Ce(c.jobs,"jobs",a,o):i]})]})}),Object(oe.jsx)("div",{className:"tab-pane fade",id:"hconf-pills-platforms",role:"tabpanel","aria-labelledby":"hconf-pills-platforms-tab",children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col-md-6",children:[Object(oe.jsx)("p",{className:"text-center lead",children:Object(oe.jsx)("span",{children:"Current Run Configuration (Historical Database)"})}),s.platforms?Ce(s.platforms,"platforms",a,o):i]}),Object(oe.jsxs)("div",{className:"col-md-6",children:[Object(oe.jsx)("p",{className:"text-center lead",children:Object(oe.jsx)("span",{children:"Current FileSystem Configuration"})}),c.platforms?Ce(c.platforms,"platforms",a,o):i]})]})}),Object(oe.jsx)("div",{className:"tab-pane fade",id:"hconf-pills-proj",role:"tabpanel","aria-labelledby":"hconf-pills-proj-tab",children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsxs)("div",{className:"col-md-6",children:[Object(oe.jsx)("p",{className:"text-center lead",children:Object(oe.jsx)("span",{children:"Current Run Configuration (Historical Database)"})}),s.proj?Ce(s.proj,"proj",a,o):i]}),Object(oe.jsxs)("div",{className:"col-md-6",children:[Object(oe.jsx)("p",{className:"text-center lead",children:Object(oe.jsx)("span",{children:"Current FileSystem Configuration"})}),c.proj?Ce(c.proj,"proj",a,o):i]})]})})]})]})})]})}return Object(oe.jsx)("div",{className:"container",children:Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col-md-12",children:[Object(oe.jsxs)("p",{children:["Press ",Object(oe.jsx)("span",{className:"badge badge-primary",children:"SHOW CURRENT INFORMATION"})," to visualize the current configuration of your experiment. The information will be retrieved from the historical database and from the filesystem, each datasource is displayed in its own table."]}),Object(oe.jsxs)("h4",{children:["What is the ",Object(oe.jsx)("strong",{children:"Current FileSystem Configuration"}),"?"]}),Object(oe.jsxs)("p",{children:["It is the configuration of your experiment stored in the files inside the folder ",Object(oe.jsx)("strong",{children:"conf"}),". Autosubmit GUI might have problems accessing this information if your conf files have ",Object(oe.jsx)("strong",{children:"restricted read permissions"}),"."]}),Object(oe.jsxs)("h4",{children:["What is the ",Object(oe.jsx)("strong",{children:"Current Run Configuration (Historical Database)"}),"?"]}),Object(oe.jsx)("p",{children:"Whenever you start a new run of your experiment, the current configuration stored in the file system is stored in the historical database for reference."}),Object(oe.jsxs)("h4",{children:["What is a ",Object(oe.jsx)("strong",{children:"new run"})," of the experiment?"]}),Object(oe.jsx)("p",{children:"A new run is created in any of these situations:"}),Object(oe.jsxs)("ul",{children:[Object(oe.jsxs)("li",{children:[Object(oe.jsx)("code",{children:"autosubmit create"})," is executed."]}),Object(oe.jsxs)("li",{children:[Object(oe.jsx)("code",{children:"autosubmit run"})," is executed and the historical database is empty."]}),Object(oe.jsxs)("li",{children:[Object(oe.jsx)("code",{children:"autosubmit run"})," is executed and it is detected that the number of jobs in the experiment has changed."]}),Object(oe.jsxs)("li",{children:[Object(oe.jsx)("code",{children:"autosubmit setstatus"})," and/or a significant amount of jobs changes status."]})]})]})})})},ta={minHeight:"100%"},aa=Object(u.h)((function(e){var t=e.match,a=t.params.expid,r=t.params.action,s=!(!r||"graph"!==r),c=!(!r||"light"!==r),i=!0===s||!0===c?"nav-link":"nav-link active",o=!0===s?"nav-link active":"nav-link",l=!0===c?"nav-link active":"nav-link",d=!0===s||!0===c?"tab-pane fade":"tab-pane fade show active",u=!0===s?"tab-pane fade show active":"tab-pane fade",p=!0===c?"tab-pane fade show active":"tab-pane fade",h=Object(n.useContext)(ie),m=Object(n.useContext)(ze),b=Object(n.useContext)(de),j=Object(n.useContext)(ut),f=Object(n.useContext)(tt),x=h.loadingRun,g=h.cleanRunData,O=h.getExperiment,v=h.getRunningState,N=h.getExperimentRun,y=h.startAutoUpdateRun,A=h.setAutoUpdateRun,S=h.rundata,E=h.experiment,C=h.canSelect,T=h.experimentRunning,w=h.updateCurrentSelectedGraph,k=h.updateCurrentSelectedTree,R=h.cleanExperimentData,D=h.totalJobs,_=h.getLogStatus,I=h.logTimeDiff,P=h.currentLog,L=b.treedata,M=b.updateSelectionTree,F=b.loadingTree,U=b.getExperimentTreePkl,G=b.getExperimentTree,Y=b.cleanPklTreeData,B=b.startAutoUpdateTreePkl,H=b.pkltreechanges,Q=b.setFancyTree,J=b.cleanTreeData,V=b.notificationTitleTree,W=b.setNotificationTitleTree,q=b.treeReady,z=m.cleanPklData,K=m.cleanNavData,X=m.getExperimentGraph,Z=m.setVisData,$=m.getExperimentPkl,ee=m.updateSelection,te=m.setVisNetwork,ae=m.data,ne=m.visNetwork,re=m.navToLatest,se=m.navigateAfterLoadGraph,ce=m.pklchanges,le=m.loadingGraph,ue=m.shouldUpdateGraph,pe=m.startAutoUpdatePkl,he=m.cleanGraphData,me=m.current_grouped,be=m.updateGraphSelectedNodes,je=m.notificationTitleGraph,fe=m.setNotificationTitleGraph,xe=m.graphReady,ge=m.displayJobInfoPanel,ve=j.clearStats,Ne=f.loadingView,ye=f.setLighterFancyTree,Ae=f.currentData,Se=f.isValid,Ee=f.errorMessage,Ce=f.cleanLoadingLighterView,Te=f.getLighterView;return Object(n.useEffect)((function(){if(O(a),v(a),_(a),a&&a.length>0)if(r)if("graph"===r){var e=Oe(T,I,P,ae?ae.nodes:null);X(a,"none","standard",e)}else"light"===r&&Te(a);else{var t=Oe(T,I,P,L?L.jobs:null);G(a,t)}var n=setInterval((function(){return v(a)}),3e5);return function(){clearInterval(n),R()}}),[]),Object(oe.jsxs)(n.Fragment,{children:[Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col-12",children:[Object(oe.jsxs)("ul",{className:"nav nav-tabs",id:"myTab",role:"tablist",children:[Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:i,id:"treeview-tab","data-toggle":"tab",href:"#treeview",role:"tab","aria-controls":"treeview","aria-selected":"false",children:"Tree View"})}),Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:o,id:"graph-tab","data-toggle":"tab",href:"#graph",role:"tab","aria-controls":"graph","aria-selected":"true",children:"Graph"})}),Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:"nav-link",id:"log-tab","data-toggle":"tab",href:"#log",role:"tab","aria-controls":"log","aria-selected":"false",children:"Log"})}),Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{href:"#config",className:"nav-link",id:"config-tab","data-toggle":"tab",role:"tab","aria-controls":"config","aria-selected":"false",children:"Configuration"})}),Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:"nav-link",id:"stats-tab","data-toggle":"tab",href:"#stats",role:"tab","aria-controls":"stats","aria-selected":"false",children:"Statistics"})}),Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:"nav-link",id:"performance-tab","data-toggle":"tab",href:"#performance",role:"tab","aria-controls":"performance","aria-selected":"false",children:"Performance"})}),Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:l,id:"lightview-tab","data-toggle":"tab",href:"#lightview",role:"tab","aria-controls":"lightview","aria-selected":"false",children:"Quick View"})}),Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{href:"#faq",className:"nav-link",id:"faq-tab","data-toggle":"tab",role:"tab","aria-controls":"faq","aria-selected":"false",children:"FAQ"})})]}),Object(oe.jsxs)("div",{className:"tab-content",id:"myTabContent",children:[Object(oe.jsx)("div",{className:u,id:"graph",role:"tabpanel","aria-labelledby":"graph-tab",children:Object(oe.jsxs)("div",{className:"card",children:[E&&Object(oe.jsx)(Qt,{}),E&&ae&&Object(oe.jsx)("div",{className:"card-header p-1",children:Object(oe.jsx)(Lt,{})}),Object(oe.jsx)("div",{className:"container",children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsx)("div",{className:"col px-0",children:Object(oe.jsx)(qe,{data:ae,updateSelection:ee,loadingGraph:le,cleanGraphData:he,shouldUpdateGraph:ue,setVisData:Z,setVisNetwork:te,navToLatest:re,clearStats:ve,cleanNavData:K,current_grouped:me,experimentRunning:T,navigateAfterLoadGraph:se,updateCurrentSelected:w,canSelect:C,updateGraphSelectedNodes:be})}),ae&&Object(oe.jsx)("div",{className:"col-lg-3 px-0",style:{display:ge},children:Object(oe.jsxs)("div",{className:"col-12 px-0",children:[Object(oe.jsxs)("ul",{className:"nav nav-tabs",id:"myTabSide",role:"tablist",children:[Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:"nav-link active",id:"selection-tab","data-toggle":"tab",href:"#selection",role:"tab","aria-controls":"selection","aria-selected":"true",children:"Selection"})}),Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:"nav-link",id:"wrapper-tab","data-toggle":"tab",href:"#wrapper",role:"tab","aria-controls":"treeview","aria-selected":"false",children:"Wrappers"})})]}),Object(oe.jsxs)("div",{className:"tab-content",id:"myTabSideContent",children:[Object(oe.jsxs)("div",{className:"tab-pane fade show active",id:"selection",role:"tabpanel","aria-labelledby":"selection-tab",children:[ae&&Object(oe.jsx)(ft,{}),(pe||xe)&&Object(oe.jsxs)("div",{children:[Object(oe.jsxs)("ul",{className:"nav nav-tabs",id:"downTabSideGraph",role:"tablist",children:[pe&&Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:"nav-link "+(xe?"":"active"),id:"monitor-tab-graph","data-toggle":"tab",href:"#monitor-graph",role:"tab","aria-controls":"monitor-graph",children:"Monitor"})}),xe&&Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:"nav-link "+(pe?"":"active"),id:"readyjobs-tab-graph","data-toggle":"tab",href:"#readyjobs-graph",role:"tab","aria-controls":"readyjobs-graph",children:"Ready Jobs"})})]}),Object(oe.jsxs)("div",{className:"tab-content",id:"graphDownSide",children:[pe&&Object(oe.jsx)("div",{className:"tab-pane fade show active",id:"monitor-graph",role:"tabpanel","aria-labelledby":"monitor-tab-graph",children:Object(oe.jsx)(Ct,{experiment:E,getExperimentPkl:$,cleanPklData:z,pklchanges:ce,experimentRunning:T,notificationTitleGraph:je,setNotificationTitleGraph:fe})}),xe&&Object(oe.jsx)("div",{className:"tab-pane fade show "+(pe?"":"active"),id:"readyjobs-graph",role:"tabpanel","aria-labelledby":"readyjobs-tab-graph",children:Object(oe.jsx)(Zt,{readyJobs:xe,source:"graph"})})]})]})]}),Object(oe.jsx)("div",{className:"tab-pane fade show",id:"wrapper",role:"tabpanel","aria-labelledby":"wrapper-tab",children:Object(oe.jsx)("div",{children:Object(oe.jsx)(Yt,{})})})]})]})}),E&&ae&&C&&Object(oe.jsx)("div",{className:"col-2 pl-0",children:Object(oe.jsx)(Xe,{target:"graph",source:"experiment"})})]})}),Object(oe.jsx)("div",{className:"card-footer p-0",children:ae&&ne&&Object(oe.jsx)(wt,{})})]})}),Object(oe.jsx)("div",{className:d,id:"treeview",role:"tabpanel","aria-labelledby":"treeview-tab",children:Object(oe.jsxs)("div",{className:"card",children:[E&&Object(oe.jsx)(Vt,{}),E&&L&&Object(oe.jsx)("div",{className:"card-header p-1",children:Object(oe.jsx)(Ft,{})}),Object(oe.jsx)("div",{className:"card-body p-0",children:Object(oe.jsx)("div",{className:"container",children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsx)("div",{className:"col px-0",children:Object(oe.jsx)(it,{treedata:L,loadingTree:F,cleanTreeData:J,setFancyTree:Q,updateSelectionTree:M,updateCurrentSelected:k,canSelect:C,totalJobs:D})}),L&&Object(oe.jsxs)("div",{className:"col-lg-3 px-0",children:[Object(oe.jsx)(vt,{}),(B||q)&&Object(oe.jsxs)("div",{children:[Object(oe.jsxs)("ul",{className:"nav nav-tabs",id:"downTabSideTree",role:"tablist",children:[B&&Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:"nav-link "+(q?"":"active"),id:"monitor-tab-tree","data-toggle":"tab",href:"#monitor-tree",role:"tab","aria-controls":"monitor-tree",children:"Monitor"})}),q&&Object(oe.jsx)("li",{className:"nav-item",children:Object(oe.jsx)("a",{className:"nav-link "+(B?"":"active"),id:"readyjobs-tab-tree","data-toggle":"tab",href:"#readyjobs-tree",role:"tab","aria-controls":"readyjobs-tree",children:"Ready Jobs"})})]}),Object(oe.jsxs)("div",{className:"tab-content",id:"treeDownSide",children:[B&&Object(oe.jsx)("div",{className:"tab-pane fade show active",id:"monitor-tree",role:"tabpanel","aria-labelledby":"monitor-tab-tree",children:Object(oe.jsx)(Tt,{experiment:E,getExperimentTreePkl:U,cleanPklTreeData:Y,pkltreechanges:H,experimentRunning:T,notificationTitleTree:V,setNotificationTitleTree:W})}),q&&Object(oe.jsx)("div",{className:"tab-pane fade show "+(B?"":"active"),id:"readyjobs-tree",role:"tabpanel","aria-labelledby":"readyjobs-tab-tree",children:Object(oe.jsx)(Zt,{readyJobs:q,source:"tree"})})]})]})]}),E&&L&&C&&Object(oe.jsx)("div",{className:"col-md-2 px-0",children:Object(oe.jsx)(Xe,{target:"tree",source:"experiment"})})]})})})]})}),Object(oe.jsx)("div",{className:"tab-pane fade",id:"log",role:"tabpanel","aria-labelledby":"log-tab",children:Object(oe.jsxs)("div",{className:"card",children:[E&&Object(oe.jsx)(Jt,{}),Object(oe.jsx)("div",{className:"card-body p-0",style:ta,children:Object(oe.jsxs)("div",{className:"col-12 p-0",children:[y&&Object(oe.jsx)(At,{rundata:S,loadingRun:x,cleanRunData:g,getExperimentRun:N,experiment:E,startAutoUpdateRun:y,setAutoUpdateRun:A,experimentRunning:T}),!y&&Object(oe.jsx)("div",{className:"row",children:Object(oe.jsx)("div",{className:"col-12 text-center",children:Object(oe.jsxs)("p",{className:"lead",children:["Press"," ",Object(oe.jsx)("span",{className:"badge badge-dark",children:"Show Log"})," ","to see the last 50 lines of the running log of this experiment. If the experiment is running, the log will update automatically."]})})})]})})]})}),Object(oe.jsx)("div",{className:"tab-pane fade",id:"stats",role:"tabpanel","aria-labelledby":"stats-tab",children:Object(oe.jsxs)("div",{className:"card",style:ta,children:[Object(oe.jsx)(_t,{}),Object(oe.jsx)("div",{className:"card-body p-1",children:Object(oe.jsx)(Dt,{})})]})}),Object(oe.jsx)("div",{className:"tab-pane fade",id:"performance",role:"tabpanel","aria-labelledby":"performance-tab",children:Object(oe.jsxs)("div",{className:"card",children:[E&&Object(oe.jsx)(qt,{}),Object(oe.jsx)("div",{className:"card-body",children:E&&Object(oe.jsx)(Xt,{})})]})}),Object(oe.jsx)("div",{className:p,id:"lightview",role:"tabpanel","aria-labelledby":"lightview-tab",children:Object(oe.jsxs)("div",{className:"card",children:[E&&Object(oe.jsx)(Wt,{}),Object(oe.jsx)("div",{className:"card-body p-1",children:E&&Object(oe.jsx)(dt,{data:Ae,isValid:Se,errorMessage:Ee,loadingView:Ne,setLighterFancyTree:ye,cleanLoadingLighterView:Ce})})]})}),Object(oe.jsx)("div",{className:"tab-pane fade",id:"faq",role:"tabpanel","aria-labelledby":"faq-tab",children:Object(oe.jsxs)("div",{className:"card mt-2",children:[Object(oe.jsx)("div",{className:"card-header",children:"Frequently Asked Questions"}),Object(oe.jsx)("div",{className:"card-body p-1",children:Object(oe.jsx)(xt,{})})]})}),Object(oe.jsx)("div",{className:"tab-pane fade",id:"config",role:"tabpanel","aria-labelledby":"config-tab",children:Object(oe.jsxs)("div",{className:"card",children:[Object(oe.jsx)($t,{}),Object(oe.jsx)("div",{className:"card-body p-1",children:Object(oe.jsx)(ea,{})})]})})]})]})}),Object(oe.jsx)(Qe,{expidToken:a})]})})),na=function(e){var t=e.specificSearch,a=Object(n.useContext)(Ue),r=Object(n.useContext)(ie),s=r.searchExperimentsByOwner,c=r.experiments,i=localStorage.getItem(_),o=localStorage.getItem(I);Object(n.useEffect)((function(){f(i||K),v(o||W),t&&!c&&s(t,i,o)}),[t,s,i,o,c]);var l=Object(n.useState)(""),d=Object(p.a)(l,2),u=d[0],h=d[1],m=Object(n.useState)(""),b=Object(p.a)(m,2),j=b[0],f=b[1],x=Object(n.useState)(""),g=Object(p.a)(x,2),O=g[0],v=g[1],N=function(e){var t=null;switch(e.target.value){case"experiment":t=q;break;case"test":t=z;break;case"all":default:t=K}r.orderExperimentsInResult(t),f(t),localStorage.setItem(_,t)};return Object(oe.jsxs)("div",{className:"container",children:[Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap mb-2",children:[Object(oe.jsxs)("div",{className:"item-hl mr-1 px-2 pt-1 border rounded",children:[Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"radio",name:"experimentType",id:"experimentTypeTest",className:"form-check-input",value:"test",checked:j===z,onChange:N}),Object(oe.jsx)("label",{htmlFor:"experimentTypeTest",className:"form-check-label",children:"Test"})]}),Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"radio",name:"experimentType",id:"experimentTypeExperiment",className:"form-check-input",value:"experiment",checked:j===q,onChange:N}),Object(oe.jsx)("label",{htmlFor:"experimentTypeExperiment",className:"form-check-label",children:"Experiment"})]}),Object(oe.jsxs)("div",{className:"form-check form-check-inline",children:[Object(oe.jsx)("input",{type:"radio",name:"experimentType",id:"experimentTypeAll",className:"form-check-input",value:"all",checked:j===K,onChange:N}),Object(oe.jsx)("label",{htmlFor:"experimentTypeAll",className:"form-check-label",children:"All"})]})]}),Object(oe.jsx)("div",{className:"item-hl mr-1 pt-1 px-2 border rounded",children:Object(oe.jsxs)("div",{className:"form-check",children:[Object(oe.jsx)("input",{className:"form-check-input",type:"checkbox",id:"switchActive",value:O===W?"all":"active",onChange:function(e){var t=e.target.value,a=re("all"===t?"active":"all");r.orderExperimentsInResult(a),v(a),localStorage.setItem(I,a)},checked:O===V}),Object(oe.jsx)("label",{className:"form-check-label",htmlFor:"switchActive",children:"Only Active"})]})}),Object(oe.jsx)("div",{className:"item-hl flex-fill mr-1",children:Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),""===u?a.setAlert("Please enter something","light"):r.searchExperiments(u,j,O)},className:"form",children:Object(oe.jsxs)("div",{className:"input-group",children:[Object(oe.jsx)("input",{className:"form-control",type:"text",name:"text",placeholder:"If it uses Autosubmit, you will find it. Search by expid, description, or owner.",value:u,onChange:function(e){return h(e.target.value)}}),Object(oe.jsx)("div",{className:"input-group-append",children:Object(oe.jsx)("input",{type:"submit",value:"Search",className:"btn btn-dark"})})]})})}),Object(oe.jsx)("div",{className:"item-hl",children:Object(oe.jsx)("form",{onSubmit:function(e){e.preventDefault(),r.getCurrentRunning()},className:"form",children:Object(oe.jsx)("div",{className:"input-group",children:Object(oe.jsx)("input",{type:"submit",value:"Active Exps",className:"btn btn-success","data-toggle":"tooltip","data-placement":"bottom",title:"Shows all the experiments that are currently running under Autosubmit."})})})})]}),r.experiments.length>0&&Object(oe.jsxs)("div",{className:"row mb-2",children:[Object(oe.jsx)("div",{className:"col-md-3",children:Object(oe.jsx)("button",{className:"btn btn-primary btn-block",onClick:r.getSummaries,"data-toggle":"tooltip","data-placement":"bottom",title:"Shows a summary of the current progress of each experiment in the result.",children:"Show Detailed Data"})}),Object(oe.jsx)("div",{className:"col-md-9",children:Object(oe.jsxs)("button",{className:"btn btn-light btn-block",onClick:r.clearExperiments,children:["Clear ",r.experiments.length]})})]})]})},ra=function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"shouldComponentUpdate",value:function(e){return e.experiment!==this.props.experiment||e.isLoading!==this.props.isLoading||m}},{key:"render",value:function(){var e=this.props,t=e.experiment,a=e.getExperimentSummary,n=e.summaries,r=e.isLoading;if(!t)return null;var s=t.name,c=t.description,i=t.user,o=t.hpc,l=t.status,u=t.completed,p=t.total,h=t.version,m=t.wrapper,j=t.queuing,f=t.failed,v=t.running,y=p>=12e3;return Object(oe.jsxs)("div",{className:"card card-hover",children:[Object(oe.jsx)("div",{className:"card-header text-center py-1",children:Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsx)("div",{className:"col-md-3 text-left",children:Object(oe.jsx)("h3",{className:"font-weight-bold",children:s})}),Object(oe.jsxs)("div",{className:"col-md-6 text-center",children:[Object(oe.jsxs)("div",{className:"row-hl d-flex flex-wrap",children:[Object(oe.jsxs)("div",{className:"item-hl",children:[j>0&&Object(oe.jsx)("span",{className:"badge",style:x,children:j}),v>0&&Object(oe.jsx)("span",{className:"badge",style:N,children:v}),f>0&&Object(oe.jsx)("span",{className:"badge",style:g,children:f}),u>0&&Object(oe.jsx)("span",{className:"badge",style:O,children:u})]}),Object(oe.jsxs)("div",{className:"item-hl ml-auto",children:[u," / ",p]})]}),Object(oe.jsx)("div",{className:"progress border",children:Object(oe.jsx)("div",{className:u===p?"progress-bar bg-completed":"RUNNING"===l?n[s]&&n[s].n_failed>0||f>0?"progress-bar progress-bar-striped progress-bar-animated bg-danger":v>0?"progress-bar progress-bar-striped progress-bar-animated bg-success":j>0?"progress-bar progress-bar-striped progress-bar-animated bg-queue":"progress-bar bg-success":n[s]&&n[s].n_failed>0||f>0?"progress-bar bg-danger":v>0?"progress-bar bg-success":j>0?"progress-bar bg-queue":"progress-bar bg-info",role:"progressbar",style:{width:p>0?u/p*100+"%":"0%"},"aria-valuenow":u,"aria-valuemin":"0","aria-valuemax":p})})]}),Object(oe.jsxs)("div",{className:"col-md-3 text-right",children:[l&&"RUNNING"===l&&Object(oe.jsx)("span",{className:"badge badge-success text-right",children:"ACTIVE"}),l&&"RUNNING"!==l&&Object(oe.jsx)("span",{className:"badge badge-secondary text-right",children:"INACTIVE"})]})]})}),Object(oe.jsxs)("div",{className:"card-body py-1",children:[Object(oe.jsxs)("div",{className:"d-flex justify-content-between",children:[Object(oe.jsx)("div",{children:Object(oe.jsxs)("h6",{className:"card-subtitle text-muted pt-2",children:[Object(oe.jsx)("span",{children:"Owner:"})," ",i]})}),Object(oe.jsx)("div",{children:Object(oe.jsxs)("span",{className:"text-muted",children:["HPC: ",o]})})]}),Object(oe.jsx)("p",{className:"card-text mb-0",children:Object(oe.jsx)("span",{children:c})}),Object(oe.jsxs)("div",{className:"row row-in-card",children:[Object(oe.jsxs)("div",{className:"col-md-3 px-1",children:[!r&&Object(oe.jsx)("button",{className:n[s]?"btn btn-info btn-block btn-sm":"btn btn-primary btn-block btn-sm",type:"button",onClick:function(e){return function(t){t.preventDefault(),a(e)}}(s),"aria-controls":s,"data-toggle":"tooltip","data-placement":"bottom",title:n[s]?"Updates the summary information.":"Shows a summary of the current progress of the experiment.",children:n[s]?"Refresh":"Summary"}),r&&Object(oe.jsx)("button",{className:"btn btn-sm btn-secondary btn-block disabled",disabled:"True",children:"Loading..."})]}),Object(oe.jsxs)("div",{className:"col-md-3 px-1",children:[!0===y&&Object(oe.jsx)("button",{className:"btn btn-sm btn-block",disabled:"True",children:"Tree \u2192"}),!1===y&&Object(oe.jsx)(d.b,{to:"/".concat(b,"/experiment/").concat(s),className:"btn btn-primary btn-block btn-sm","data-toggle":"tooltip","data-placement":"bottom",title:"Opens the experiment page where the Tree View representation is loaded by default.",children:"Tree"})]}),Object(oe.jsxs)("div",{className:"col-md-3 px-1",children:[!0===y&&Object(oe.jsx)("button",{className:"btn btn-sm btn-block",disabled:"True",children:"Graph \u2192"}),!1===y&&Object(oe.jsx)(d.b,{to:"/".concat(b,"/experiment/").concat(s,"/graph"),className:"btn btn-primary btn-block btn-sm","data-toggle":"tooltip","data-placement":"bottom",title:"Opens the experiment page where the Graph View representation is loaded by default.",children:"Graph"})]}),Object(oe.jsx)("div",{className:"col-md-3 px-1",children:Object(oe.jsx)(d.b,{to:"/".concat(b,"/experiment/").concat(s,"/light"),className:"btn btn-primary btn-block btn-sm","data-toggle":"tooltip","data-placement":"bottom",title:"Opens the experiment page where a simple list of jobs and their status is presented. Loads quicker than the Tree View.",children:"Quick"})})]}),n[s]&&Object(oe.jsxs)("div",{className:"row",children:[n[s]&&!0===n[s].error&&Object(oe.jsx)("div",{className:"col scroll-x",id:s,children:Object(oe.jsx)("div",{className:"row text-left",children:Object(oe.jsx)("div",{className:"col-md-12",children:Object(oe.jsxs)("strong",{children:["ERROR: ",n[s].error_message]})})})}),n[s]&&!1===n[s].error&&Object(oe.jsxs)("div",{className:"col scroll-x",id:s,children:[Object(oe.jsx)("div",{className:"row text-left",children:Object(oe.jsxs)("div",{className:"col-md-12",children:["All : avg. queue"," ",Object(oe.jsx)("strong",{children:n[s].avg_queue_time})," | run"," ",Object(oe.jsx)("strong",{children:n[s].avg_run_time})]})}),n[s].sim_queue_considered>0&&Object(oe.jsx)("div",{className:"row text-left",children:Object(oe.jsxs)("div",{className:"col-md-12",children:["SIM "," (",n[s].n_sim,") "," : avg. queue"," ",Object(oe.jsx)("strong",{children:n[s].avg_sim_queue_time})," "," (",n[s].sim_queue_considered,") ","| run"," ",Object(oe.jsx)("strong",{children:n[s].avg_sim_run_time})," (",n[s].sim_run_considered,")"]})}),Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col",children:[n[s].n_running>0&&Object(oe.jsxs)("span",{className:"badge badge-success",children:["Running: ",n[s].n_running]})," ",n[s].n_queuing>0&&Object(oe.jsxs)("span",{className:"badge",style:{backgroundColor:"pink"},children:["Queuing: ",n[s].n_queuing]})," ",n[s].n_submitted>0&&Object(oe.jsxs)("span",{className:"badge",style:{backgroundColor:"cyan"},children:["Submitted: ",n[s].n_submitted]})," ",n[s].n_suspended>0&&Object(oe.jsxs)("span",{className:"badge",style:{backgroundColor:"orange"},children:["Suspended: ",n[s].n_suspended]})]})}),n[s].n_failed>0&&Object(oe.jsxs)("div",{className:"row",children:[Object(oe.jsx)("div",{className:"col-md-2 text-center",children:Object(oe.jsxs)("span",{className:"badge badge-danger",children:["Failed: ",n[s].n_failed]})}),Object(oe.jsx)("div",{className:"col-md-10 text-left",children:Object(oe.jsx)("div",{className:"",style:{overflow:"auto",maxHeight:"200px"},children:Object(oe.jsx)("ol",{children:n[s].failed_jobs.map((function(e){return Object(oe.jsx)("li",{children:e},e)}))})})})]})]})]}),Object(oe.jsxs)("p",{className:"card-text text-center",children:[Object(oe.jsx)("span",{className:"text-muted",children:h}),m&&Object(oe.jsxs)("span",{className:"px-1 ml-1 bg-secondary text-dark rounded",children:[m," wrapper"]})]})]})]})}}]),a}(n.Component),sa=function(){var e,t=Object(n.useContext)(ie),a=t.numberPages,r=t.currentPage,s=t.setCurrentPage,c=t.experiments,i=(e=a+1,Object(ue.a)(Array(e).keys()).slice(1)),o=c?c.filter((function(e){return!1===e.hidden})).length:0,l=function(e){return function(t){t.preventDefault(),s(e)}},d="From "+String(P*(r-1)+1)+" to "+String(P*r>o?o:P*r);return Object(oe.jsx)("div",{className:"item-hl",children:a&&a>1?Object(oe.jsx)("nav",{"aria-label":"Navigation",children:Object(oe.jsxs)("ul",{className:"pagination pagination-sm pt-1",children:[i.map((function(e,t){return e===r?Object(oe.jsx)("li",{className:"page-item active",children:Object(oe.jsx)("button",{className:"page-link",onClick:l(e),children:e})},t):Object(oe.jsx)("li",{className:"page-item",children:Object(oe.jsx)("button",{className:"page-link",onClick:l(e),children:e})},t)})),Object(oe.jsx)("li",{className:"page-item disabled",children:Object(oe.jsx)("button",{className:"page-link",children:d})})]})}):null})},ca=function(){var e=Object(n.useContext)(ie),t=e.loading,a=e.experiments,r=e.summaries,s=e.loadingSummary,c=e.getExperimentSummary,i=e.experimentsInPage,o=e.orderExperimentsInResult,l=e.currentOrderType,d=e.activeInactiveFilter,u=e.typeFilter,p=e.currentSearchString,h=function(e){return function(t){t.preventDefault(),o(e)}};if(t)return Object(oe.jsx)(le,{});var m=a?a.length:0,b=a?a.filter((function(e){return!1===e.hidden})).length:0;return Object(oe.jsxs)("div",{className:"container",children:[Object(oe.jsxs)("div",{className:"d-flex flex-wrap row-hl",children:[Object(oe.jsx)(sa,{}),i&&i.length>0&&Object(oe.jsxs)("div",{className:"item-hl ml-auto mb-1",children:["Order By:"," ",Object(oe.jsxs)("div",{className:"btn-group",role:"group","aria-label":"OrderSwitch",children:[Object(oe.jsxs)("button",{type:"button",className:"btn btn-primary btn-sm",onClick:h(l===L?M:L),children:["Total Jobs ",l===L?Object(oe.jsx)("span",{children:"\u2193"}):Object(oe.jsx)("span",{children:"\u2191"})]}),Object(oe.jsxs)("button",{type:"button",className:"btn btn-primary btn-sm",onClick:h(l===F?U:F),children:["Completed Jobs ",l===F?Object(oe.jsx)("span",{children:"\u2193"}):Object(oe.jsx)("span",{children:"\u2191"})]}),Object(oe.jsxs)("button",{type:"button",className:"btn btn-primary btn-sm",onClick:h(l===G?Y:G),children:["Name ",l===G?Object(oe.jsx)("span",{children:"\u2193"}):Object(oe.jsx)("span",{children:"\u2191"})]})]}),Object(oe.jsxs)("div",{className:"btn-group",role:"group","aria-label":"Order",children:[Object(oe.jsx)("button",{type:"button",className:"btn btn-primary btn-sm",onClick:h(B),children:"Queuing Jobs"}),Object(oe.jsx)("button",{type:"button",className:"btn btn-primary btn-sm",onClick:h(H),children:"Running Jobs"}),Object(oe.jsx)("button",{type:"button",className:"btn btn-primary btn-sm",onClick:h(Q),children:"Failed Jobs"}),Object(oe.jsx)("button",{type:"button",className:"btn btn-primary btn-sm",onClick:h(J),children:"Wrapper"})]})]})]}),Object(oe.jsx)("div",{className:"card-columns",children:i&&i.length>0&&i.filter((function(e){return!1===e.hidden})).map((function(e){return Object(oe.jsx)(ra,{experiment:e,summaries:r,isLoading:(t=s,a=e.name,!!(t&&a&&t.has(a))),getExperimentSummary:c},e.id);var t,a}))}),Object(oe.jsx)("div",{className:"row",children:Object(oe.jsxs)("div",{className:"col",children:[p?Object(oe.jsx)("span",{className:"px-1 ml-1 bg-secondary text-dark rounded",children:i&&b>0?Object(oe.jsxs)("span",{children:["Considering ",Object(oe.jsx)("strong",{children:b})," of ",Object(oe.jsx)("strong",{children:m})," results for: ",Object(oe.jsx)("i",{children:p})]}):Object(oe.jsx)("i",{children:"No results"})}):Object(oe.jsx)("span",{className:"px-1 ml-1 bg-secondary text-dark rounded",children:i&&b>0?Object(oe.jsxs)("span",{children:["Considering ",Object(oe.jsx)("strong",{children:b})," of ",Object(oe.jsx)("strong",{children:m})," active experiments"]}):Object(oe.jsx)("i",{children:"No results"})}),u&&Object(oe.jsxs)("span",{className:"px-1 ml-1 bg-secondary text-dark rounded",children:["Type of Experiment: ",Object(oe.jsx)("strong",{children:u})]}),d&&Object(oe.jsxs)("span",{className:"px-1 ml-1 bg-secondary text-dark rounded",children:["Status: ",Object(oe.jsx)("strong",{children:d})]}),l&&Object(oe.jsxs)("span",{className:"px-1 ml-1 bg-secondary text-dark rounded",children:["Ordered by: ",Object(oe.jsx)("strong",{children:l})]})]})})]})},ia=a(29),oa=a.n(ia),la=function(e){var t=oa.a.parse(e.location.search);return Object(oe.jsxs)(n.Fragment,{children:[Object(oe.jsx)(na,{specificSearch:t.user}),Object(oe.jsx)(ca,{})]})},da=function(e){var t=Object(n.useContext)(ie),a=t.getVerifyTicket,r=t.loggedUser;Object(n.useEffect)((function(){var t=oa.a.parse(e.location.search);t.ticket?s(t.ticket):c()}),[]);var s=function(e){a(e)},c=function(){var e="https://cas.bsc.es/cas/login?service=https://earth.bsc.es/".concat(b,"/login");window.location.href=e};return r?(r&&setTimeout((function(){e.history.push("/".concat(b,"/?user=").concat(r))}),3e3),"Failed"===r?Object(oe.jsxs)("div",{children:["Oops! We couldn't authenticate you.",Object(oe.jsx)("p",{children:"You will be redirected after some seconds."})]}):Object(oe.jsxs)("div",{children:["Welcome ",r,Object(oe.jsx)("p",{children:"We are currently testing CAS login for Autosubmit GUI. Thanks for logging in."}),Object(oe.jsx)("p",{children:"You will be redirected after some seconds."})]})):null},ua=function(){return Object(oe.jsx)("div",{children:"Profile..."})};var pa={height:40},ha=function(){return Object(oe.jsx)(n.Fragment,{children:Object(oe.jsx)("div",{className:"row",style:pa})})},ma=a(4),ba=a.n(ma),ja=a(5),fa=a(7),xa=a.n(fa),ga=a(2),Oa="SEARCH_EXPERIMENTS",va="GET_EXPERIMENT",Na="CLEAR_EXPERIMENTS",ya="SET_LOADING",Aa="SET_LOADING_GRAPH",Sa="SET_LOADING_TREE",Ea="SET_OFF_LOADING_TREE",Ca="SET_LOADING_SUMMARY",Ta="SET_ALERT",wa="REMOVE_ALERT",ka="GET_GRAPH",Ra="GET_TREE",Da="CLEAN_GRAPH_DATA",_a="CLEAN_TREE_DATA",Ia="CLEAN_RUN_DATA",Pa="UPDATE_SELECTION",La="GET_EXPERIMENT_RUN",Ma="GET_JOB_LOG",Fa="SET_LOADING_RUN",Ua="SET_AUTOUPDATE_RUN",Ga="SET_LOADING_JOB_MONITOR",Ya="SET_LOADING_TREE_REFRESH",Ba="GET_PKL_DATA",Ha="SET_LOADING_PKL",Qa="SET_LOADING_TREE_PKL",Ja="SHOULD_UPDATE_GRAPH",Va="SET_AUTOUPDATE_PKL",Wa="SET_AUTOUPDATE_TREE_PKL",qa="CLEAN_PKL_DATA",za="CLEAN_TREE_PKL_DATA",Ka="UPDATE_EXPERIMENT_TS",Xa="SET_VIS_DATA",Za="SET_VIS_NETWORK",$a="GET_EXPERIMENT_STATS",en="CLEAR_STATS",tn="SET_FOUND_NODES",an="SET_LOADING_SEARCH_JOB",nn="SET_LOADING_STATE",rn="CLEAN_NAV_DATA",sn="GET_RUNNING_STATE",cn="SET_FANCYTREE",on="FILTER_TREEVIEW",ln="SET_LOADING_FILTER",dn="UPDATE_SELECTION_TREE",un="CLEAR_FILTER_TREE",pn="CURRENT_RUNNING",hn="PKL_TREE_LOADED",mn="CLEAN_ONLY_GRAH_DATA",bn="GET_EXPERIMENT_SUMMARY",jn="CLEAR_SUMMARY_EXP",fn="GET_EXPERIMENT_PERFORMANCE",xn="CLEAN_PERFORMANCE_METRICS",gn="ACTIVATE_SELECTION_MODE",On="DEACTIVATE_SELECTION_MODE",vn="UPDATE_SELECTED_JOBS",Nn="REMOVE_SELECTED_JOB",yn="SET_CURRENT_COMMAND",An="SET_CURRENT_TEXT_COMMAND",Sn="NAVIGATE_TO_LATEST",En="NAVIGATE_AFTER_LOADING_GRAPH",Cn="NAVIGATE_GRAPH_TO",Tn="NAVIGATE_TO_GROUP_GRAPH",wn="SET_START_TREE_SELECTION",kn="UPDATE_GRAPH_SELECTED_NODES",Rn="UPDATE_TREE_SELECTED_NODES",Dn="SET_NOTIFICATION_TITLE_TREE",_n="SET_NOTIFICATION_TITLE_GRAPH",In="INCREASE_LOADING_TREE",Pn="CLEAN_EXPERIMENT_DATA",Ln="SET_OFF_LOADING_GRAPH",Mn="SET_CURRENT_UPDATE_DESCRIP_COMMAND",Fn="GET_LOG_RUNNING_DATA",Un="SET_WARNING_ACTIVE",Gn="GET_LIGHTER_VIEW",Yn="SET_LOADING_LIGHTER_VIEW",Bn="CLEAN_LIGHTER_VIEW_DATA",Hn="SET_LIGHTER_FANCY_TREE",Qn="FILTER_LIGHTER_TREE_VIEW",Jn="SET_LOADING_FILTER_LIGHTER_TREE_VIEW",Vn="CLEAR_LIGHTER_FILTER",Wn="INCREASE_LOADING_QUICK_VIEW",qn="LOADING_PERFORMANCE_METRICS",zn="SET_PERFORMANCE_DISPLAY",Kn="GET_JOB_HISTORY",Xn="LOADING_JOB_HISTORY",Zn="LOADING_EXPERIMENT_RUNS",$n="GET_EXPERIMENT_RUNS",er="GET_EXPERIMENT_RUN_JOBDATA",tr="LOADING_PREVIOUS_RUN",ar="GET_FILE_STATUS",nr="CLEAN_FILE_STATUS_DATA",rr="VERIFY_TOKEN_DATA",sr="SET_LOGGED_USER",cr="UPDATE_DESCRIPTION_OWN_EXP",ir="SEARCH_BY_OWNER",or="GET_CURRENT_CONFIGURATION",lr="CLEAR_CURRENT_CONFIGURATION_DATA",dr="TEST_TOKEN",ur="SET_JOB_INFO_PANEL_VISIBILITY",pr="SET_PAGINATED_RESULT",hr="SET_CURRENT_PAGE",mr="ORDER_EXPERIMENTS_RESULT",br="APPLY_FILTER",jr="SET_FILTER_CHART",fr=function(e,t){switch(t.type){case gn:return Object(ga.a)(Object(ga.a)({},e),{},{canSelect:!0,currentSelected:[],currentCommand:null,currentTextCommand:null});case On:return Object(ga.a)(Object(ga.a)({},e),{},{canSelect:!1,currentSelected:[],currentCommand:null,currentTextCommand:null});case Ia:return Object(ga.a)(Object(ga.a)({},e),{},{rundata:null,startAutoUpdateRun:!1});case Pn:return Object(ga.a)(Object(ga.a)({},e),{},{experiment:null,loading:!1,totalJobs:0,expectedLoadingTreeTime:0,expectedLoadingQuickView:0,data:null,canSelect:!1,joblog:null,currentUpdateDescripCommand:null,logTimeDiff:0,currentLog:null,currentConfiguration:null,performancedata:null,performanceDisplayPlots:ce});case nr:return Object(ga.a)(Object(ga.a)({},e),{},{esarchiveStatus:null});case lr:return Object(ga.a)(Object(ga.a)({},e),{},{currentConfiguration:null,currentDifferences:new Set});case Xn:return Object(ga.a)(Object(ga.a)({},e),{},{jobHistory:null});case Kn:return console.log(t.payload),Object(ga.a)(Object(ga.a)({},e),{},{jobHistory:t.payload});case ar:return Object(ga.a)(Object(ga.a)({},e),{},{esarchiveStatus:t.payload});case Zn:return Object(ga.a)(Object(ga.a)({},e),{},{experimentRuns:null,loadingExperimentRuns:!0});case $n:return Object(ga.a)(Object(ga.a)({},e),{},{experimentRuns:t.payload,loadingExperimentRuns:!1});case Ka:var a=t.payload;return e.experiment.pkl_timestamp=a,Object(ga.a)({},e);case Oa:case ir:var n=t.payload,r=n.result,s=n.searchText,c=n.expType,i=n.activeCheck,o=r;return o&&(o.sort((function(e,t){return e.status>t.status?-1:1})),o.forEach((function(e){e.hidden=!1}))),Object(ga.a)(Object(ga.a)({},e),{},{experiments:o,loading:!1,currentPage:1,currentOrderType:null,typeFilter:se(c),activeInactiveFilter:re(i),currentSearchString:s});case pn:var l=t.payload;return l&&(l.sort((function(e,t){return e.status>t.status?-1:1})),l.forEach((function(e){e.hidden=!1}))),Object(ga.a)(Object(ga.a)({},e),{},{experiments:l,loading:!1,currentPage:1,currentSearchString:null,currentOrderType:null,activeInactiveFilter:V,typeFilter:K});case Ua:return Object(ga.a)(Object(ga.a)({},e),{},{startAutoUpdateRun:t.payload});case ya:return Object(ga.a)(Object(ga.a)({},e),{},{loading:!0});case nn:return Object(ga.a)(Object(ga.a)({},e),{},{loadingState:!0});case Fa:return Object(ga.a)(Object(ga.a)({},e),{},{loadingRun:!0});case Na:return Object(ga.a)(Object(ga.a)({},e),{},{experiments:[],experimentsInPage:[],summaries:[],loading:!1,currentPage:1,numberPages:0,currentSearchString:null,currentOrderType:null,activeInactiveFilter:null,typeFilter:null});case mr:var d=t.payload,u=null,p=e.experiments,h=e.activeInactiveFilter,m=e.typeFilter;if(p&&p.length>0)switch(d){case J:p.sort((function(e,t){return Ae(e.wrapper)1e3&&Ue<=1600?5:Math.round(.02*Ue-30)),expectedLoadingQuickView:je(j),data:null,canSelect:!1,animal:f});case Ca:var x=t.payload;return e.loadingSummary.set(x,{loading:!0}),Object(ga.a)({},e);case bn:var g=t.payload,O=g.expid,v=g.summary,N=e.summaries;return N[O]=v,e.loadingSummary.delete(O),Object(ga.a)({summaries:N},e);case jn:var y=t.payload;return e.summaries[y]&&(e.summaries[y]=null),Object(ga.a)({},e);case fn:var A=t.payload,S=t.payload.considered,E=S.filter((function(e){return e.JPSY>0})),C=t.payload?E.reduce((function(e,t){var a=t.JPSY;return e.push(a),e}),[]):[],T=t.payload?S.reduce((function(e,t){var a=t.SYPD;return e.push(a),e}),[]):[],w=t.payload?S.reduce((function(e,t){var a=t.ASYPD;return e.push(a),e}),[]):[],k=t.payload?S.reduce((function(e,t){var a=t.CHSY;return e.push(a),e}),[]):[];A.arrJPSYdata=C,A.arrSYPDdata=T,A.arrASYPDdata=w,A.arrCHSY=k;var R=e.performanceDisplayPlots;return R.JPSYvsCHSY=!0,R.JPSYvsSYPD=!0,R.JPSYvsASYPD=!0,Object(ga.a)(Object(ga.a)({},e),{},{performancedata:A,loadingPerformance:!1,performanceDisplayPlots:R});case zn:var D=t.payload,_=D.plot,I=D.checked,X=e.performanceDisplayPlots;return X[_]=I,Object(ga.a)(Object(ga.a)({},e),{},{performanceDisplayPlots:X});case xn:return Object(ga.a)(Object(ga.a)({},e),{},{performancedata:null});case La:return Object(ga.a)(Object(ga.a)({},e),{},{rundata:t.payload,loadingRun:!1});case sn:var Z=t.payload.running;return Object(ga.a)(Object(ga.a)({},e),{},{experimentRunning:Z,loadingState:!1});case vn:var $=t.payload,ee=e.currentSelected.find((function(e){return e.name===$.name}));return!1===e.canSelect||ee?Object(ga.a)({},e):Object(ga.a)(Object(ga.a)({},e),{},{currentSelected:[].concat(Object(ue.a)(e.currentSelected),[$]),currentCommand:null,currentTextCommand:null,joblog:null});case yn:return Object(ga.a)(Object(ga.a)({},e),{},{currentCommand:t.payload});case Mn:return Object(ga.a)(Object(ga.a)({},e),{},{currentUpdateDescripCommand:t.payload});case An:return Object(ga.a)(Object(ga.a)({},e),{},{currentTextCommand:t.payload});case qn:return Object(ga.a)(Object(ga.a)({},e),{},{loadingPerformance:!0});case Nn:for(var te=t.payload,ae=[],ne=0;ne=(Ie-1)*P&&t0?t.split("/"):[""],r=n.pop(),e.next=7;break;case 7:return e.next=9,xa.a.get("".concat(i,"/joblog/").concat(r)).catch((function(e){alert(e.message)}));case 9:s=e.sent,a=s?s.data:null;case 12:c({type:Ma,payload:a});case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),x=function(){var e=Object(ja.a)(ba.a.mark((function e(t){var a,n;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=null,e.next=5;break;case 5:return e.next=7,xa.a.get("".concat(i,"/login?ticket=").concat(t,"&env=").concat(b));case 7:n=e.sent,a=n?n.data:null;case 9:a&&c({type:rr,payload:a});case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),g=function(){var e=Object(ja.a)(ba.a.mark((function e(t){var a,n;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:v(t),Y(t),a=null,e.next=8;break;case 8:return e.next=10,xa.a.get("".concat(i,"/summary/").concat(t)).catch((function(e){alert(j+"\n"+e.message)}));case 10:n=e.sent,a=n?n.data:null;case 13:c({type:bn,payload:{expid:t,summary:a}});case 14:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),O=function(){var e=Object(ja.a)(ba.a.mark((function e(t){var a,n;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:M(),B(),a=null,e.next=7;break;case 7:return e.next=9,xa.a.get("".concat(i,"/performance/").concat(t)).catch((function(e){return alert(j+"\n"+e.message)}));case 9:n=e.sent,a=n?n.data:null;case 12:c({type:fn,payload:a});case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),v=function(e){c({type:jn,payload:e})},N=function(){var e=Object(ja.a)(ba.a.mark((function e(){var t,a;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:localStorage.setItem(_,K),localStorage.setItem(I,V),F(),t=null,e.next=8;break;case 8:return e.next=10,xa.a.get("".concat(i,"/running/")).catch((function(e){return alert(j+"\n"+e.message)}));case 10:a=e.sent,t=a?a.data.experiment:null;case 13:c({type:pn,payload:t}),L();case 15:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),y=function(){var e=Object(ja.a)(ba.a.mark((function e(t){var a,n;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:F(),a=null,e.next=6;break;case 6:return e.next=8,xa.a.get("".concat(i,"/expinfo/").concat(t)).catch((function(e){return alert(j+"\n"+e.message)}));case 8:n=e.sent,a=n?n.data:null;case 11:c({type:va,payload:a});case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),A=function(){var e=Object(ja.a)(ba.a.mark((function e(t){var a,n;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:U(),a=null,e.next=6;break;case 6:return e.next=8,xa.a.get("".concat(i,"/exprun/").concat(t)).catch((function(e){return alert(j+"\n"+e.message)}));case 8:n=e.sent,a=n?n.data:null;case 11:c({type:La,payload:a});case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),S=function(){var e=Object(ja.a)(ba.a.mark((function e(){var t,a,n;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=null,a=null,n=!1,e.next=7;break;case 7:return e.next=9,xa.a.get("".concat(i,"/filestatus/")).catch((function(e){n=!0}));case 9:a=e.sent,!0===n&&(a=ve),t=a?a.data:null;case 13:c({type:ar,payload:t});case 14:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),E=function(){var e=Object(ja.a)(ba.a.mark((function e(t){var a,n,r;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:G(),a={result:!1},n=null,e.next=7;break;case 7:return e.next=9,xa.a.get("".concat(i,"/ifrun/").concat(t)).catch((function(e){return alert(j+"\n"+e.message)}));case 9:r=e.sent,n=r?r.data:a;case 12:c({type:sn,payload:n});case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),C=function(){var e=Object(ja.a)(ba.a.mark((function e(t){var a,n,r,s,o;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=localStorage.getItem("token"),n={are_equal:!1,configuration_current_run:{contains_nones:!0},configuration_filesystem:{contains_nones:!0},error:!0,error_message:"Request failed.",warning:!1,warning_message:""},r=null,e.next=7;break;case 7:return s=!1,e.next=10,xa.a.get("".concat(i,"/cconfig/").concat(t),{headers:{Authorization:a}}).catch((function(e){alert(j+"\n"+e.message),s=!0}));case 10:o=e.sent,r=!1===s?o?o.data:null:n;case 12:c({type:or,payload:{error:r.error,errorMessage:r.error_message,warning:r.warning,warningMessage:r.warning_message,areEqual:r.are_equal,configurationCurrentRun:r.configuration_current_run,configurationFileSystem:r.configuration_filesystem}});case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),T=function(){var e=Object(ja.a)(ba.a.mark((function e(){var t,a,n,r,s,o;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=localStorage.getItem("token"),a={},n={isValid:!1,message:"Session Expired"},r=null,e.next=8;break;case 8:return s=!1,e.next=11,xa.a.post("".concat(i,"/tokentest"),a,{headers:{Authorization:t}}).catch((function(e){alert(j+"\n"+e.message),s=!0}));case 11:o=e.sent,r=!1===s?o?o.data:null:n;case 13:c({type:dr,payload:r});case 14:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),w=function(){var e=Object(ja.a)(ba.a.mark((function e(t,a){var n,r,s,o,l,d,u;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=localStorage.getItem("token"),r={error:!0,auth:!1,message:"Not a valid user",description:null},s=null,o={expid:t,description:a},e.next=8;break;case 8:return l=!1,e.next=11,xa.a.post("".concat(i,"/updatedesc"),o,{headers:{Authorization:n}}).catch((function(e){alert(j+"\n"+e.message),l=!0}));case 11:d=e.sent,s=!1===l?d?d.data:null:r;case 13:s&&(s.expid=t),c({type:cr,payload:s}),u=s.message,alert(u);case 17:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}}(),k=function(){var e=Object(ja.a)(ba.a.mark((function e(t){return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c({type:yn,payload:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),R=function(){var e=Object(ja.a)(ba.a.mark((function e(t){return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c({type:Mn,payload:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),D=function(){var e=Object(ja.a)(ba.a.mark((function e(t){return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c({type:An,payload:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),P=function(){var e=Object(ja.a)(ba.a.mark((function e(t,a){return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c({type:sr,payload:{user:t,token:a}});case 1:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}}(),L=function(){c({type:pr})},M=function(){return c({type:xn})},F=function(){return c({type:ya})},U=function(){return c({type:Fa})},G=function(){return c({type:nn})},Y=function(e){return c({type:Ca,payload:e})},B=function(){return c({type:qn})},H=function(){return c({type:Xn})},Q=function(){return c({type:Zn})};return Object(oe.jsx)(ie.Provider,{value:{experiments:s.experiments,experiment:s.experiment,summaries:s.summaries,loadingSummary:s.loadingSummary,loading:s.loading,loadingRun:s.loadingRun,loadingState:s.loadingState,loadingPerformance:s.loadingPerformance,jobHistory:s.jobHistory,joblog:s.joblog,pageSetup:s.pageSetup,performancedata:s.performancedata,experimentRuns:s.experimentRuns,rundata:s.rundata,currentSelected:s.currentSelected,startAutoUpdateRun:s.startAutoUpdateRun,experimentRunning:s.experimentRunning,currentCommand:s.currentCommand,currentTextCommand:s.currentTextCommand,canSelect:s.canSelect,totalJobs:s.totalJobs,animal:s.animal,loggedUser:s.loggedUser,currentToken:s.currentToken,activeInactiveFilter:s.activeInactiveFilter,expectedLoadingTreeTime:s.expectedLoadingTreeTime,expectedLoadingQuickView:s.expectedLoadingQuickView,experimentRunDetailForTree:s.experimentRunDetailForTree,esarchiveStatus:s.esarchiveStatus,currentUpdateDescripCommand:s.currentUpdateDescripCommand,logTimeDiff:s.logTimeDiff,currentLog:s.currentLog,currentPage:s.currentPage,experimentsInPage:s.experimentsInPage,pageResultCount:s.pageResultCount,numberPages:s.numberPages,currentOrderType:s.currentOrderType,typeFilter:s.typeFilter,currentSearchString:s.currentSearchString,currentConfiguration:s.currentConfiguration,configDifferences:s.configDifferences,performanceDisplayPlots:s.performanceDisplayPlots,setAutoUpdateRun:function(e){return c({type:Ua,payload:e})},searchExperiments:o,searchExperimentsByOwner:l,getCurrentRunning:N,clearExperiments:function(){return c({type:Na})},getExperiment:y,cleanPerformanceMetrics:M,cleanRunData:function(){return c({type:Ia})},getExperimentRun:A,timeStampToDate:pe,getRunningState:E,getExperimentPerformanceMetrics:O,getExperimentSummary:g,clearSummary:v,getSummaries:function(){var e=s.experiments;for(var t in e){var a=e[t].name;g(a)}},activateSelectionMode:function(){return c({type:gn})},deactivateSelectionMode:function(){return c({type:On})},removeSelectedJob:function(e){return c({type:Nn,payload:e})},setCurrentCommand:k,setCurrentTextCommand:D,updateCurrentSelectedGraph:function(e,t){if(t){var a={name:e,color:"yellow"},n=t.nodes.find((function(e){return e.id===a.name}));a.color=n.status_color,c({type:vn,payload:a})}},updateCurrentSelectedTree:function(e,t){if(t){var a={name:e,color:"yellow",source:"Tree"},n=t.jobs.find((function(e){return e.id===a.name}));a.color=n.status_color,c({type:vn,payload:a})}},updateExperimentTimeStamp:function(e){c({type:Ka,payload:e})},cleanExperimentData:function(){return c({type:Pn})},getJobHistory:u,getExperimentRuns:m,getFileStatus:S,getJobLog:f,cleanFileStatusData:function(){return c({type:nr})},setCurrentUpdateDescripCommand:R,getVerifyTicket:x,setLoggedUser:P,updateDescription:w,getLogStatus:d,setPaginatedResult:L,setCurrentPage:function(e){c({type:hr,payload:e}),L()},orderExperimentsInResult:function(e){c({type:mr,payload:e}),L()},requestCurrentConfiguration:C,clearCurrentConfigurationData:function(){return c({type:lr})},testToken:T,setPerformanceDisplay:function(e,t){c({type:zn,payload:{plot:e,checked:t}})}},children:e.children})},gr=a(26),Or=function(e,t,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.9,r=arguments.length>4?arguments[4]:void 0;n<=.05&&(n=.05),r&&(r.moveTo({position:{x:t,y:a},scale:n,animation:!1}),e&&r.selectNodes([e]))},vr=function(e,t,a){var n=e+"-"+t;if(a.visNetwork){var r=Object.keys(a.visNetwork.body.data.nodes._data);r.includes(e)&&r.includes(t)&&a.visNetwork.body.data.edges.add([{id:n,from:e,to:t,dashes:!0,background:{enabled:!0,color:"rgba(63, 191, 63, 0.5)"},arrows:{to:{enabled:!1}}}])}},Nr=function(e,t){t.visNetwork&&Object.keys(t.visNetwork.body.edges).includes(e)&&(t.visNetwork.body.edges[e].options.dashes=!1,t.visNetwork.body.edges[e].options.background.enabled=!0,t.visNetwork.body.edges[e].options.background.color="rgba(63, 191, 63, 0.5)")},yr=function(e,t){t.visNetwork&&(t.visNetwork.body.nodes[e].options.shapeProperties.borderDashes=!0,t.visNetwork.selectNodes([e]))},Ar=function(e,t,a){a.visNetwork&&(a.visNetwork.body.nodes[e].options.color.background=t,a.visNetwork.selectNodes([e]))},Sr=function(e,t,a){a.visNetwork&&(a.visNetwork.body.nodes[e].options.shape=t,a.visNetwork.selectNodes([e]))},Er=function(e){var t,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.9,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,c=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,i=0,o="not found";if(s&&s.nodes)if(!0===a){var l,d=Object(gr.a)(s.nodes);try{for(d.s();!(l=d.n()).done;){var u=l.value;u.status_code===e&&u.level>=i&&(i=u.level,o=u.id)}}catch(b){d.e(b)}finally{d.f()}}else{i=Number.MAX_VALUE;var p,h=Object(gr.a)(s.nodes);try{for(h.s();!(p=h.n()).done;){var m=p.value;m.status_code===e&&m.level<=i&&(i=m.level,o=m.id)}}catch(b){h.e(b)}finally{h.f()}}return r&&((t=r.getPositions([o]))[o]?(Or(o,t[o].x,t[o].y,n,r),c.selection=[o]):c.selection=null),!!t[o]},Cr=function(e,t){if(t.visNetwork){var a=t.visNetwork.getPositions([e]);if(a[e])return{x:a[e].x,y:a[e].y}}return{x:null,y:null}},Tr=function(e,t){switch(t.type){case ka:var a=t.payload,n=a.resdata,r=a.grouped,s=a.layout,c=a.warning;return Object(ga.a)(Object(ga.a)({},e),{},{data:n,current_grouped:r,current_layout:s,loadingGraph:!1,enabledGraphSearch:!0,graphSelectedNodes:null,graphReady:xe(n.nodes),warningActive:c});case Ba:var i=t.payload;if(null!==e.data&&!0===i.has_changed&&i.pkl_content.length>0){for(var o,l={},d={},u={},p={},h={},m={},b="",j="",f=i.packages,x=e.data.packages,g=0;g-1){var Z=!0===K?z.substring(1).split("*"):z.split("*");X=e.data.nodes.filter((function(e){for(var t=String(e.id).toUpperCase(),a=!1,n=0;n0)if(t.indexOf(Z[n])>-1){var r=t.indexOf(Z[n])+Z[n].length;if(t=t.substring(r),K)return!1;a=!0}else{if(!K)return!1;a=!0}return a}))}else{var $=!0===K?z.substring(1):z;X=e.data.nodes.filter((function(e){return String(e.id).toUpperCase().indexOf($)>-1?!K:!!K}))}if(X&&X.length>0){e.foundNodes=X;var ee=Cr(X[0].id,e);ee.x&&ee.y&&(Or(X[0].id,ee.x,ee.y,.9,e.visNetwork),e.selection=[X[0].id])}else e.foundNodes=null}return Object(ga.a)(Object(ga.a)({},e),{},{loadingSearchJob:!1});case"SET_PKL_CHANGES":return Object(ga.a)(Object(ga.a)({},e),{},{pklchanges:t.payload});case an:return Object(ga.a)(Object(ga.a)({},e),{},{loadingSearchJob:!0});case Ga:return Object(ga.a)(Object(ga.a)({},e),{},{loadingJobMonitor:!0});case Ha:return Object(ga.a)(Object(ga.a)({},e),{},{loadingPkl:!0});case Va:return Object(ga.a)(Object(ga.a)({},e),{},{startAutoUpdatePkl:t.payload});case"UPDATE_NODES":return Object(ga.a)(Object(ga.a)({},e),{},{data:t.payload});case mn:return Object(ga.a)(Object(ga.a)({},e),{},{data:null,selection:null,enabledGraphSearch:!0,visNodes:null,visNetwork:null,foundNodes:null,graphReady:null,current_grouped:"none",current_layout:"standard",graphSelectedNodes:null});case Ja:return Object(ga.a)(Object(ga.a)({},e),{},{shouldUpdateGraph:t.payload});case Da:return Object(ga.a)(Object(ga.a)({},e),{},{data:null,selection:null,enabledGraphSearch:!0,loadingGraph:!1,loadingPkl:!1,visNodes:null,visNetwork:null,foundNodes:null,graphReady:null,experimentRunning:!1,experiment:null,current_grouped:"none",current_layout:"standard",performancedata:null,canSelect:!1,currentSelected:[],currentCommand:null,currentTextCommandGraph:null,graphSelectedNodes:null,warningActive:null});case qa:return Object(ga.a)(Object(ga.a)({},e),{},{shouldUpdateGraph:!1,startAutoUpdatePkl:!1,pklchanges:null});case rn:return Object(ga.a)(Object(ga.a)({},e),{},{foundNodes:null,startAutoUpdatePkl:!1,selection:null,visNetwork:null});case Pa:return Object(ga.a)(Object(ga.a)({},e),{},{selection:t.payload});case Un:return Object(ga.a)(Object(ga.a)({},e),{},{warningActive:t.payload});case kn:if(e.graphSelectedNodes=null,e.currentCommandGraph=null,e.currentTextCommandGraph=null,e.selection){var te=e.visNetwork.getSelectedNodes();e.graphSelectedNodes=te}return Object(ga.a)({},e);case yn:return Object(ga.a)(Object(ga.a)({},e),{},{currentCommandGraph:t.payload,canCopyToClipboard:!0});case An:return Object(ga.a)(Object(ga.a)({},e),{},{currentTextCommandGraph:t.payload,canCopyToClipboard:!0});case _n:return Object(ga.a)(Object(ga.a)({},e),{},{notificationTitleGraph:t.payload});case ur:return Object(ga.a)(Object(ga.a)({},e),{},{displayJobInfoPanel:t.payload});default:return null}},wr=function(e){var t=Object(n.useReducer)(Tr,{data:null,visNodes:null,visNetwork:null,loadingGraph:!1,loadingPkl:!1,loadingJobMonitor:!1,enabledGraphSearch:!0,loadingSearchJob:!1,startAutoUpdatePkl:!1,shouldUpdateGraph:!1,pklchanges:null,notificationTitleGraph:null,warningActive:null,currentCommandGraph:null,currentTextCommandGraph:null,current_grouped:"none",current_layout:"standard",selection:null,foundNodes:null,graphSelectedNodes:null,pkldata:null,graphReady:null,displayJobInfoPanel:"block",activeWarning:null}),a=Object(p.a)(t,2),r=a[0],s=a[1],c=h,i=Object(n.useContext)(ie),o=i.updateExperimentTimeStamp,l=i.experimentRunning,d=function(){var e=Object(ja.a)(ba.a.mark((function e(t){var a,n,r,i,o,l=arguments;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=l.length>1&&void 0!==l[1]?l[1]:"none",n=l.length>2&&void 0!==l[2]?l[2]:"standard",r=l.length>3&&void 0!==l[3]?l[3]:null,f(),x(),i=null,e.next=12;break;case 10:e.next=16;break;case 12:return e.next=14,xa.a.get("".concat(c,"/graph/").concat(t,"/").concat(n,"/").concat(a)).catch((function(e){alert(e.message),g()}));case 14:o=e.sent,i=o?o.data:null;case 16:i&&s({type:ka,payload:{resdata:i,grouped:a,layout:n,warning:r}});case 17:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),u=function(){var e=Object(ja.a)(ba.a.mark((function e(t,a){var n,r;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!1!==l){e.next=2;break}return e.abrupt("return");case 2:v(),N(),n=null,e.next=10;break;case 10:return e.next=12,xa.a.get("".concat(c,"/pklinfo/").concat(t,"/").concat(a));case 12:r=e.sent,n=r.data;case 15:s({type:Ba,payload:n}),o(n.pkl_timestamp);case 17:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}}(),m=function(){var e=Object(ja.a)(ba.a.mark((function e(t){return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:O(),s({type:tn,payload:t.toUpperCase()});case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),b=function(){var e=Object(ja.a)(ba.a.mark((function e(t){return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s({type:yn,payload:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),j=function(){var e=Object(ja.a)(ba.a.mark((function e(t){return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s({type:An,payload:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),f=function(){return s({type:mn})},x=function(){return s({type:Aa})},g=function(){return s({type:Ln})},O=function(){return s({type:an})},v=function(){return s({type:Ha})},N=function(){return s({type:Ga})};return Object(oe.jsx)(ze.Provider,{value:{visNetwork:r.visNetwork,data:r.data,loadingGraph:r.loadingGraph,loadingPkl:r.loadingPkl,loadingJobMonitor:r.loadingJobMonitor,pklchanges:r.pklchanges,enabledGraphSearch:r.enabledGraphSearch,current_grouped:r.current_grouped,current_layout:r.current_layout,selection:r.selection,foundNodes:r.foundNodes,pkldata:r.pkldata,startAutoUpdatePkl:r.startAutoUpdatePkl,shouldUpdateGraph:r.shouldUpdateGraph,graphSelectedNodes:r.graphSelectedNodes,currentCommandGraph:r.currentCommandGraph,currentTextCommandGraph:r.currentTextCommandGraph,notificationTitleGraph:r.notificationTitleGraph,graphReady:r.graphReady,displayJobInfoPanel:r.displayJobInfoPanel,warningActive:r.warningActive,getExperimentGraph:d,getExperimentPkl:u,cleanOnlyGraphData:f,cleanGraphData:function(){return s({type:Da})},setLoadingGraph:x,setUpdateGraph:function(e){return s({type:Ja,payload:e})},setVisData:function(e){return s({type:Xa,payload:e})},setVisNetwork:function(e){return s({type:Za,payload:e})},updateSelection:function(e){return s({type:Pa,payload:e})},cleanPklData:function(){return s({type:qa})},searchJobInGraph:m,cleanNavData:function(){return s({type:rn})},setAutoUpdatePkl:function(e){return s({type:Va,payload:e})},navigateToGroup:function(e){s({type:Tn,payload:e})},navigateTo:function(e){s({type:Cn,payload:e})},navToLatest:function(e,t){s({type:Sn,payload:{status:e,latest:t}})},navigateAfterLoadGraph:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];s({type:En,payload:e})},updateGraphSelectedNodes:function(){return s({type:kn})},setCurrentCommandGraph:b,setCurrentTextCommandGraph:j,setNotificationTitleGraph:function(e){return s({type:_n,payload:e})},setJobInfoPanelVisibility:function(e){s({type:ur,payload:e})},setWarningActive:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;null!==e&&s({type:Un,payload:e})}},children:e.children})},kr=function(e,t,a){var n="Run "+Ee(String(t.created));if(t){var r=t.created,s=t.finished,c=t.completed,i=t.total;n=n+" created on "+String(r)+(s?" finished on "+s:" ")+" | "+String(c)+" of "+String(i)+" jobs completed."+(a!==c?" This view might contain reruns (incremental + sign on name) or missing information.":"")}return n},Rr=function(e,t){switch(t.type){case Ra:var a=t.payload,n=a.jobs,r=a.warningMessage;return Object(ga.a)(Object(ga.a)({},e),{},{treedata:t.payload,loadingTree:!1,enabledTreeSearch:!0,elapsedLoadingTree:1,currentRunIdOnTree:null,treeReady:xe(n),warningActive:r});case Qa:return Object(ga.a)(Object(ga.a)({},e),{},{loadingTreePkl:!0});case Sa:return Object(ga.a)(Object(ga.a)({},e),{},{loadingTree:!0,enabledTreeSearch:!1});case Ea:return Object(ga.a)(Object(ga.a)({},e),{},{loadingTree:!1,enabledTreeSearch:!1,elapsedLoadingTree:1,treedata:null});case In:return Object(ga.a)(Object(ga.a)({},e),{},{elapsedLoadingTree:e.elapsedLoadingTree+1});case Ya:return Object(ga.a)(Object(ga.a)({},e),{},{loadingTreeRefresh:!0});case ln:return Object(ga.a)(Object(ga.a)({},e),{},{loadingFilterTree:!0});case hn:var s=t.payload,c={};if(null!==e.treedata&&!0===s.has_changed&&s.pkl_content.length>0){for(var i,o="",l="",d=e.treedata.jobs,u=e.treedata.reference,p=u.packages,h=u.completed_tag,m=u.running_tag,b=u.queuing_tag,j=u.failed_tag,f=u.check_mark,x=0;x0){var R=k[0].children,D=!1;for(var _ in R){R[_].refKey===g.id&&(D=!0)}!1===D&&k[0].children.push({title:g.title,refKey:g.id,data:"Empty",children:[]})}for(var I in w){var P=u[w[I]];if(P){!0===N&&("COMPLETED"===y&&(P.completed+=1),"RUNNING"===y&&(P.running+=1),"QUEUING"===y&&(P.queuing+=1),"FAILED"===y&&(P.failed+=1),"RUNNING"===A&&(P.running-=1),"QUEUING"===A&&(P.queuing-=1),"FAILED"===A&&(P.failed-=1),"COMPLETED"===A&&(P.completed-=1));var L=h.replace("%C",P.completed).replace("%T",P.total).replace("%B",P.completed===P.total?"yellow":"#ffffb3"),M=P.completed===P.total?f:"",F=P.running>0?m.replace("%R",P.running):"",U=P.queuing>0?b.replace("%Q",P.queuing):"",G=P.failed>0?j.replace("%F",P.failed):"",Y=e.fancyTree.getNodesByRef(w[I]);if(Y){var B=w[I]+L+G+F+U+M;Y[0].setTitle(B)}}}}}var H,Q=s.packages,J=Object(gr.a)(Q);try{var V=function(){var t=H.value;if(!p.includes(t)){o+=pe(s.pkl_timestamp)+": "+t+" has been added.\n",l+="Wrapper "+t+" added.\n",p.push(t);var a="Wrapper: "+t;u[a]={completed:0,failed:0,queuing:0,running:0,total:0};for(var n=u[a],r=d.filter((function(e){return e.wrapper===t})),c=[],i=0;i0?m.replace("%R",n.running):"",v=n.queuing>0?b.replace("%Q",n.queuing):"",N=a+x+(n.failed>0?j.replace("%F",n.failed):"")+O+v+g;e.fancyTree.getRootNode().addChildren({title:N,folder:!0,refKey:a,expanded:!1,children:c})}};for(J.s();!(H=J.n()).done;)V()}catch(ce){J.e(ce)}finally{J.f()}!0===s.has_changed&&(e.pkltreechanges?(e.pkltreechanges=o+e.pkltreechanges,e.notificationTitleTree=l,e.treeReady=xe(d)):e.pkltreechanges=o)}return Object(ga.a)(Object(ga.a)({},e),{},{loadingTreeRefresh:!1,loadingTreePkl:!1});case er:var W=t.payload,q=W.result,z=W.runId,K=W.meta,X=q.jobs,Z=null!==X&&void 0!==X?X.filter((function(e){return"COMPLETED"===e.status})):[];return e.treedata&&e.fancyTree,Object(ga.a)(Object(ga.a)({},e),{},{currentRunIdOnTree:{runId:z,created:K.created,message:kr(0,K,Z.length)},treedata:q,loadingTree:!1,enabledTreeSearch:!0,elapsedLoadingTree:1,startAutoUpdateTreePkl:!1,loadingPreviousRun:!1,treeReady:xe(X)});case on:var $=String(t.payload).toUpperCase();if(e.treedata&&e.fancyTree){var ee=0,te=0===$.indexOf("!");if($.indexOf("*")>-1){var ae=!0===te?$.substring(1).split("*"):$.split("*");ee=e.fancyTree.filterNodes((function(e){for(var t=!1,a=String(e.title).toUpperCase(),n=0;n0)if(a.indexOf(ae[n])>-1){var r=a.indexOf(ae[n])+ae[n].length;if(a=a.substring(r),te){t=!1;break}t=!0}else{if(!te){t=!1;break}t=!0}return t}))}else{var ne=!0===te?$.substring(1):$;ee=e.fancyTree.filterNodes((function(e){return String(e.title).toUpperCase().indexOf(ne)>-1?!te:!!te}))}e.returnFilter=ee}else e.returnFilter=0;return Object(ga.a)(Object(ga.a)({},e),{},{loadingFilterTree:!1,returnFilter:t.payload});case cn:return Object(ga.a)(Object(ga.a)({},e),{},{fancyTree:t.payload});case Wa:return Object(ga.a)(Object(ga.a)({},e),{},{startAutoUpdateTreePkl:t.payload});case _a:return Object(ga.a)(Object(ga.a)({},e),{},{treedata:null,enabledTreeSearch:!0,loadingTree:!1,loadingTreePkl:!1,fancyTree:null,returnFiler:0,elapsedLoadingTree:1,currentRunIdOnTree:null,treeReady:null,warningActive:null});case za:return Object(ga.a)(Object(ga.a)({},e),{},{startAutoUpdateTreePkl:!1,pkltreechanges:null});case un:return e.treedata&&e.fancyTree&&e.fancyTree.clearFilter(),Object(ga.a)(Object(ga.a)({},e),{},{returnFilter:0});case dn:return t.payload&&t.payload.node&&t.payload.node.folder?Object(ga.a)(Object(ga.a)({},e),{},{selectedTreeNode:null,currentCommandTree:null,currentTextCommandTree:null}):Object(ga.a)(Object(ga.a)({},e),{},{selectedTreeNode:t.payload,currentCommandTree:null,currentTextCommandTree:null});case Rn:if(e.treeSelectedNodes=null,e.currentCommandTree=null,e.currentTextCommandTree=null,e.selectedTreeNode){var re=e.fancyTree.getSelectedNodes(),se=[];re.length>0&&re.map((function(e){return se.push(e.refKey)})),e.treeSelectedNodes=se}return Object(ga.a)({},e);case wn:return e.fancyTree&&(e.fancyTree.activeNode=e.fancyTree.rootNode),Object(ga.a)({},e);case Dn:return Object(ga.a)(Object(ga.a)({},e),{},{notificationTitleTree:t.payload});case tr:return Object(ga.a)(Object(ga.a)({},e),{},{loadingPreviousRun:!0});case yn:return Object(ga.a)(Object(ga.a)({},e),{},{currentCommandTree:t.payload});case An:return Object(ga.a)(Object(ga.a)({},e),{},{currentTextCommandTree:t.payload});case Un:return Object(ga.a)(Object(ga.a)({},e),{},{warningActive:t.payload});default:return null}},Dr=function(e){var t=Object(n.useReducer)(Rr,{treedata:null,loadingTree:!1,enabledTreeSearch:!0,loadingTreePkl:!1,loadingTreeRefresh:!1,loadingFilterTree:!1,loadingPreviousRun:!1,fancyTree:null,experimentRunDetailForTree:null,currentRunIdOnTree:null,elapsedLoadingTree:1,startAutoUpdateTreePkl:!1,currentCommandTree:null,currentTextCommandTree:null,pkltreechanges:null,selectedTreeNode:null,notificationTitleTree:null,treeSelectedNodes:null,treeReady:null,warningActive:null}),a=Object(p.a)(t,2),r=a[0],s=a[1],c=h,i=function(){var e=Object(ja.a)(ba.a.mark((function e(t){var a,n,r,i=arguments;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=i.length>1&&void 0!==i[1]?i[1]:null,b(),n=null,e.next=7;break;case 7:return e.next=9,xa.a.get("".concat(c,"/tree/").concat(t)).catch((function(e){alert(e.message),f()}));case 9:r=e.sent,n=r?r.data:null;case 11:n&&(n.warningMessage=a,s({type:Ra,payload:n}));case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),o=function(){var e=Object(ja.a)(ba.a.mark((function e(t,a){var n,r;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:O(),g(),n=null,e.next=7;break;case 7:return e.next=9,xa.a.get("".concat(c,"/pkltreeinfo/").concat(t,"/").concat(a));case 9:r=e.sent,n=r.data;case 12:s({type:hn,payload:n});case 13:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}}(),l=function(){var e=Object(ja.a)(ba.a.mark((function e(t,a,n){var r,i;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:j(),r=null,e.next=6;break;case 6:return e.next=8,xa.a.get("".concat(c,"/rundetail/").concat(t,"/").concat(a)).catch((function(e){alert(e.message)}));case 8:i=e.sent,r=i?i.data:null;case 11:s({type:er,payload:{result:r,runId:a,meta:n}});case 12:case"end":return e.stop()}}),e)})));return function(t,a,n){return e.apply(this,arguments)}}(),d=function(){var e=Object(ja.a)(ba.a.mark((function e(t,a){return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s({type:"UPDATE_RUNDETAIL_ON_TREE",payload:{runDetail:t,runId:a}});case 1:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}}(),u=function(){var e=Object(ja.a)(ba.a.mark((function e(t){return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s({type:yn,payload:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),m=function(){var e=Object(ja.a)(ba.a.mark((function e(t){return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s({type:An,payload:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),b=function(){return s({type:Sa})},j=function(){return s({type:tr})},f=function(){return s({type:Ea})},x=function(){return s({type:ln})},g=function(){return s({type:Ya})},O=function(){return s({type:Qa})};return Object(oe.jsx)(de.Provider,{value:{treedata:r.treedata,loadingTree:r.loadingTree,loadingTreePkl:r.loadingTreePkl,loadingFilterTree:r.loadingFilterTree,enabledTreeSearch:r.enabledTreeSearch,returnFilter:r.returnFilter,fancyTree:r.fancyTree,notificationTitleTree:r.notificationTitleTree,loadingPreviousRun:r.loadingPreviousRun,startAutoUpdateTreePkl:r.startAutoUpdateTreePkl,pkltreechanges:r.pkltreechanges,selectedTreeNode:r.selectedTreeNode,expectedLoadingTreeTime:r.expectedLoadingTreeTime,elapsedLoadingTree:r.elapsedLoadingTree,currentRunIdOnTree:r.currentRunIdOnTree,treeSelectedNodes:r.treeSelectedNodes,currentCommandTree:r.currentCommandTree,currentTextCommandTree:r.currentTextCommandTree,treeReady:r.treeReady,warningActive:r.warningActive,getExperimentTree:i,getExperimentTreePkl:o,filterTreeView:function(e){x(),s({type:on,payload:e})},setFancyTree:function(e){return s({type:cn,payload:e})},cleanTreeData:function(){return s({type:_a})},cleanPklTreeData:function(){return s({type:za})},updateSelectionTree:function(e){s({type:dn,payload:e})},setAutoUpdateTreePkl:function(e){return s({type:Wa,payload:e})},clearFilterTreeView:function(){return s({type:un})},setStartSelection:function(){return s({type:wn})},setNotificationTitleTree:function(e){return s({type:Dn,payload:e})},increaseElapsedLoadingTree:function(){s({type:In})},updateTreeContent:d,getExperimentRunJobData:l,updateTreeSelectedNodes:function(){return s({type:Rn})},setCurrentCommandTree:u,setCurrentTextCommandTree:m,setWarningActive:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;null!==e&&s({type:Un,payload:e})}},children:e.children})},_r=function(e,t){switch(t.type){case Ta:return t.payload;case wa:return null;default:return e}},Ir=function(e){var t=Object(n.useReducer)(_r,null),a=Object(p.a)(t,2),r=a[0],s=a[1];return Object(oe.jsx)(Ue.Provider,{value:{alert:r,setAlert:function(e,t){s({type:Ta,payload:{msg:e,type:t}}),setTimeout((function(){return s({type:wa})}),5e3)}},children:e.children})},Pr=function(e,t){switch(t.type){case ya:return Object(ga.a)(Object(ga.a)({},e),{},{loading:!0});case $a:var a=t.payload.statistics,n=a.Statistics,r=a.error,s=a.error_message;if(r)return Object(ga.a)(Object(ga.a)({},e),{},{statdata:null,filterAppliedCount:0,filteredStatdata:null,timeframe:null,loading:!1,isError:!0,errorMessage:s});var c=n.JobStatistics,i=n.Period,o=[];return c&&c.map((function(e){return o.push(e)})),Object(ga.a)(Object(ga.a)({},e),{},{statdata:c,filterAppliedCount:0,filteredStatdata:o,timeframe:i,loading:!1,isError:!1,errorMessage:null});case en:return Object(ga.a)(Object(ga.a)({},e),{},{statdata:null,filteredStatdata:null,loading:!1,isError:!1,timeframe:null,errorMessage:"",filterAppliedCount:0});case br:var l=t.payload.regularExpression;if(e.statdata){if(0===String(l).trim().length){var d=e.statdata;return Object(ga.a)(Object(ga.a)({},e),{},{filteredStatdata:d,filterAppliedCount:0})}var u=RegExp(l,"i"),p=e.statdata.filter((function(e){return u.test(e.name)})),h=e.filterAppliedCount+1;return Object(ga.a)(Object(ga.a)({},e),{},{filteredStatdata:p,filterAppliedCount:h})}return Object(ga.a)({},e);case jr:var m=t.payload,b=m.currentChecked,j=m.target,f=null;if(!0===b)switch(j){case"queue":f=e.backupdata;break;default:f=null}else switch(j){case"queue":(f=e.backupdata).forEach((function(e){e.queue=0}));break;default:f=null}return Object(ga.a)(Object(ga.a)({},e),{},{statdata:f});default:return e}},Lr=function(e){var t=Object(n.useReducer)(Pr,{loading:!1,statdata:null,filteredStatdata:null,timeframe:null,isError:!1,filterAppliedCount:0,errorMessage:""}),a=Object(p.a)(t,2),r=a[0],s=a[1],c=function(){var e=Object(ja.a)(ba.a.mark((function e(t,a,n){var r,c;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:0===a.length&&(a=0),0===n.length&&(n="Any"),i(),r=null,c={error:!0,error_message:"No response",Statistics:{JobStatistics:[],Period:{From:null,To:null}}},e.next=12;break;case 12:return e.next=14,xa.a.get("".concat("https://earth.bsc.es/autosubmitapi","/stats/").concat(t,"/").concat(a,"/").concat(n));case 14:r=e.sent;case 15:r.data?s({type:$a,payload:{statistics:r.data}}):s({type:$a,payload:{statistics:c}});case 17:case"end":return e.stop()}}),e)})));return function(t,a,n){return e.apply(this,arguments)}}(),i=function(){return s({type:ya})};return Object(oe.jsx)(ut.Provider,{value:{loading:r.loading,statdata:r.statdata,isError:r.isError,errorMessage:r.errorMessage,timeframe:r.timeframe,filteredStatdata:r.filteredStatdata,filterAppliedCount:r.filterAppliedCount,getExperimentStats:c,clearStats:function(){return s({type:en})},filterBarChart:function(e,t){s({type:jr,payload:{currentChecked:e,target:t}})},applyRegExToJobDataSet:function(e){s({type:br,payload:{regularExpression:e}})}},children:e.children})},Mr=function(e,t){switch(t.type){case Gn:var a=t.payload,n=a.error,r=a.error_message,s=a.tree_view,c=a.total,i=a.completed,o=a.failed,l=a.running,d=a.queuing,u=[],p=[],h=!!(s&&s.length>0&&!1===n),m=0;if(h)for(var b=0;m-1){var x=!0===f?j.substring(1).split("*"):j.split("*"),g=e.baseData.filter((function(e){for(var t=!1,a=String(e.title).toUpperCase(),n=0;n0)if(a.indexOf(x[n])>-1){var r=a.indexOf(x[n])+x[n].length;if(a=a.substring(r),f){t=!1;break}t=!0}else{if(!f){t=!1;break}t=!0}return t}));return Object(ga.a)(Object(ga.a)({},e),{},{currentData:g,currentCount:g.length,filterCount:g.length,loadingFilterTreeView:!1})}var O=!0===f?j.substring(1):j,v=e.baseData.filter((function(e){return String(e.title).toUpperCase().indexOf(O)>-1?!f:!!f}));return Object(ga.a)(Object(ga.a)({},e),{},{currentData:v,currentCount:v.length,filterCount:v.length,loadingFilterTreeView:!1})}return Object(ga.a)(Object(ga.a)({},e),{},{filterCount:0,currentCount:0,loadingFilterTreeView:!1});case Vn:var N=e.firstCurrentData;return Object(ga.a)(Object(ga.a)({},e),{},{filterCount:-1,currentCount:N.length,currentData:N});default:return null}},Fr=function(e){var t=Object(n.useReducer)(Mr,{baseData:null,currentData:null,firstCurrentData:null,currentCount:0,lightFancyTree:null,loadingView:!1,queueCount:0,runCount:0,totalCount:0,failedCount:0,completedCount:0,isValid:!1,error:!1,errorMessage:null,loadingFilterTreeView:!1,filterCount:-1,elapsedLoadingQuickView:1}),a=Object(p.a)(t,2),r=a[0],s=a[1],c=function(){var e=Object(ja.a)(ba.a.mark((function e(t){var a,n;return ba.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o(),i(),a=null,e.next=7;break;case 7:return e.next=9,xa.a.get("".concat("https://earth.bsc.es/autosubmitapi","/quick/").concat(t));case 9:n=e.sent,a=n?n.data:null;case 12:a&&s({type:Gn,payload:a});case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),i=function(){return s({type:Yn})},o=function(){return s({type:Bn})},l=function(){return s({type:Jn})};return Object(oe.jsx)(tt.Provider,{value:{lightFancyTree:r.lightFancyTree,baseData:r.baseData,currentData:r.currentData,firstCurrentData:r.firstCurrentData,currentCount:r.currentCount,loadingView:r.loadingView,loadingFilterTreeView:r.loadingFilterTreeView,filterCount:r.filterCount,elapsedLoadingQuickView:r.elapsedLoadingQuickView,queueCount:r.queueCount,isValid:r.isValid,runCount:r.runCount,totalCount:r.totalCount,failedCount:r.failedCount,completedCount:r.completedCount,error:r.error,errorMessage:r.errorMessage,getLighterView:c,cleanLoadingLighterView:o,setLighterFancyTree:function(e){return s({type:Hn,payload:e})},filterLighterTreeView:function(e){l(),s({type:Qn,payload:e})},setLoadingFilterLighterTreeView:l,clearLighterFilterTreeView:function(){return s({type:Vn})},increaseElapsedLoadingQuickView:function(){s({type:Wn})}},children:e.children})},Ur=a(51),Gr=function(e){var t=e.component,a=Object(Ur.a)(e,["component"]),r=Object(n.useContext)(ie).loggedUser;return Object(oe.jsx)(u.b,Object(ga.a)(Object(ga.a)({},a),{},{render:function(e){return r&&"Failed"!==r?Object(oe.jsx)(t,{}):Object(oe.jsx)(u.a,{to:{pathname:"/".concat(b,"/login/"),state:{from:e.location}}})}}))},Yr=(a(100),function(e){Object(o.a)(a,e);var t=Object(l.a)(a);function a(){return Object(c.a)(this,a),t.apply(this,arguments)}return Object(i.a)(a,[{key:"render",value:function(){return Object(oe.jsx)(xr,{children:Object(oe.jsx)(wr,{children:Object(oe.jsx)(Dr,{children:Object(oe.jsx)(Fr,{children:Object(oe.jsx)(Ir,{children:Object(oe.jsx)(Lr,{children:Object(oe.jsx)(d.a,{children:Object(oe.jsxs)("div",{className:"App",children:[Object(oe.jsx)(Fe,{}),Object(oe.jsxs)("div",{className:"container",style:{height:"100%"},children:[Object(oe.jsx)(Ge,{}),Object(oe.jsxs)(u.d,{children:[Object(oe.jsx)(u.b,{exact:!0,path:"/".concat(b,"/"),component:la}),Object(oe.jsx)(u.b,{exact:!0,path:"/".concat(b,"/login/"),component:da}),Object(oe.jsx)(u.b,{exact:!0,path:"/".concat(b,"/profile/"),component:ua}),Object(oe.jsx)(u.b,{exact:!0,path:"/".concat(b,"/about"),component:Ye}),Object(oe.jsx)(u.b,{exact:!0,path:"/".concat(b,"/news"),component:Be}),Object(oe.jsx)(Gr,{exact:!0,path:"/".concat(b,"/experiment/:expid"),component:aa}),Object(oe.jsx)(Gr,{exact:!0,path:"/".concat(b,"/experiment/:expid/:action"),component:aa}),Object(oe.jsx)(u.b,{component:He})]}),Object(oe.jsx)(ha,{})]})]})})})})})})})})}}]),a}(n.Component));s.a.render(Object(oe.jsx)(Yr,{}),document.getElementById("root"))},32:function(e){e.exports=JSON.parse('{"experiment":[{"completed":17,"description":"auto-monarch reference test case: NESTING cold start (2 domains)","failed":0,"hpc":"marenostrum4","id":3819,"modified":"Wed, 14 Jul 2021 12:47:18 GMT","name":"t07r","queuing":0,"running":0,"status":"NOT RUNNING","submitted":0,"suspended":0,"total":17,"user":"gmontane","version":"3.13.0","wrapper":null},{"completed":122,"description":"non-production S2S wf","failed":0,"hpc":"nord3","id":4936,"modified":"Fri, 22 Jan 2021 02:51:09 GMT","name":"a2n1","queuing":0,"running":0,"status":"RUNNING","submitted":0,"suspended":0,"total":126,"user":"lpalma","version":"3.11.0-hotfix","wrapper":null},{"completed":17,"description":"auto-monarch reference test case: MINE cold start (transfer from bscearth000)","failed":0,"hpc":"marenostrum4","id":4954,"modified":"Wed, 14 Jul 2021 12:34:10 GMT","name":"t0cr","queuing":0,"running":0,"status":"NOT RUNNING","submitted":0,"suspended":0,"total":17,"user":"gmontane","version":"3.13.0","wrapper":null},{"completed":62,"description":"HR reconstruction, same than the one I want but with ORAS5 3D-nudging. ORAS5 surface restoring updated Juan\'s method, ERA5-HR forcing, resto mask 15weak, strong surfresto, a2ye tuning, a3qa IC (2010) - copy of a40c","failed":0,"hpc":"marenostrum4","id":7417,"modified":"Mon, 08 Nov 2021 17:37:21 GMT","name":"a41t","queuing":0,"running":0,"status":"NOT RUNNING","submitted":0,"suspended":1,"total":89,"user":"acarreri","version":"3.13.0","wrapper":"VERTICAL"},{"completed":266,"description":"[Testing Suite]/MONARCH/t0jd","failed":0,"hpc":"marenostrum4","id":6624,"modified":"Mon, 15 Nov 2021 11:45:33 GMT","name":"t0kx","queuing":8,"running":0,"status":"RUNNING","submitted":0,"suspended":0,"total":385,"user":"dbeltran","version":"3.14.0b0","wrapper":"HORIZONTAL-VERTICAL"},{"completed":91,"description":"4C c-driven decadal re-forecasts 1980-2020 ","failed":0,"hpc":"marenostrum4","id":7299,"modified":"Mon, 15 Nov 2021 21:17:15 GMT","name":"a3z4","queuing":73,"running":3,"status":"RUNNING","submitted":0,"suspended":31,"total":2028,"user":"jacosta","version":"3.13.0","wrapper":"VERTICAL"}]}')},83:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=83},84:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=84},85:function(e){e.exports=JSON.parse('{"error":false,"error_message":"","found":true,"lastModified":"2021-11-05 12:33:36","logcontent":[{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":0},{"content":"-> report : Memory report : Minimum buffer size required : 437867 bytes","index":1},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":2},{"content":"-> report : Performance report : Whole time from XIOS init and finalize: -> report : Performance report : Whole time from XIOS init and finalize: -> report : -> report : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":3},{"content":"-> report : Performance report : total time spent for XIOS : 326.323 s","index":4},{"content":"-> report : Performance report : time spent for waiting free buffer : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":5},{"content":"-> report : Performance report : total time spent for XIOS : 291.656 s24132.9 s","index":6},{"content":"-> report : Performance report : total time spent for XIOS : 308.101 s","index":7},{"content":"-> report : Performance report : time spent for waiting free buffer : 4.85302 s","index":8},{"content":"","index":9},{"content":"-> report : Performance report : time spent for waiting free buffer : 4.43641 s","index":10},{"content":"-> -> report : Performance report : Ratio : 4.26736 s","index":11},{"content":"-> report : report : Performance report : Ratio : 0.0201096 %","index":12},{"content":"-> 24132.9 s","index":13},{"content":"-> report : Performance report : total time spent for XIOS : 268.009 s","index":14},{"content":" Performance report : Ratio : 0.01768270.0183832 %","index":15},{"content":"-> reportreport : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":16},{"content":"-> -> report : Performance report : time spent for waiting free buffer : %","index":17},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":18},{"content":"-> report : Memory report : Minimum buffer size required : 417179 bytes","index":19},{"content":"-> report : report : Memory report : Minimum buffer size required : 268323 bytes","index":20},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file3.52305 s","index":21},{"content":"-> report","index":22},{"content":"-> report : Memory report : Minimum buffer size required : -> report : Performance report : Whole time from XIOS init and finalize: Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":23},{"content":"","index":24},{"content":"-> report : : Performance report : Ratio : 322195 bytes","index":25},{"content":"24132.9 s","index":26},{"content":"-> report : Performance report : total time spent for XIOS : 109.01-> report-> report : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":27},{"content":"-> report : Performance report : total time spent for XIOS : 346.355 s","index":28},{"content":"-> report : Performance report : time spent for waiting free buffer : 7.11042 s","index":29},{"content":"-> report : Performance report : Ratio : 0.0294636 %","index":30},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":31},{"content":"-> report : Memory report : Minimum buffer size required : -> report : Performance report : Whole time from XIOS init and finalize: Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":32},{"content":"-> report : Performance report : total time spent for XIOS : 386.115 s","index":33},{"content":"0.0145986 %","index":34},{"content":"-> report : -> report : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":35},{"content":"-> report : Performance report : total time spent for XIOS : 285.714 s","index":36},{"content":"-> report : Performance report : time spent for waiting free buffer : 5.3365 s","index":37},{"content":"-> report : Performance report : Ratio : 0.022113 %","index":38},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":39},{"content":"-> report : Memory report : Minimum buffer size required : 282747 bytes","index":40},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":41},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":42},{"content":" s","index":43},{"content":"-> report : Performance report : time spent for waiting free buffer : : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":44},{"content":"-> report : Performance report : total time spent for XIOS : 306.646 s","index":45},{"content":"-> report : Performance report : time spent for waiting free buffer : 248835 bytes","index":46},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":47},{"content":"24132.9 s","index":48},{"content":"-> report : Performance report : total time spent for XIOS : 118.285 s","index":49},{"content":"-> report : Performance report : time spent for waiting free buffer : -> report : Performance report : time spent for waiting free buffer : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":50},{"content":"-> report : Memory report : Minimum buffer size required : 6.6418 s","index":51},{"content":"5.32851 s","index":52},{"content":"-> report : Performance report : Ratio : 6.91075 s","index":53},{"content":"-> report : 4.87199 s","index":54},{"content":"-> report : 316595 bytes","index":55},{"content":"-> -> report : Performance report : Ratio : 0.0220799 %","index":56},{"content":"-> report Performance report : Ratio : 0.0286363 Performance report : Ratio : 0.0201882report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":57},{"content":"0.0275218 %","index":58},{"content":"-> : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":59},{"content":"-> report : Memory report : Minimum buffer size required : 371355 bytes","index":60},{"content":" %","index":61},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":62},{"content":"-> report : Memory report : Minimum buffer size required : %","index":63},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":64},{"content":"-> report : Memory report : Minimum buffer size required : 340011report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":65},{"content":"-> report-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":66},{"content":"-> report : Performance report : Whole time from XIOS init and finalize: 31169 bytes","index":67},{"content":"-> report : bytes","index":68},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file : Memory report : Minimum buffer size required : 1984924132.9 s","index":69},{"content":"-> report : Performance report : total time spent for XIOS : 306.157 s","index":70},{"content":"-> report : Performance report : Whole time from XIOS init and finalize: Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":71},{"content":"","index":72},{"content":" bytes","index":73},{"content":"-> report : -> report : Performance report : time spent for waiting free buffer : 4.1968 s24132.9 s","index":74},{"content":"-> report : Performance report : total time spent for XIOS : 194.768 s-> report : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":75},{"content":"-> report : Performance report : total time spent for XIOS : 316.011 s","index":76},{"content":"-> report : Performance report : time spent for waiting free buffer : 4.53929 s","index":77},{"content":"-> report : Performance report : Ratio : 0.0188096 %","index":78},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":79},{"content":"-> report : Memory report : Minimum buffer size required : 248515 bytes","index":80},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":81},{"content":" Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":82},{"content":"","index":83},{"content":"-> report : Performance report : Ratio : ","index":84},{"content":"-> report : Performance report : time spent for waiting free buffer : 0.0173904 %","index":85},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":86},{"content":"-> report : Memory report : Minimum buffer size required : 4.88625 s","index":87},{"content":"-> 433619 bytes","index":88},{"content":"-> report : report : Performance report : Ratio : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":89},{"content":"0.0202472 %","index":90},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":91},{"content":"-> report : Memory report : Minimum buffer size required : 112299 bytes","index":92},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":93},{"content":"-> report : Performance report : Whole time from XIOS init and finalize: -> report : Performance report : Whole time from XIOS init and finalize: -> report : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":94},{"content":"-> report : Performance report : total time spent for XIOS : 344.479 s","index":95},{"content":"-> report : Performance report : time spent for waiting free buffer : 4.30646 s","index":96},{"content":"-> report : Performance report : Ratio : 0.0178448 %","index":97},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":98},{"content":"-> report : Memory report : Minimum buffer size required : 311547 bytes","index":99},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":100},{"content":"24132.9 s","index":101},{"content":"-> report : Performance report : total time spent for XIOS : 123.002 s","index":102},{"content":"-> report : Performance report : time spent for waiting free buffer : 24132.9 s","index":103},{"content":"-> report : Performance report : total time spent for XIOS : 7.1301 s","index":104},{"content":"-> report : Performance report : Ratio : 197.951 s","index":105},{"content":"-> report : 0.0295452 %","index":106},{"content":"-> Performance report : time spent for waiting free buffer : 6.20843report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":107},{"content":"-> report : s","index":108},{"content":"-> report : Performance report : Ratio : 0.025726 %","index":109},{"content":" Memory report : Minimum buffer size required : 32009 bytes-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":110},{"content":"-> report","index":111},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":112},{"content":" : Memory report : Minimum buffer size required : 114227 bytes","index":113},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":114},{"content":"-> report : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":115},{"content":"-> report : Performance report : total time spent for XIOS : 116.016 s","index":116},{"content":"-> report : Performance report : time spent for waiting free buffer : 8.97539 s","index":117},{"content":"-> report : Performance report : Ratio : 0.0371915 %","index":118},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":119},{"content":"-> report : Memory report : Minimum buffer size required : 28969 bytes","index":120},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":121},{"content":"-> report : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":122},{"content":"-> report : Performance report : total time spent for XIOS : 252.699 s-> report : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":123},{"content":"-> report : Performance report : total time spent for XIOS : 138.756 s","index":124},{"content":"-> report : Performance report : time spent for waiting free buffer : 7.17823 s","index":125},{"content":"-> report : Performance report : Ratio : 0.0297446 %","index":126},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":127},{"content":"-> report : Memory report : Minimum buffer size required : 72731 bytes","index":128},{"content":"-> report","index":129},{"content":"-> report : Performance report : time spent for waiting free buffer : : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":130},{"content":"5.51408 s","index":131},{"content":"-> report : Performance report : Ratio : 0.0228488 %","index":132},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":133},{"content":"-> report : Memory report : Minimum buffer size required : 170443 bytes","index":134},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":135},{"content":"-> report : Performance report : Whole time from XIOS init and finalize: 24132.9 s","index":136},{"content":"-> report : Performance report : total time spent for XIOS : 141.564 s","index":137},{"content":"-> report : Performance report : time spent for waiting free buffer : 4.41847 s","index":138},{"content":"-> report : Performance report : Ratio : 0.0183089 %","index":139},{"content":"-> report : Performance report : This ratio must be close to zero. Otherwise it may be usefull to increase buffer size or numbers of server","index":140},{"content":"-> report : Memory report : Minimum buffer size required : 65091 bytes","index":141},{"content":"-> report : Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file","index":142},{"content":"*II* Leg successfully completed according to NEMO log file \'ocean.output\'.","index":143},{"content":"#","index":144},{"content":"# Finished leg at 2021-11-01 01:43:23 after 06:42:18 (hh:mm:ss)","index":145},{"content":"# CPMIP performance: 3.57 SYPD 8334 CHPSY","index":146},{"content":"leg_number=6","index":147},{"content":"leg_start_date=\\"Thu, 01 Jan 2015 00:00:00 +0000\\"","index":148},{"content":"leg_end_date=\\"Fri, 01 Jan 2016 00:00:00 +0000\\"","index":149}],"logfile":"/esarchive/autosubmit/a41t/tmp/LOG_a41t/a41t_20100101_fc00_6_SIM.20211031190029.out","timeStamp":1636115616}')},86:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=86},87:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=87},88:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=88},89:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=89},90:function(e){e.exports=JSON.parse('{"avg_bandwidth":102.81249999999999,"avg_latency":2.482719375,"bandwidth_warning":"Lower bandwidth than usual","current_bandwidth":102,"current_latency":2.45037,"datetime":"2020-11-26-14:45:09","error":false,"error_message":"","latency_warning":null,"reponse_time":6.7542688846588135,"response_warning":"Higher response times than usual","status":"ONLINE"}')},91:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=91},92:function(e){e.exports=JSON.parse('{"are_equal":false,"configuration_current_run":{"conf":{"communications":{"API":"paramiko"},"config":{"AUTOSUBMIT_VERSION":"3.13.0","DEPENDENCIES":"True","EXPID":"a2h6","MAXWAITINGJOBS":"500","RETRIALS":"0","SAFETYSLEEPTIME":"10","TOTALJOBS":"500"},"mail":{"NOTIFICATIONS":"False","TO":""},"migrate":{"DEPENDENCIES":"True","TO_USER":""},"storage":{"COPY_REMOTE_LOGS":"True","TYPE":"pkl"},"wrapper":{"JOBS_IN_WRAPPER":"SIM&DA&REDUCE","MACHINEFILES":"STANDARD","MAX_WRAPPED":"14","MIN_WRAPPED":"3","QUEUE":"debug","TYPE":"horizontal-vertical"}},"contains_nones":false,"exp":{"experiment":{"CALENDAR":"standard","CHUNKINI":"1","CHUNKSIZE":"4","CHUNKSIZEUNIT":"day","DATELIST":"20141128 20150527","EXPID":"a2h6","HPCARCH":"marenostrum4","MEMBERS":"000 001","NUMCHUNKS":"8"},"git":{"EXPID":"a2h6","HPCARCH":"marenostrum4","PROJECT_BRANCH":"235-dustclim-final-run","PROJECT_COMMIT":"","PROJECT_ORIGIN":"https://earth.bsc.es/gitlab/es/auto-monarch.git","PROJECT_SUBMODULES":"sources/nmmb-monarch sources/MONARCH_Reduce sources/monarch-DA"},"local":{"EXPID":"a2h6","HPCARCH":"marenostrum4","PROJECT_PATH":""},"project":{"EXPID":"a2h6","HPCARCH":"marenostrum4","PROJECT_DESTINATION":"","PROJECT_TYPE":"none"},"project_files":{"EXPID":"a2h6","FILE_PROJECT_CONF":"templates/conf/proj_dustclim.conf","HPCARCH":"marenostrum4","JOB_SCRIPTS_TYPE":""},"rerun":{"CHUNKLIST":"","EXPID":"a2h6","HPCARCH":"marenostrum4","RERUN":"FALSE"},"svn":{"EXPID":"a2h6","HPCARCH":"marenostrum4","PROJECT_REVISION":"","PROJECT_URL":""}},"jobs":{"ARCHIVE":{"DEPENDENCIES":"REDUCE ARCHIVE-1","FILE":"templates/06_archive.sh","PLATFORM":"marenostrum_archive","RUNNING":"chunk","WALLCLOCK":"00:05"},"DA":{"DELAY":"0","DEPENDENCIES":"SIM","FILE":"templates/05c_da.sh","NOTIFY_ON":"FAILED","PLATFORM":"marenostrum4","PROCESSORS":"4","QUEUE":"debug","RUNNING":"chunk","SYNCHRONIZE":"member","WALLCLOCK":"00:10"},"REDUCE":{"DEPENDENCIES":"SIM DA","FILE":"templates/07_reduce.sh","NOTIFY_ON":"FAILED","PLATFORM":"marenostrum4","QUEUE":"debug","RUNNING":"chunk","WALLCLOCK":"00:05"},"SIM":{"DEPENDENCIES":"SIM-1 DA-1","FILE":"templates/05b_sim.sh","NOTIFY_ON":"FAILED","PLATFORM":"marenostrum4","PROCESSORS":"4","QUEUE":"debug","RUNNING":"chunk","WALLCLOCK":"00:05"}},"platforms":{"marenostrum4":{"ADD_PROJECT_TO_HOST":"False","HOST":"mn1.bsc.es","MAX_PROCESSORS":"128","MAX_WALLCLOCK":"6:00","PROCESSORS_PER_NODE":"48","PROJECT":"bsc32","SCRATCH_DIR":"/gpfs/scratch","TEST_SUITE":"False","TYPE":"slurm","USER":"bsc32985"},"marenostrum_archive":{"ADD_PROJECT_TO_HOST":"False","HOST":"dt01.bsc.es","PROJECT":"bsc32","SCRATCH_DIR":"/gpfs/scratch","TEST_SUITE":"False","TYPE":"ps","USER":"bsc32985"},"power9":{"ADD_PROJECT_TO_HOST":"False","HOST":"plogin1.bsc.es","PROJECT":"bsc32","SCRATCH_DIR":"/gpfs/scratch","TEST_SUITE":"False","TYPE":"slurm","USER":"bsc32985"}},"proj":{"monarch":{"AGE_FOLDER_ARCHIVE":"","AGE_FOLDER_HPC":"","ARCHIVE_ROOT_FOLDER":"/gpfs/archive/bsc32/esarchive/exp","ARE_FOLDER_ARCHIVE":"","ARE_FOLDER_HPC":"","BCL_BMJ_C":"50. # tuning factor for coarse dust below cloud scavenging (convective clouds)","BCL_BMJ_F":"100. # tuning factor for fine dust below cloud scavenging (convective clouds)","BCL_BMJ_M":"100. # tuning factor for medium dust below cloud scavenging (convective clouds)","BCL_MP_C":"50. # tuning factor for coarse dust below cloud scavenging (grid scale clouds)","BCL_MP_F":"100. # tuning factor for fine dust below cloud scavenging (grid scale clouds)","BCL_MP_M":"100. # tuning factor for medium dust below cloud scavenging (grid scale clouds)","BC_INTERVAL":"21600","BOCO":"6","CAMS_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/scratch/ojorba/tmp/transfer-prace/BC-CAMS","CAMS_FOLDER_HPC":"/gpfs/scratch/bsc32/bsc32771/tmp/PREPARE_REGIONAL_RUNS/DATA_required/BC-CAMS","CASE":"regional","CATAERO":"2 # 2 output dod (all sky and clear sky) (only 2 works)","CENLAT":"35.0 27.5 29.3","CENLON":"20.0 45.0 46.4","CHEMIC":"","CONSTANT_REPO_FOLDER":"/gpfs/archive/bsc32/esarchive/exp/monarch/static","CONSTANT_REPO_FOLDER_NPS":"/gpfs/archive/bsc32/esarchive/exp/monarch/static_v2.0","COUPLE_DUST":"1","COUPLE_DUST_INIT":"1","DATAMEGAN":"/gpfs/projects/bsc32/models/monarch/data/static/emissions/DATA_megan_v2.04","DA_FOLDER_ARCHIVE":"","DA_FOLDER_HPC":"/gpfs/scratch/bsc32/bsc32137/PREOBS_2019/obs_deepblue_coarse_dod_balance_05_flatter/","DA_IOSTEP":"3","DA_NSLOTS":"8","DCAL":"2.65 0.61 0.004 2.65 0.61 0.004 3.4 0.70 0.004 3.4 0.70 0.004","DCALBIN1":"1.106343 1.000612 1.082477 1.475536 0.843028 1.423721 1.309229 0.811747 0.995270 1.524607 0.823556 0.475334","DCALBIN2":"1.098947 0.998531 1.074797 1.472015 0.850205 1.430319 1.299753 0.828486 1.002254 1.524329 0.830391 0.479323","DCALBIN3":"1.097245 0.987129 1.093450 1.487424 0.828624 1.437714 1.325002 0.839012 1.009480 1.547502 0.882344 0.468367","DCALBIN4":"1.165611 0.948493 1.082074 1.426227 0.866220 1.381353 1.371184 0.793838 1.048545 1.510950 0.816682 0.387790","DCALBIN5":"1.116009 0.935082 1.101794 1.365402 0.785977 1.493562 1.390100 0.629129 1.101997 1.638613 0.739484 0.426551","DCALBIN6":"1.080891 0.776795 1.287324 1.364965 0.912424 1.331407 1.327775 0.962559 0.923016 1.219089 0.897321 0.764757","DCALBIN7":"1.126951 0.882573 1.407303 0.662187 0.865147 0.802836 1.357229 1.397023 0.811385 0.815051 1.133981 1.124143","DCALBIN8":"0.548321 1.006390 0.886486 1.102514 1.394948 1.286722 1.174099 1.009974 0.945916 0.930637 1.395042 1.018455","DLMD":"0.1","DMASK":"1 # 0 Standard desert mask based on monthly vegetation fraction (Perez et al. 2011)\\n# 1 Based on MODIS C5 monthly LAI for the specific year (available for 2001 to 2015)\\n# 2 Based on MODIS C5 monthly LAI climatology (2001 to 2015)\\n# 3 Based on Landsat and MODIS reflectance (Guerschman et al. 2015) (monthly data, 01/2001 to 08/2018)\\n# 4 Based on Landsat and MODIS reflectance (Guerschman et al. 2015) (monthly climatology, 2001-2017)","DO_CLOUDS":".false. #.false.","DO_GWD":".false. .false. .false.","DO_PARTMC":"0","DPHD":"0.1","DRAG_PART":"3 # 0 no drag partition scheme in the emission\\n# 1 drag partition forllowing Marticorena with X parameter = 10.\\n# 2 drag partition forllowing Marticorena with X parameter = 12255.\\n# 3 drag partition forllowing Marticorena with X parameter = 40.","DT_INT":"20","DUSCHEME":"0 1 3 0 1 3 0 1 3 0 1 3","DX":"0.1","DY":"0.1","ERA5_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ecmwf/era5/original_files","ERA5_FOLDER_HPC":"","ERA_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ecmwf/erainterim-monarch/original_files","ERA_FOLDER_HPC":"/gpfs/projects/bsc32/models/monarch/data/initial/era-interim","FCST":"false","FECAN":"1.75 # Fecan coefficient","FNL_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ncep/ds083.2/original_files","FNL_FOLDER_HPC":"","GFAS_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ecmwf/gfas/daily_mean/multivar/","GFAS_FOLDER_HPC":"","GFS_DEGREE_RES":"0p50","GFS_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ncep/gfs/original_files","GFS_FOLDER_HPC":"","GLOBAL_NPS":"0","HERMES_ANTHRO_RES":"\'hourly\'","HERMES_AUXFILES":"/gpfs/projects/bsc32/models/hermesv3","HERMES_DATA_ANTHRO":"/gpfs/projects/bsc32/models/hermesv3/data","HIST":"3","HOUR":"00","ICL_BMJ":"4. # tuning factor for dust incloud scavenging (convective clouds)","ICL_MP":"1. # tuning factor for dust incloud scavenging (grid scale clouds)","IFSFCST_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/exp/ecmwf/ifs/original_files","IFSFCST_FOLDER_HPC":"","INFLATION":"0.0","INIT_CHEM":"0 # 0. IC from ideal conditions\\n# 1 initialize from a previous run\\n# 2 initialize from inca chem data\\n# 3 initialize from global nmmb-ctm run for regional\\n# 4 initialize from a previous run of different resolution","INPES":"20","INTERP":"0 0 0","INTERP2":"1 0 0","JNPES":"38","JUST_LAST":".false.","LEVELS":"","LM":"40","LNSH":"1","LNSV":"1","LOCSIG_HOR":"15.0","LOCSIG_TEMP":"7.0","LOCSIG_VER":"1.0","MAXILEVE":"38","MAX_SLOT":"0","MERRA2_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/nasa/merra_v2/original_files/i584","MERRA2_FOLDER_HPC":"","MIN_SLOT":"-7","MODE":"DUST_DA_NPS","MOIST_COR_01":"0 # use moisture correction for cohesive force distribution, yes(1)/no(0); only for DUSCHEME=7","MOZART_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ucar/mozart/original_files","MOZART_FOLDER_HPC":"/gpfs/scratch/bsc32/bsc32771/tmp/PREPARE_REGIONAL_RUNS/DATA_required/BC-MOZART","NCEPLIBS_CONFIG":"5","NCEP_PROC":".false.","NCEP_PROC_GRIB2":".true.","NCHEM":"","NDUST":"8 # 0 (No dust) or 8","NEST1RATIO":"1 3 3","NHOURS":"24","NHOURS_INIT":"24","NPATCH":"30","NPROC_LAT":"24","NPROC_LON":"24","NPS_CONFIG":"18","NRADL":"180","NRADS":"180","NUM_DOMAINS":"1","NX":"1021 341 201","NY":"701 351 201","NZ":"40","PERTURB_USTH":"0.839108 1.064186 0.994903 1.128865 0.939841 1.077895 0.978513 0.904003 1.119007 0.907066 1.133456 0.838777","PREVAR_FOLDER_HPC":"/gpfs/scratch/pr1ehu00/pr1ehu06/dustclim_preproc/","PTOP":"5000.","PTOP_NPS":"5000.","PTSGM":"30000.","QC":"1.4","REDUCE_CSV_FILE":"monarch_reduce_DUST_DA_dustclim_min.csv","REDUCE_OUTPUT_DIRECTORY":"/gpfs/scratch/pr1ehu00/pr1ehu06","REMOVE_ORIGINAL_FILES":"1","SBD":"-35.0","SEDIM_TYPE":"1 # sedimentation scheme (0-implicit,1 explicit) both upwind (pretty diffusive)","SPINUP":"0","SPINUP_FOLDER":"/gpfs/archive/bsc32/esarchive/exp/monarch/a1zu/original_files/dustclim_humidity_spinup/","SPINUP_SAVE_FREQ":"30","SRC":"3 # 0 Old topographic source from Ginoux et al. (2001) derived at 0.25 degrees (DUSCHEME=0,1,2,3)\\n# 1 MODIS DB C6 based foo (climatology) derived at 0.1 degrees (both natural and anthropogenic together, HYDE 2) (DUSCHEME=0,1,2,3)\\n# 2 MODIS DB C6 based foo (climatology) derived at 0.1 degrees (tagged natural and anthropogenic, HYDE 2) (DUSCHEME=0,1,2,3)\\n# 3 Like #1 to identify the location of sources but like #0 (topo) for the calculation of the vertical flux (DUSCHEME=0,1,2)\\n# 4 Like #2 to identify the location of sources but like #0 (topo) for the calculation of the vertical flux (DUSCHEME=0,1,2)\\n# 5 No source based on topo or MODIS (only DMASK) and no tagging\\n# 6 No source based on topo or MODIS (only DMASK) and tagging for anthropogenic and natural based on MODIS DB\\n# 7 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (natural and anthropogenic together), actual year\\n# 8 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland and pasture]), actual year\\n# 9 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland, pasture, and converted rangeland]), actual year\\n# 10 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland, pasture, conv. rangeland, and rangeland]), actual year\\n# 11 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (natural and anthropogenic together), climatology\\n# 12 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland and pasture]), climatology\\n# 13 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland, pasture, and converted rangeland]), climatology\\n# 14 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland, pasture, conv. rangeland, and rangeland]), climatology","SRC_GRIB":"ERA ERA ERA ERA ERA ERA MERRA2_ERA5soil MERRA2_ERA5soil MERRA2_ERA5soil MERRA2_ERA5soil MERRA2_ERA5soil MERRA2_ERA5soil","STATIC_HPC_FOLDER":"/gpfs/projects/bsc32/models/monarch/data/static","STATIC_HPC_FOLDER_NPS":"/gpfs/projects/bsc32/models/monarch/data/static_v2.0","SZDSTR":"1 # 0 Emitted size distribution from D\'Almeida\\n# 1 Emitted size distribution from Kok","TLM0D":"20.0","TPH0D":"35.0","TYPE_BCCHEM":"","TYPE_GFSINIT":"ERA ERA ERA ERA ERA ERA FNL FNL FNL FNL FNL FNL","USE_IGBP":"0","VCOORD_OPT":"1","VDRY":"0.5 # tuning factor for dry deposition velocity (excluding gravitational settling","VEGF_UNI":"1 # 0 Use default USGS climatological vegetation for meteorology and land-surface while using vegetation from DMASK/DRAG_PART for dust\\n# 1 Use same vegetation (Guerschman et al. 2015) for meteorology and land-surface as for dust (only applies if DMASK = 3 or 4 and DRAG_PART = 4)","VEG_COR_01":"0 # use vegetation correction for momentum flux distribution, yes(1)/no(0); only for DUSCHEME=7","VERSION_PREPROC":"1","VSED5":"0.5 # correction factor of sedimentation velocity for bin 5 to correct for diffusive scheme","VSED6":"0.3 # correction factor of sedimentation velocity for bin 6 to correct for diffusive scheme","VSED7":"0.2 # correction factor of sedimentation velocity for bin 7 to correct for diffusive scheme","VSED8":"0.1 # correction factor of sedimentation velocity for bin 8 to correct for diffusive scheme","VSLAYER":"0 # 0 NMMB default with viscous sublayer\\n# 1 no viscous sublayer (only applies for NMMB default dust scheme)","WBD":"-51.0","WRTSK":"8","XKOK":"0 # flag for shape (only for XTBL=1 or XTBL=2)\\n# : 0 -> spheres\\n# : 1 -> tri-axial spheroids for dust in (0.25-2.00)\xb5m","XMDL":"3 # flag for ARI module (mdlari in configfile)\\n# : 0 -> OPAC climatology\\n# : 3 -> MONARCH dynamic coupling","XMLC":"1 # flag for multiple call (mlcari in configfile)\\n# : 0 -> no DRE\\n# : 1 -> DRE of all types\\n# : 2 -> DRE of single types (alone) + all types\\n# : 3 -> DRE of single types (missing) + all types","XTBL":"2 # flag for optical table (tblari in configfile)\\n# : 1 -> OPAC refractive indices (homogeneous dust components)\\n# : 2 -> OPAC refractive indices + emission p50 for dust imaginary index in (0.25-2.00)\xb5m\\n# : 3 -> mineral refractive indices: external mixing\\n# : 4 -> mineral refractive indices: internal mixing for hematite-clays (Maxwell-Garnett mixing rule)","direct_temp":".true.","dt_den":"1 1 3","dt_int":"20 20 6","dt_num":"0 0 2","dustclimset":"dustclim_min","inpesnps":"20 16 31","jnpesnps":"38 32 32","moving_nests":".false.","nproc_geogrid":"8","nproc_metgrid":"8","nproc_nemsinterp":"8","nproc_ungrib":"1","nradsnps":"180 180 540","spectral":".false.","wtpgnps":"8 8 8"}}},"configuration_filesystem":{"conf":{"communications":{"API":"paramiko"},"config":{"AUTOSUBMIT_VERSION":"3.13.0","DEPENDENCIES":"True","EXPID":"a2h6","MAXWAITINGJOBS":"500","RETRIALS":"0","SAFETYSLEEPTIME":"10","TOTALJOBS":"500"},"mail":{"NOTIFICATIONS":"False","TO":""},"migrate":{"DEPENDENCIES":"True","TO_USER":""},"storage":{"COPY_REMOTE_LOGS":"True","TYPE":"pkl"},"wrapper":{"JOBS_IN_WRAPPER":"SIM&DA&REDUCE","MACHINEFILES":"STANDARD","MAX_WRAPPED":"14","MIN_WRAPPED":"3","QUEUE":"debug","TYPE":"horizontal-vertical"}},"contains_nones":false,"exp":{"experiment":{"CALENDAR":"standard","CHUNKINI":"1","CHUNKSIZE":"4","CHUNKSIZEUNIT":"day","DATELIST":"20141128 20150527","EXPID":"a2h6","HPCARCH":"marenostrum4","MEMBERS":"000 001","NUMCHUNKS":"8"},"git":{"EXPID":"a2h6","HPCARCH":"marenostrum4","PROJECT_BRANCH":"235-dustclim-final-run","PROJECT_COMMIT":"","PROJECT_ORIGIN":"https://earth.bsc.es/gitlab/es/auto-monarch.git","PROJECT_SUBMODULES":"sources/nmmb-monarch sources/MONARCH_Reduce sources/monarch-DA"},"local":{"EXPID":"a2h6","HPCARCH":"marenostrum4","PROJECT_PATH":""},"project":{"EXPID":"a2h6","HPCARCH":"marenostrum4","PROJECT_DESTINATION":"","PROJECT_TYPE":"none"},"project_files":{"EXPID":"a2h6","FILE_PROJECT_CONF":"templates/conf/proj_dustclim.conf","HPCARCH":"marenostrum4","JOB_SCRIPTS_TYPE":""},"rerun":{"CHUNKLIST":"","EXPID":"a2h6","HPCARCH":"marenostrum4","RERUN":"FALSE"},"svn":{"EXPID":"a2h6","HPCARCH":"marenostrum4","PROJECT_REVISION":"","PROJECT_URL":""}},"jobs":{"ARCHIVE":{"DEPENDENCIES":"REDUCE ARCHIVE-1","FILE":"templates/06_archive.sh","PLATFORM":"marenostrum_archive","RUNNING":"chunk","WALLCLOCK":"00:05"},"DA":{"DELAY":"0","DEPENDENCIES":"SIM","FILE":"templates/05c_da.sh","NOTIFY_ON":"FAILED","PLATFORM":"marenostrum4","PROCESSORS":"4","QUEUE":"debug","RUNNING":"chunk","SYNCHRONIZE":"member","WALLCLOCK":"00:10"},"REDUCE":{"DEPENDENCIES":"SIM DA","FILE":"templates/07_reduce.sh","NOTIFY_ON":"FAILED","PLATFORM":"marenostrum4","QUEUE":"debug","RUNNING":"chunk","WALLCLOCK":"00:05"},"SIM":{"DEPENDENCIES":"SIM-1 DA-1","FILE":"templates/05b_sim.sh","NOTIFY_ON":"FAILED","PLATFORM":"marenostrum4","PROCESSORS":"4","QUEUE":"debug","RUNNING":"chunk","WALLCLOCK":"00:05"}},"platforms":{"marenostrum4":{"ADD_PROJECT_TO_HOST":"False","HOST":"mn1.bsc.es","MAX_PROCESSORS":"128","MAX_WALLCLOCK":"6:00","PROCESSORS_PER_NODE":"48","PROJECT":"bsc32","SCRATCH_DIR":"/gpfs/scratch","TEST_SUITE":"False","TYPE":"slurm","USER":"bsc32985"},"marenostrum_archive":{"ADD_PROJECT_TO_HOST":"False","HOST":"dt01.bsc.es","PROJECT":"bsc32","SCRATCH_DIR":"/gpfs/scratch","TEST_SUITE":"False","TYPE":"ps","USER":"bsc32985"},"power9":{"ADD_PROJECT_TO_HOST":"False","HOST":"plogin1.bsc.es","PROJECT":"bsc32","SCRATCH_DIR":"/gpfs/scratch","TEST_SUITE":"False","TYPE":"slurm","USER":"bsc32985"}},"proj":{"monarch":{"AGE_FOLDER_ARCHIVE":"","AGE_FOLDER_HPC":"","ARCHIVE_ROOT_FOLDER":"/gpfs/archive/bsc32/esarchive/exp","ARE_FOLDER_ARCHIVE":"","ARE_FOLDER_HPC":"","BCL_BMJ_C":"50. # tuning factor for coarse dust below cloud scavenging (convective clouds)","BCL_BMJ_F":"100. # tuning factor for fine dust below cloud scavenging (convective clouds)","BCL_BMJ_M":"100. # tuning factor for medium dust below cloud scavenging (convective clouds)","BCL_MP_C":"50. # tuning factor for coarse dust below cloud scavenging (grid scale clouds)","BCL_MP_F":"100. # tuning factor for fine dust below cloud scavenging (grid scale clouds)","BCL_MP_M":"100. # tuning factor for medium dust below cloud scavenging (grid scale clouds)","BC_INTERVAL":"21600","BOCO":"6","CAMS_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/scratch/ojorba/tmp/transfer-prace/BC-CAMS","CAMS_FOLDER_HPC":"/gpfs/scratch/bsc32/bsc32771/tmp/PREPARE_REGIONAL_RUNS/DATA_required/BC-CAMS","CASE":"regional","CATAERO":"2 # 2 output dod (all sky and clear sky) (only 2 works)","CENLAT":"35.0 27.5 29.3","CENLON":"20.0 45.0 46.4","CHEMIC":"","CONSTANT_REPO_FOLDER":"/gpfs/archive/bsc32/esarchive/exp/monarch/static","CONSTANT_REPO_FOLDER_NPS":"/gpfs/archive/bsc32/esarchive/exp/monarch/static_v2.0","COUPLE_DUST":"1","COUPLE_DUST_INIT":"1","DATAMEGAN":"/gpfs/projects/bsc32/models/monarch/data/static/emissions/DATA_megan_v2.04","DA_FOLDER_ARCHIVE":"","DA_FOLDER_HPC":"/gpfs/scratch/bsc32/bsc32137/PREOBS_2019/obs_deepblue_coarse_dod_balance_05_flatter/","DA_IOSTEP":"3","DA_NSLOTS":"8","DCAL":"2.65 0.61 0.004 2.65 0.61 0.004 3.4 0.70 0.004 3.4 0.70 0.004","DCALBIN1":"1.106343 1.000612 1.082477 1.475536 0.843028 1.423721 1.309229 0.811747 0.995270 1.524607 0.823556 0.475334","DCALBIN2":"1.098947 0.998531 1.074797 1.472015 0.850205 1.430319 1.299753 0.828486 1.002254 1.524329 0.830391 0.479323","DCALBIN3":"1.097245 0.987129 1.093450 1.487424 0.828624 1.437714 1.325002 0.839012 1.009480 1.547502 0.882344 0.468367","DCALBIN4":"1.165611 0.948493 1.082074 1.426227 0.866220 1.381353 1.371184 0.793838 1.048545 1.510950 0.816682 0.387790","DCALBIN5":"1.116009 0.935082 1.101794 1.365402 0.785977 1.493562 1.390100 0.629129 1.101997 1.638613 0.739484 0.426551","DCALBIN6":"1.080891 0.776795 1.287324 1.364965 0.912424 1.331407 1.327775 0.962559 0.923016 1.219089 0.897321 0.764757","DCALBIN7":"1.126951 0.882573 1.407303 0.662187 0.865147 0.802836 1.357229 1.397023 0.811385 0.815051 1.133981 1.124143","DCALBIN8":"0.548321 1.006390 0.886486 1.102514 1.394948 1.286722 1.174099 1.009974 0.945916 0.930637 1.395042 1.018455","DLMD":"0.1","DMASK":"1 # 0 Standard desert mask based on monthly vegetation fraction (Perez et al. 2011)\\n# 1 Based on MODIS C5 monthly LAI for the specific year (available for 2001 to 2015)\\n# 2 Based on MODIS C5 monthly LAI climatology (2001 to 2015)\\n# 3 Based on Landsat and MODIS reflectance (Guerschman et al. 2015) (monthly data, 01/2001 to 08/2018)\\n# 4 Based on Landsat and MODIS reflectance (Guerschman et al. 2015) (monthly climatology, 2001-2017)","DO_CLOUDS":".false. #.false.","DO_GWD":".false. .false. .false.","DO_PARTMC":"0","DPHD":"0.1","DRAG_PART":"3 # 0 no drag partition scheme in the emission\\n# 1 drag partition forllowing Marticorena with X parameter = 10.\\n# 2 drag partition forllowing Marticorena with X parameter = 12255.\\n# 3 drag partition forllowing Marticorena with X parameter = 40.","DT_INT":"20","DUSCHEME":"0 1 3 0 1 3 0 1 3 0 1 3","DX":"0.1","DY":"0.1","ERA5_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ecmwf/era5/original_files","ERA5_FOLDER_HPC":"","ERA_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ecmwf/erainterim-monarch/original_files","ERA_FOLDER_HPC":"/gpfs/projects/bsc32/models/monarch/data/initial/era-interim","FCST":"false","FECAN":"1.75 # Fecan coefficient","FNL_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ncep/ds083.2/original_files","FNL_FOLDER_HPC":"","GFAS_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ecmwf/gfas/daily_mean/multivar/","GFAS_FOLDER_HPC":"","GFS_DEGREE_RES":"0p50","GFS_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ncep/gfs/original_files","GFS_FOLDER_HPC":"","GLOBAL_NPS":"0","HERMES_ANTHRO_RES":"\'hourly\'","HERMES_AUXFILES":"/gpfs/projects/bsc32/models/hermesv3","HERMES_DATA_ANTHRO":"/gpfs/projects/bsc32/models/hermesv3/data","HIST":"3","HOUR":"00","ICL_BMJ":"4. # tuning factor for dust incloud scavenging (convective clouds)","ICL_MP":"1. # tuning factor for dust incloud scavenging (grid scale clouds)","IFSFCST_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/exp/ecmwf/ifs/original_files","IFSFCST_FOLDER_HPC":"","INFLATION":"0.0","INIT_CHEM":"0 # 0. IC from ideal conditions\\n# 1 initialize from a previous run\\n# 2 initialize from inca chem data\\n# 3 initialize from global nmmb-ctm run for regional\\n# 4 initialize from a previous run of different resolution","INPES":"20","INTERP":"0 0 0","INTERP2":"1 0 0","JNPES":"38","JUST_LAST":".false.","LEVELS":"","LM":"40","LNSH":"1","LNSV":"1","LOCSIG_HOR":"15.0","LOCSIG_TEMP":"7.0","LOCSIG_VER":"1.0","MAXILEVE":"38","MAX_SLOT":"0","MERRA2_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/nasa/merra_v2/original_files/i584","MERRA2_FOLDER_HPC":"","MIN_SLOT":"-7","MODE":"DUST_DA_NPS","MOIST_COR_01":"0 # use moisture correction for cohesive force distribution, yes(1)/no(0); only for DUSCHEME=7","MOZART_FOLDER_ARCHIVE":"/gpfs/archive/bsc32/esarchive/recon/ucar/mozart/original_files","MOZART_FOLDER_HPC":"/gpfs/scratch/bsc32/bsc32771/tmp/PREPARE_REGIONAL_RUNS/DATA_required/BC-MOZART","NCEPLIBS_CONFIG":"5","NCEP_PROC":".false.","NCEP_PROC_GRIB2":".true.","NCHEM":"","NDUST":"8 # 0 (No dust) or 8","NEST1RATIO":"1 3 3","NHOURS":"24","NHOURS_INIT":"24","NPATCH":"30","NPROC_LAT":"24","NPROC_LON":"24","NPS_CONFIG":"18","NRADL":"180","NRADS":"180","NUM_DOMAINS":"1","NX":"1021 341 201","NY":"701 351 201","NZ":"40","PERTURB_USTH":"0.839108 1.064186 0.994903 1.128865 0.939841 1.077895 0.978513 0.904003 1.119007 0.907066 1.133456 0.838777","PREVAR_FOLDER_HPC":"/gpfs/scratch/pr1ehu00/pr1ehu06/dustclim_preproc/","PTOP":"5000.","PTOP_NPS":"5000.","PTSGM":"30000.","QC":"1.4","REDUCE_CSV_FILE":"monarch_reduce_DUST_DA_dustclim_min.csv","REDUCE_OUTPUT_DIRECTORY":"/gpfs/scratch/pr1ehu00/pr1ehu06","REMOVE_ORIGINAL_FILES":"1","SBD":"-35.0","SEDIM_TYPE":"1 # sedimentation scheme (0-implicit,1 explicit) both upwind (pretty diffusive)","SPINUP":"0","SPINUP_FOLDER":"/gpfs/archive/bsc32/esarchive/exp/monarch/a1zu/original_files/dustclim_humidity_spinup/","SPINUP_SAVE_FREQ":"30","SRC":"3 # 0 Old topographic source from Ginoux et al. (2001) derived at 0.25 degrees (DUSCHEME=0,1,2,3)\\n# 1 MODIS DB C6 based foo (climatology) derived at 0.1 degrees (both natural and anthropogenic together, HYDE 2) (DUSCHEME=0,1,2,3)\\n# 2 MODIS DB C6 based foo (climatology) derived at 0.1 degrees (tagged natural and anthropogenic, HYDE 2) (DUSCHEME=0,1,2,3)\\n# 3 Like #1 to identify the location of sources but like #0 (topo) for the calculation of the vertical flux (DUSCHEME=0,1,2)\\n# 4 Like #2 to identify the location of sources but like #0 (topo) for the calculation of the vertical flux (DUSCHEME=0,1,2)\\n# 5 No source based on topo or MODIS (only DMASK) and no tagging\\n# 6 No source based on topo or MODIS (only DMASK) and tagging for anthropogenic and natural based on MODIS DB\\n# 7 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (natural and anthropogenic together), actual year\\n# 8 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland and pasture]), actual year\\n# 9 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland, pasture, and converted rangeland]), actual year\\n# 10 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland, pasture, conv. rangeland, and rangeland]), actual year\\n# 11 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (natural and anthropogenic together), climatology\\n# 12 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland and pasture]), climatology\\n# 13 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland, pasture, and converted rangeland]), climatology\\n# 14 MODIS DB foo and HYDE 3.2.1 land use at 0.1 degrees (tagged natural and anthropogenic [cropland, pasture, conv. rangeland, and rangeland]), climatology","SRC_GRIB":"ERA ERA ERA ERA ERA ERA MERRA2_ERA5soil MERRA2_ERA5soil MERRA2_ERA5soil MERRA2_ERA5soil MERRA2_ERA5soil MERRA2_ERA5soil","STATIC_HPC_FOLDER":"/gpfs/projects/bsc32/models/monarch/data/static","STATIC_HPC_FOLDER_NPS":"/gpfs/projects/bsc32/models/monarch/data/static_v2.0","SZDSTR":"1 # 0 Emitted size distribution from D\'Almeida\\n# 1 Emitted size distribution from Kok","TLM0D":"20.0","TPH0D":"35.0","TYPE_BCCHEM":"","TYPE_GFSINIT":"ERA ERA ERA ERA ERA ERA FNL FNL FNL FNL FNL FNL","USE_IGBP":"0","VCOORD_OPT":"1","VDRY":"0.5 # tuning factor for dry deposition velocity (excluding gravitational settling","VEGF_UNI":"1 # 0 Use default USGS climatological vegetation for meteorology and land-surface while using vegetation from DMASK/DRAG_PART for dust\\n# 1 Use same vegetation (Guerschman et al. 2015) for meteorology and land-surface as for dust (only applies if DMASK = 3 or 4 and DRAG_PART = 4)","VEG_COR_01":"0 # use vegetation correction for momentum flux distribution, yes(1)/no(0); only for DUSCHEME=7","VERSION_PREPROC":"1","VSED5":"0.5 # correction factor of sedimentation velocity for bin 5 to correct for diffusive scheme","VSED6":"0.3 # correction factor of sedimentation velocity for bin 6 to correct for diffusive scheme","VSED7":"0.2 # correction factor of sedimentation velocity for bin 7 to correct for diffusive scheme","VSED8":"0.1 # correction factor of sedimentation velocity for bin 8 to correct for diffusive scheme","VSLAYER":"0 # 0 NMMB default with viscous sublayer\\n# 1 no viscous sublayer (only applies for NMMB default dust scheme)","WBD":"-51.0","WRTSK":"8","XKOK":"0 # flag for shape (only for XTBL=1 or XTBL=2)\\n# : 0 -> spheres\\n# : 1 -> tri-axial spheroids for dust in (0.25-2.00)\xb5m","XMDL":"3 # flag for ARI module (mdlari in configfile)\\n# : 0 -> OPAC climatology\\n# : 3 -> MONARCH dynamic coupling","XMLC":"1 # flag for multiple call (mlcari in configfile)\\n# : 0 -> no DRE\\n# : 1 -> DRE of all types\\n# : 2 -> DRE of single types (alone) + all types\\n# : 3 -> DRE of single types (missing) + all types","XTBL":"2 # flag for optical table (tblari in configfile)\\n# : 1 -> OPAC refractive indices (homogeneous dust components)\\n# : 2 -> OPAC refractive indices + emission p50 for dust imaginary index in (0.25-2.00)\xb5m\\n# : 3 -> mineral refractive indices: external mixing\\n# : 4 -> mineral refractive indices: internal mixing for hematite-clays (Maxwell-Garnett mixing rule)","direct_temp":".true.","dt_den":"1 1 3","dt_int":"20 20 6","dt_num":"0 0 2","dustclimset":"dustclim_min","inpesnps":"20 16 31","jnpesnps":"38 32 32","moving_nests":".false.","nproc_geogrid":"8","nproc_metgrid":"8","nproc_nemsinterp":"8","nproc_ungrib":"1","nradsnps":"180 180 540","spectral":".false.","wtpgnps":"8 8 8"}}},"error":false,"error_message":"","warning":false,"warning_message":""}')},93:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=93},94:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=94},95:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=95},96:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=96},97:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=97},98:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=98},99:function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return[]},a.resolve=a,e.exports=a,a.id=99}},[[101,1,2]]]); +//# sourceMappingURL=main.0fbed5c1.chunk.js.map \ No newline at end of file diff --git a/build/static/js/main.0fbed5c1.chunk.js.map b/build/static/js/main.0fbed5c1.chunk.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0cc8376bab73a1532bdfbdb7390a0346addf2c8e --- /dev/null +++ b/build/static/js/main.0fbed5c1.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/context/vars.js","components/context/experiment/experimentContext.js","components/layout/Spinner.js","components/layout/spinner.gif","components/context/tree/treeContext.js","components/context/utils.js","components/experiment/ExperimentRuns.js","components/experiment/DescriptionModal.js","components/experiment/Experiment.js","components/experiment/FileStatus.js","components/layout/Navbar.js","components/context/alert/alertContext.js","components/layout/Alert.js","components/pages/About.js","components/pages/News.js","components/pages/NotFound.js","components/experiment/ExperimentColumn.js","components/experiment/GraphNativeRep.js","components/context/graph/graphContext.js","components/experiment/CommandModal.js","components/experiment/SelectedJobs.js","components/layout/dogload.gif","components/layout/catload.gif","components/layout/platyload.gif","components/context/lighter/lighterContext.js","components/layout/LoadingCounter.js","components/layout/Loading.js","components/experiment/TreeNativeRep.js","components/experiment/LighterNativeRep.js","components/context/statistics/statsContext.js","components/experiment/JobHistory.js","components/experiment/JobLog.js","components/experiment/GraphJob.js","components/experiment/FAQ.js","components/experiment/TreeJob.js","components/experiment/Running.js","components/experiment/JobMonitor.js","components/experiment/JobMonitorTree.js","components/experiment/Navigator.js","components/statistics/BarChart.js","components/statistics/StatsSearch.js","components/statistics/StatsControl.js","components/experiment/GraphNodeSelection.js","components/experiment/AlertTotal.js","components/experiment/JobSearcher.js","components/experiment/TreeNodeSelection.js","components/experiment/JobFilter.js","components/experiment/WrapperList.js","components/experiment/JobSummary.js","components/experiment/SelectionControl.js","components/experiment/GraphControl.js","components/experiment/LogControl.js","components/experiment/TreeControl.js","components/experiment/LighterControl.js","components/experiment/PerformanceControl.js","components/plots/TimeScatterPlot.js","components/plots/MetricScatterPlot.js","components/experiment/Performance.js","components/experiment/ReadyJobs.js","components/experiment/ConfigurationControl.js","components/experiment/CurrentConfiguration.js","components/pages/ExperimentCentral.js","components/experiment/Search.js","components/experiment/ExperimentItem.js","components/experiment/Pagination.js","components/experiment/Experiments.js","components/pages/Home.js","components/pages/Login.js","components/pages/Profile.js","components/layout/Footer.js","components/context/types.js","components/context/experiment/experimentReducer.js","components/context/experiment/ExperimentState.js","components/context/graphutils.js","components/context/graph/graphReducer.js","components/context/graph/GraphState.js","components/context/treeutils.js","components/context/tree/treeReducer.js","components/context/tree/TreeState.js","components/context/alert/alertReducer.js","components/context/alert/AlertState.js","components/context/statistics/statsReducer.js","components/context/statistics/StatsState.js","components/context/lighter/lighterReducer.js","components/context/lighter/LighterState.js","components/layout/ProtectedRoute.js","App.js","index.js","components/context/data sync /^/.//history_.*/.json$","components/context/data sync /^/.//runs_.*/.json$","components/context/data sync /^/.//summary_.*/.json$","components/context/data sync /^/.//performance_.*/.json$","components/context/data sync /^/.//expinfo_.*/.json$","components/context/data sync /^/.//exprun_.*/.json$","components/context/data sync /^/.//ifrun_.*/.json$","components/context/data sync /^/.//graph_.*/.json$","components/context/data sync /^/.//pklinfo_.*/.json$","components/context/data sync /^/.//tree_.*/.json$","components/context/data sync /^/.//pkltreeinfo_.*/.json$","components/context/data sync /^/.//rundetail_.*/.json$","components/context/data sync /^/.//stats_.*/.json$","components/context/data sync /^/.//quick_.*/.json$"],"names":["AUTOSUBMIT_API_SOURCE","NOAPI","rootAppName","ERROR_MESSAGE","latestNewsLabel","queueColor","background","fontWeight","failedColor","color","completedColor","submittedColor","runningColor","readyColor","waitingColor","unknownColor","suspendedColor","holdColor","preparedColor","skippedColor","failedQueueColor","failedRunAttempts","statusCodeToStyle","code","localStorageExperimentTypeSearch","localStorageExperimentActiveCheck","pageSize","orderByType","simpleExperimentType","simpleActiveStatus","complexTypeExperimentToSimple","complex","complexActiveStatusToSimple","simpleActiveStatusToComplex","simple","simpleTypeToComplex","defaultPerformanceDisplaySettings","JPSYvsCHSY","JPSYvsSYPD","JPSYvsASYPD","SYPDvsASYPD","CHSYvsSYPD","CHSYvsASYPD","RunVsSYPD","RunVsCHSY","QueueRunVsASYPD","experimentContext","createContext","Spinner","src","alt","style","width","margin","display","treeContext","timeStampToDate","value","date","Date","hours","getHours","minutes","getMinutes","seconds","getSeconds","month","getMonth","getDate","substr","commandGeneratorGraph","expid","jobs","status","command","length","join","statusChangeTextGeneratorGraph","String","secondsToDelta","SECONDS","sec_num","days","Math","floor","approximateLoadingQuickView","x","round","exportSummaryToCSV","data","columnNames","title","getFullYear","toString","csvContent","mapped","map","item","push","encodedUri","encodeURI","link","document","createElement","setAttribute","body","appendChild","click","getReadyJobs","readyJobs","filter","jobArray","name","id","groupByAndAggregate","arrayObjects","key","groupedBySection","reduce","result","currentObject","val","groupBy","sectionName","queueSum","runSum","forEach","itemJob","Queue","Run","averageQueue","averageRun","buildWarningInactiveMessageTree","experimentRunning","timeDiff","logPath","message","getIFActiveJobs","errorEsarchiveStatus","openIcon","className","openIconHistory","normalizeString","input","normalizeInt","creationDateToId","strCreationDate","intRunId","undefined","creationDate","split","timeDay","generateConfigFileHtml","conf","confName","differences","Set","alertSpan","htmlResult","Object","keys","v","has","scope","w","arrayAverage","arr","sumArr","accum","arrayStandardDeviation","sqrt","average","pow","arrayVariance","arrayMeanAbsoluteDeviationAroundMean","mean","abs","formatNumberMoney","money","integerFormat","decimals","moneyToFormat","Number","isFinite","floatFormat","toFixed","replace","calculateStatistics","jobsSubmittedCount","jobsRunCount","jobsCompletedCount","jobsFailedCount","expectedConsumption","realConsumption","failedRealConsumption","expectedCpuConsumption","cpuConsumption","failedCpuConsumption","totalQueueTime","cpuConsumptionPercentage","job","submittedCount","retrialCount","completedCount","failedCount","completedRunTime","failedRunTime","ExperimentRuns","useContext","ExperimentContext","TreeContext","experiment","experimentRuns","getExperimentRuns","getExperimentRunJobData","fancyTree","startAutoUpdateTreePkl","loadingPreviousRun","currentRunIdOnTree","db_historic_version","dataTarget","type","onClick","e","preventDefault","data-toggle","data-target","data-placement","tabIndex","role","aria-labelledby","aria-hidden","created","runId","data-dismiss","aria-label","runs","run_id","finished","completed","total","alert","finish","submitted","queuing","running","failed","suspended","SYPD","ASYPD","chunk_unit","chunk_size","DescriptionModal","currentUpdateDescripCommand","setCurrentUpdateDescripCommand","loggedUser","currentToken","updateDescription","useState","text","setText","onChange","target","onGetUpdateCommand","description","commandGeneratorUpdateDescrip","copyContent","inputname","window","copyTextToClipboard","owner","onSubmit","new_description","onSetNewDescription","placeholder","fontFamily","whiteSpace","JSON","parse","stringify","Experiment","expidToken","loading","loadingState","error","error_message","FileStatus","this","props","getFileStatus","interval","setInterval","cleanFileStatusData","clearInterval","esarchiveStatus","avg_bandwidth","avg_latency","bandwidth_warning","current_bandwidth","current_latency","latency_warning","reponse_time","response_warning","metrics_text","span_alert","message_pop","tootltip_title","Component","Navbar","icon","history","useHistory","searchExperiments","setLoggedUser","testToken","haveIReadTheNews","localStorage","getItem","useEffect","user","token","to","aria-controls","aria-expanded","location","pathname","removeItem","defaultProps","alertContext","Alert","AlertContext","msg","About","href","News","setItem","NotFound","ExperimentColumn","refTree","totalJobs","owner_id","version","branch","hpc","db_version","GraphNativeRep","nextProps","nextState","shouldUpdateGraph","pkl_timestamp","loadingGraph","cleanGraphData","clearStats","experimentStyle","nodes_array","edges_array","graphviz","groups","groups_data","current_grouped","nodes","edges","node","label","shape","status_color","border","y","shapeProperties","borderDashes","dashed","edge","from","dashes","enabled","is_wrapper","arrows","fake_edges","vis","DataSet","shouldEdge","total_jobs","options","autoResize","layout","improvedLayout","hierarchical","nodeSpacing","blockShifting","edgeMinimization","parentCentralization","sortMethod","direction","interaction","dragNodes","hoverConnectedEdges","hideEdgesOnDrag","multiselect","navigationButtons","physics","stabilization","iterations","font","size","graph","VisNetwork","network","Network","refs","myRef","setVisNetwork","on","params","isCluster","updateSelection","updateCurrentSelected","OpenClusterObj","clusterPosition","containedNodesPositions","openCluster","clusterGroups","clusterOptionsByDateMember","i","startingName","joinCondition","startsWith","processProperties","clusterOptions","childNodes","childEdges","totalMass","mass","clusterNodeProperties","borderWidth","clustering","cluster","clusterOptionsByDateMemberChunk","k","clusterOptionsByStatus","j","statusName","navigateAfterLoadGraph","cleanNavData","ref","isGraphViz","updateGraphSelectedNodes","height","graphContext","CommandModal","source","GraphContext","currentSelected","setCurrentCommand","setCurrentTextCommand","currentCommand","currentTextCommand","treeSelectedNodes","currentCommandTree","currentTextCommandTree","setCurrentTextCommandTree","setCurrentCommandTree","graphSelectedNodes","setCurrentCommandGraph","setCurrentTextCommandGraph","currentTextCommandGraph","currentCommandGraph","sourceSelection","sourceCommand","sourceTextCommand","invalidMessage","setStatusTextCommand","arrayNames","statusChangeTextGenerator","setStatusCommand","commandGenerator","modalHeader","modalHeader2","index","SelectedJobs","removeSelectedJob","canSelect","sort","a","b","lighterContext","LoadingCounter","loadsource","LighterContext","expectedLoadingTreeTime","expectedLoadingQuickView","increaseElapsedLoadingTree","elapsedLoadingTree","increaseElapsedLoadingQuickView","elapsedLoadingQuickView","increaseFunction","elapsedTime","approximatedTime","fetchMessage","aria-valuenow","aria-valuemin","aria-valuemax","Loading","animal","gifload","platyload","dogload","catload","TreeNativeRep","treedata","loadingTree","cleanTreeData","FancyTree","tree","createTree","activate","event","updateSelectionTree","folder","refKey","originaldata","extensions","autoApply","autoExpand","counter","fuzzy","hideExpandedCounter","hideExpanders","highlight","leavesOnly","nodata","mode","setFancyTree","LighterNativeRep","loadingView","cleanLoadingLighterView","isValid","errorMessage","LightFancyTree","l_tree","tree_data","setLighterFancyTree","statsContext","JobHistory","jobHistory","getJobHistory","selection","selectedTreeNode","jobName","selectedJob","job_id","submit","start","queue_time","run_time","energy","wallclock","ncpus","exportHistoryToCSV","run_created","pStyle","listStyleType","JobLog","tab","joblog","getJobLog","pathid","substring","lastIndexOf","found","logcontent","content","headerCard","GraphJob","navigateToGroup","currentNode","selectedNode","parentList","childrenList","packages","copyToClip","find","parent_list","indexOf","children_list","date_plus","section","member","chunk","platform_name","queue","rm_id","processors","minutes_queue","includes","backgroundColor","children","disabled","parents","out","readOnly","err","package","slice","status_code","FAQ","rel","TreeJob","aria-describedby","wrapper","Running","rundata","getExperimentRun","updateTime","cleanRunData","scrollToBottom","logfile","lastModified","timeStamp","logitems","JobMonitor","getExperimentPkl","cleanPklData","loadingPkl","pklchanges","notificationTitleGraph","setNotificationTitleGraph","onClose","onPermissionDenied","console","log","JobMonitorTree","getExperimentTreePkl","cleanPklTreeData","loadingTreePkl","pkltreechanges","notificationTitleTree","setNotificationTitleTree","Navigator","navToLatest","onLatest","statusCode","latest","htmlFor","BarChart","svgElement","setSvgElement","element","filterCount","metrics","helperId","svgHeight","max","svgWidth","numBars","padding","totalBarHeight","singleBarHeight","doubleBarHeight","tripleBarHeight","d3","property","yScaleQueue","domain","range","tooltip","append","classed","svgEl","addBars","ignoredMetrics","maxDomain","d","parseInt","parseFloat","completedQueueTime","failedQueueTime","xScaleQueue","intDomain","xAxis","tickSize","tickValues","Array","tickFormat","tickSizeOuter","xAxisTop","attr","call","groupsEnter","selectAll","enter","colorMetric","calculateBarHeight","validValues","sequantialIndex","transition","duration","ease","showTooltip","hideTooltip","pageX","pageY","html","metric","_barCount","barCount","onClickFilter","currentChecked","currentValue","ignoreMetrics","remove","xtitle","checked","handleBarChart","queueFilter","defaultChecked","runFilter","failedQueueFilter","failedRunFilter","failedAttemptFilter","baseProfile","xmlns","StatsSearch","StatsContext","statdata","isError","filterAppliedCount","filteredStatdata","timeframe","summaryHeader","From","To","filteredStats","countsSummaryTable","CPUconsumptionTable","consumptionTable","StatsControl","getExperimentStats","applyRegExToJobDataSet","regularExpression","setRegExp","hour","setHour","setSection","min","GraphNodeSelection","AlertTotal","alertMessage","totalCount","JobSearcher","searchJobInGraph","foundNodes","loadingSearchJob","navigateTo","displayJobInfoPanel","setJobInfoPanelVisibility","jobId","setJobId","currentIndex","setCurrentIndex","onSetDisplayPanel","onNext","nextIndex","max_children","max_parents","TreeNodeSelection","updateTreeSelectedNodes","JobFilter","filterTreeView","loadingFilterTree","clearFilterTreeView","returnFilter","filterString","setFilterString","clearText","autoComplete","reference","WrapperList","wrapperTitles","wrapperItems","JobSummary","sourceNodes","groupedNodes","sourceData","columns","ExportAggregated","Section","Count","SumQueue","AverageQueue","SumRun","AverageRun","ExportDetail","Name","Status","SelectionControl","activateSelectionMode","deactivateSelectionMode","setStartSelection","GraphControl","loadingJobMonitor","getLogStatus","logTimeDiff","currentLog","getExperimentGraph","setAutoUpdatePkl","startAutoUpdatePkl","enabledGraphSearch","warningActive","setWarningActive","warningMessage","disableQuery","onSubmitGraph","grouped","LogControl","startAutoUpdateRun","setAutoUpdateRun","TreeControl","getExperimentTree","enabledTreeSearch","loadingTreeRefresh","setAutoUpdateTreePkl","disabledQuery","LighterControl","getLighterView","queueCount","runCount","currentCount","filterLighterTreeView","loadingFilterTreeView","clearLighterFilterTreeView","onFilterStatus","statusString","labelButton","labelToolTip","PerformanceControl","getExperimentPerformanceMetrics","loadingPerformance","performancedata","TimeScatterPlot","colorScale","JPSY","uniqueId","attribute","mainTitle","getTimeInCorrectMeasure","maxValue","getTimeSeconds","chosenAttrib","maxTime","yScale","xScale","yAxis","handleScatterPlot","applyLegendPlot","MetricScatterPlot","attributeX","attributeY","titleX","Performance","performanceDisplayPlots","setPerformanceDisplay","RSYPD","Parallelization","CHSY","considered","arrSYPDdata","arrASYPDdata","arrCHSY","arrJPSYdata","consideredJPSY","maxJPSY","maxASYPD","JPSYdivisor","JPSYtitleX","onChangePlotDisplay","displayKey","keyChecked","checkJPSYvsCHSY","checkJPSYvsSYPD","checkJPSYvsASYPD","checkSYPDvsASYPD","checkCHSYvsSYPD","checkCHSYvsASYPD","checkRunVsSYPD","checkRunVsCHSY","checkQueueRunVsASYPD","warnings_job_data","ReadyJobs","classCard","ConfigurationControl","requestCurrentConfiguration","currentConfiguration","clearCurrentConfigurationData","action","CurrentConfiguration","configDifferences","messageAreEqual","areEqual","currentRunConfiguration","configurationCurrentRun","currentFileSystemConfiguration","configurationFileSystem","messageNoInformation","alertDifferenceSpan","warning","aria-selected","exp","platforms","proj","experimentMinStyle","minHeight","withRouter","match","resolve_action","focus_graph","focus_lighter","classTree","classGraph","classLighter","classTabTree","classTabGraph","classTabLighter","loadingRun","getExperiment","getRunningState","updateCurrentSelectedGraph","updateCurrentSelectedTree","cleanExperimentData","treeReady","setVisData","visNetwork","graphReady","currentData","Search","specificSearch","searchExperimentsByOwner","experiments","currentExpTypeChoice","currentActiveCheck","setTypeExperiment","setActiveChoice","typeExperiment","activeChoice","onChangeType","inputType","orderExperimentsInResult","simpleInput","complexInput","setAlert","getCurrentRunning","getSummaries","clearExperiments","ExperimentItem","isLoading","getExperimentSummary","summaries","disabledMore","n_failed","onGetSummary","avg_queue_time","avg_run_time","sim_queue_considered","n_sim","avg_sim_queue_time","avg_sim_run_time","sim_run_considered","n_running","n_queuing","n_submitted","n_suspended","overflow","maxHeight","failed_jobs","Pagination","numbers","numberPages","currentPage","setCurrentPage","contentNavigation","hidden","number","showingText","Experiments","loadingSummary","experimentsInPage","currentOrderType","activeInactiveFilter","typeFilter","currentSearchString","onOrderBy","orderType","filteredCount","loadingSummaries","Home","values","queryString","search","Login","getVerifyTicket","ticket","onVerify","onCASLogin","_target","setTimeout","Profile","footerStyle","Footer","SEARCH_EXPERIMENTS","GET_EXPERIMENT","CLEAR_EXPERIMENTS","SET_LOADING","SET_LOADING_GRAPH","SET_LOADING_TREE","SET_OFF_LOADING_TREE","SET_LOADING_SUMMARY","SET_ALERT","REMOVE_ALERT","GET_GRAPH","GET_TREE","CLEAN_GRAPH_DATA","CLEAN_TREE_DATA","CLEAN_RUN_DATA","UPDATE_SELECTION","GET_EXPERIMENT_RUN","GET_JOB_LOG","SET_LOADING_RUN","SET_AUTOUPDATE_RUN","SET_LOADING_JOB_MONITOR","SET_LOADING_TREE_REFRESH","GET_PKL_DATA","SET_LOADING_PKL","SET_LOADING_TREE_PKL","SHOULD_UPDATE_GRAPH","SET_AUTOUPDATE_PKL","SET_AUTOUPDATE_TREE_PKL","CLEAN_PKL_DATA","CLEAN_TREE_PKL_DATA","UPDATE_EXPERIMENT_TS","SET_VIS_DATA","SET_VIS_NETWORK","GET_EXPERIMENT_STATS","CLEAR_STATS","SET_FOUND_NODES","SET_LOADING_SEARCH_JOB","SET_LOADING_STATE","CLEAN_NAV_DATA","GET_RUNNING_STATE","SET_FANCYTREE","FILTER_TREEVIEW","SET_LOADING_FILTER","UPDATE_SELECTION_TREE","CLEAR_FILTER_TREE","CURRENT_RUNNING","PKL_TREE_LOADED","CLEAN_ONLY_GRAH_DATA","GET_EXPERIMENT_SUMMARY","CLEAR_SUMMARY_EXP","GET_EXPERIMENT_PERFORMANCE","CLEAN_PERFORMANCE_METRICS","ACTIVATE_SELECTION_MODE","DEACTIVATE_SELECTION_MODE","UPDATE_SELECTED_JOBS","REMOVE_SELECTED_JOB","SET_CURRENT_COMMAND","SET_CURRENT_TEXT_COMMAND","NAVIGATE_TO_LATEST","NAVIGATE_AFTER_LOADING_GRAPH","NAVIGATE_GRAPH_TO","NAVIGATE_TO_GROUP_GRAPH","SET_START_TREE_SELECTION","UPDATE_GRAPH_SELECTED_NODES","UPDATE_TREE_SELECTED_NODES","SET_NOTIFICATION_TITLE_TREE","SET_NOTIFICATION_TITLE_GRAPH","INCREASE_LOADING_TREE","CLEAN_EXPERIMENT_DATA","SET_OFF_LOADING_GRAPH","SET_CURRENT_UPDATE_DESCRIP_COMMAND","GET_LOG_RUNNING_DATA","SET_WARNING_ACTIVE","GET_LIGHTER_VIEW","SET_LOADING_LIGHTER_VIEW","CLEAN_LIGHTER_VIEW_DATA","SET_LIGHTER_FANCY_TREE","FILTER_LIGHTER_TREE_VIEW","SET_LOADING_FILTER_LIGHTER_TREE_VIEW","CLEAR_LIGHTER_FILTER","INCREASE_LOADING_QUICK_VIEW","LOADING_PERFORMANCE_METRICS","SET_PERFORMANCE_DISPLAY","GET_JOB_HISTORY","LOADING_JOB_HISTORY","LOADING_EXPERIMENT_RUNS","GET_EXPERIMENT_RUNS","GET_EXPERIMENT_RUN_JOBDATA","LOADING_PREVIOUS_RUN","GET_FILE_STATUS","CLEAN_FILE_STATUS_DATA","VERIFY_TOKEN_DATA","SET_LOGGED_USER","UPDATE_DESCRIPTION_OWN_EXP","SEARCH_BY_OWNER","GET_CURRENT_CONFIGURATION","CLEAR_CURRENT_CONFIGURATION_DATA","TEST_TOKEN","SET_JOB_INFO_PANEL_VISIBILITY","SET_PAGINATED_RESULT","SET_CURRENT_PAGE","ORDER_EXPERIMENTS_RESULT","APPLY_FILTER","SET_FILTER_CHART","state","currentDifferences","payload","loadingExperimentRuns","searchText","expType","activeCheck","orderedByDescription","currentResult","activeInactive","currentTypeFilter","localeCompare","pageSetup","whichAnimal","random","set","summary","delete","performanceData","arraJPSYnoZeroes","obj","j_i","s_i","a_i","c_i","currentPerformanceDisplaySettings","plot","existingJob","current","timediff","log_path","authenticated","auth","ceil","resultCount","pageResultCount","historicalConf","currentConf","file","header","historicalFileHeader","field","add","fileFileHeader","head","differenceBetweenConfigurations","ExperimentState","initialState","Map","allowJobMonitor","useReducer","ExperimentReducer","dispatch","localserver","setLoading","simpleExpType","axios","get","headers","Authorization","catch","res","setPaginatedResult","job_name","setLoadingJobHistory","setLoadingExperimentRuns","last","pop","authdata","clearSummary","setLoadingSummary","cleanPerformanceMetrics","setLoadingPerformanceMetrics","setLoadingRun","iserror","setLoadingState","defaultResult","defaultResponse","are_equal","configuration_current_run","contains_nones","configuration_filesystem","warning_message","post","summExpid","Provider","experimentRunDetailForTree","exp_name","updateExperimentTimeStamp","pageNumber","navigateGraph","Id","posx","posy","cScale","moveTo","position","scale","animation","selectNodes","addFakeEdge","id_edge","nodesIn","_data","updateEdgeStyle","idEdge","updateGraphBorder","idChange","updateGraphColor","newColor","updateGraphShape","currentPosition","currentLevel","latestId","level","MAX_VALUE","getPositions","findIdinGraph","resdata","current_layout","retrievedPkl","has_changed","pkl_content","kjob","current_jobs","colorChanges","shapeChanges","edgeUpdates","new_fakeEdges","changes","changesSummarized","pkl_packages","current_packages","pkl_package","index_i","next","requireUpdate","jobPkl","children_current","child","key_shape","key_edge","key_added","pkldata","IdList","unselectAll","currentLength","rescale","visNodes","string","toUpperCase","isNegation","fields","stringTest","found_index","searchString","currentSelectedNodes","getSelectedNodes","canCopyToClipboard","GraphState","GraphReducer","activeWarning","cleanOnlyGraphData","setLoadingGraph","setOffLoadingGraph","setLoadingPkl","setLoadingJobMonitor","setLoadingSearchJob","setUpdateGraph","currentSelection","notification","buildRunTitle","meta","jobs_number_completed","runTitle","retrievedPklTree","currentJobs","referenceHeaders","currentPackages","completed_tag","running_tag","queuing_tag","failed_tag","check_mark","cjob","ijob","is_change_status","new_status","old_status","tree_parent_wrapper","tree_parents","wrapper_code","wrapper_id","newTitle","source_tag","target_tag","sync","sync_tag","wrapper_tag","thenode","getNodesByRef","thenode_i","setTitle","wrapper_parent","found_child","index_j","parent","header_data","new_completed_tag","new_check_mark","new_running_tag","new_queuing_tag","new_failed_tag","theparent","new_title","packages_from_pkl","package_pkl","wrapper_pre_title","header_wrapper","children_jobs","wrapper_title","getRootNode","addChildren","expanded","completed_jobs","count","filterNodes","string_test","returnFiler","clearFilter","activeNode","rootNode","TreeState","TreeReducer","setLoadingTree","setOffLoadingTree","setLoadingTreePkl","setLoadingTreeRefresh","setLoadingPreviousRun","updateTreeContent","runDetail","setLoadingFilter","AlertState","AlertReducer","statistics","Statistics","JobStatistics","Period","displayJobStatistics","trim","totalData","re","RegExp","filteredDataSet","test","newStatData","backupdata","StatsState","StatsReducer","filterBarChart","tree_view","firstCurrentData","IsValidResponse","validItemCount","baseData","lightFancyTree","LighterState","LighterReducer","setLoadingLighterView","setLoadingFilterLighterTreeView","ProtectedRoute","component","rest","render","App","exact","path","ExperimentCentral","ReactDOM","getElementById","webpackEmptyContext","req","Error","resolve","module","exports"],"mappings":"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","file":"static/js/main.0fbed5c1.chunk.js","sourcesContent":["export const AUTOSUBMIT_API_SOURCE = \"https://earth.bsc.es/autosubmitapi\";\n// export const AUTOSUBMIT_API_SOURCE = \"http://84.88.185.94:8081\";\nexport const DEBUG = false;\nexport const NOAPI = false;\nexport const SHOW_PERFORMANCE_TAB = true;\nexport const rootAppName = \"autosubmittest\";\nexport const ERROR_MESSAGE =\n \"Autosubmit API couldn't retrieve the requested information on time. It might be due to a network error or heavy traffic on the shared folders that Autosubmit uses to store experiment information (/esarchive/autosubmit/).\";\n\nexport const WaitingCode = 0;\nexport const FailedCode = -1;\nexport const CompletedCode = 5;\nexport const RunningCode = 4;\nexport const QueueCode = 3;\nexport const SubmittedCode = 2;\nexport const UnknownCode = -2;\nexport const SuspendedCode = -3;\nexport const HoldCode = 6;\nexport const ReadyCode = 1;\nexport const PreparedCode = 7;\nexport const SkippedCode = 8;\n\nexport const UpperLimitQuickView = 200;\n\nexport const maxReponseTimeThreshold = 240; // 4 minutes\nexport const quickThreshold = 12000;\n\nexport const latestNewsLabel = \"new-11-10-2021\";\n\nexport const queueColor = {\n background: \"lightpink\",\n fontWeight: \"bold\",\n};\nexport const failedColor = {\n background: \"red\",\n fontWeight: \"bold\",\n color: \"white\",\n};\nexport const completedColor = {\n background: \"yellow\",\n fontWeight: \"bold\",\n};\nexport const submittedColor = {\n background: \"cyan\",\n fontWeight: \"bold\",\n};\nexport const runningColor = {\n background: \"green\",\n fontWeight: \"bold\",\n color: \"white\",\n};\nexport const readyColor = {\n background: \"lightblue\",\n fontWeight: \"bold\",\n};\nexport const waitingColor = {\n background: \"gray\",\n fontWeight: \"bold\",\n color: \"white\",\n};\nexport const unknownColor = {\n background: \"white\",\n color: \"black\",\n fontWeight: \"bold\",\n};\nexport const suspendedColor = {\n background: \"orange\",\n fontWeight: \"bold\",\n color: \"black\",\n};\nexport const holdColor = {\n background: \"salmon\",\n fontWeight: \"bold\",\n color: \"white\",\n};\nexport const preparedColor = {\n background: \"lightsalmon\",\n fontWeight: \"bold\",\n};\nexport const skippedColor = {\n background: \"lightyellow\",\n fontWeight: \"bold\",\n};\n\nexport const failedQueueColor = \"lightSalmon\";\nexport const failedRunAttempts = \"#ff6666\";\nexport const runStatColor = \"#40bf40\";\n\nexport const statusCodeToStyle = (code) => {\n if (code === WaitingCode) return waitingColor;\n if (code === FailedCode) return failedColor;\n if (code === CompletedCode) return completedColor;\n if (code === RunningCode) return runningColor;\n if (code === QueueCode) return queueColor;\n if (code === SubmittedCode) return submittedColor;\n if (code === UnknownCode) return unknownColor;\n if (code === SuspendedCode) return suspendedColor;\n if (code === HoldCode) return holdColor;\n if (code === ReadyCode) return readyColor;\n if (code === PreparedCode) return preparedColor;\n if (code === SkippedCode) return skippedColor;\n return unknownColor;\n};\n\nexport const localStorageExperimentTypeSearch = \"experimentTypeSearch\";\nexport const localStorageExperimentActiveCheck = \"activeCheckSearch\";\n\nexport const pageSize = 12;\n\nexport const orderByType = {\n total: \"Total Number of Jobs\",\n total_asc: \"Total Number of Jobs (Asc)\",\n completed: \"Number of Completed Jobs\",\n completed_asc: \"Number of Completed Jobs (Asc)\",\n name: \"Name of Experiment\",\n name_asc: \"Name of Experiments (Asc)\",\n queuing: \"Number of Queuing Jobs\",\n running: \"Number of Running Jobs\",\n failed: \"Number of Failed Jobs\",\n wrapper: \"Name of Wrapper\",\n showOnlyActive: \"Only Active\",\n showAllActiveInactive: \"Active & Inactive\",\n radioExperiments: \"Only Experiments\",\n radioTests: \"Only Tests\",\n radioAll: \"Experiments & Tests\",\n};\n\nexport const simpleExperimentType = {\n Experiment: \"experiment\",\n Test: \"test\",\n All: \"all\",\n};\n\nexport const simpleActiveStatus = {\n All: \"all\",\n Active: \"active\",\n};\n\nexport const complexTypeExperimentToSimple = (complex) => {\n switch (complex) {\n case orderByType.radioExperiments:\n return simpleExperimentType.Experiment;\n case orderByType.radioTests:\n return simpleExperimentType.Test;\n case orderByType.radioAll:\n default:\n return simpleExperimentType.All;\n }\n};\n\nexport const complexActiveStatusToSimple = (complex) => {\n switch (complex) {\n case orderByType.showAllActiveInactive:\n default:\n return simpleActiveStatus.All;\n case orderByType.showOnlyActive:\n return simpleActiveStatus.Active;\n }\n};\n\nexport const simpleActiveStatusToComplex = (simple) => {\n switch (simple) {\n case simpleActiveStatus.All:\n return orderByType.showAllActiveInactive;\n case simpleActiveStatus.Active:\n return orderByType.showOnlyActive;\n default:\n return null;\n }\n};\n\nexport const simpleTypeToComplex = (simple) => {\n switch (simple) {\n case simpleExperimentType.Experiment:\n return orderByType.radioExperiments;\n case simpleExperimentType.Test:\n return orderByType.radioTests;\n case simpleExperimentType.All:\n return orderByType.radioAll;\n default:\n return null;\n }\n};\n\nexport const defaultPerformanceDisplaySettings = {\n JPSYvsCHSY: false,\n JPSYvsSYPD: false,\n JPSYvsASYPD: false,\n SYPDvsASYPD: false,\n CHSYvsSYPD: false,\n CHSYvsASYPD: false,\n RunVsSYPD: false,\n RunVsCHSY: false,\n QueueRunVsASYPD: false,\n};\n","import { createContext } from 'react';\n\nconst experimentContext = createContext();\n\nexport default experimentContext;\n","import React, { Fragment } from 'react';\nimport spinner from './spinner.gif';\n\nconst Spinner = () => \n \"Loading...\"\n \n\nexport default Spinner\n","export default \"data:image/gif;base64,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\"","import { createContext } from \"react\";\n\nconst treeContext = createContext();\n\nexport default treeContext;\n","import React from 'react';\nexport const timeStampToDate = (value) => {\n //console.log('Setting new format: ' + value);\n let formattedDate = \"\";\n let date = new Date(value * 1000);\n //const offsetAtBSC = -3600; \n //const timezoneFixedValue = value + (date.getTimezoneOffset()* 60) - offsetAtBSC;\n // date = new Date(timezoneFixedValue * 1000)\n let hours = date.getHours();\n let minutes = \"0\" + date.getMinutes();\n let seconds = \"0\" + date.getSeconds();\n let month = date.getMonth() + 1;\n let day = date.getDate();\n // console.log(date.toLocaleDateString())\n formattedDate =\n \"[\" +\n day +\n \"/\" +\n month +\n \"] \" +\n hours +\n \":\" +\n minutes.substr(-2) +\n \":\" +\n seconds.substr(-2);\n // formattedDate = date.toISOString();\n // console.log(formattedDate);\n return formattedDate;\n};\n\nexport const hashCode = (value) => {\n let hash = 0,\n i,\n chr;\n if (value.length === 0) return hash;\n for (i = 0; i < value.length; i++) {\n chr = value.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0; // Convert to 32bit integer\n }\n // console.log(hash);\n return hash;\n};\n\nexport const commandGeneratorGraph = (expid, jobs, status) => {\n let command = \"Invalid Command: You have to select at least one job.\";\n //jobs.map((job) => arrayNames.push(job.name));\n if (jobs.length > 0) {\n command =\n \"autosubmit setstatus \" +\n expid +\n ' -fl \"' +\n jobs.join(\" \") +\n '\" -t ' +\n status +\n \" -s -nt -np\";\n }\n return command;\n};\n\nexport const commandGeneratorUpdateDescrip = (expid, description) => {\n let command = \"Not a valid experiment.\";\n if (expid) {\n command = \"autosubmit updatedescrip \" + expid + \" '\" + description + \"'\";\n }\n return command;\n}\n\nexport const commandGenerator = (expid, jobs, status) => {\n let arrayNames = [];\n //let command = \"Invalid Command: You have to select at least one job.\";\n jobs.map((job) => arrayNames.push(job.name));\n\n return commandGeneratorGraph(expid, arrayNames, status);\n};\n\nexport const statusChangeTextGeneratorGraph = (jobs, status) => {\n let command = \"You have to select at least one job.\";\n //jobs.map((job) => arrayNames.push(job.name));\n if (jobs.length > 0) {\n command = jobs.join(\" \" + String(status) + \"\\n\");\n command = command + \" \" + String(status);\n }\n return command;\n}\n\nexport const statusChangeTextGenerator = (jobs, status) => {\n let arrayNames = [];\n jobs.map((job) => arrayNames.push(job.name));\n return statusChangeTextGeneratorGraph(arrayNames, status);\n}\n\nexport const secondsToDelta = (SECONDS) => {\n if (SECONDS > 0) {\n let sec_num = SECONDS; // don't forget the second param\n let days = Math.floor(sec_num / (3600 * 24));\n let hours = Math.floor((sec_num - days * (3600 * 24)) / 3600);\n let minutes = Math.floor((sec_num - days * (3600 * 24) - hours * 3600) / 60);\n let seconds = sec_num - days * (3600 * 24) - hours * 3600 - minutes * 60;\n\n // if (days < 10){\n // days = \"0\" + days;\n // }\n //console.log(days + \"-\" + hou);\n if (hours < 10) {\n hours = \"0\" + hours;\n }\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n\n return (days > 0 ? days + (days > 1 ? \" days - \" : \" day - \") : \"\") + hours + \":\" + minutes + \":\" + seconds;\n } else {\n return \"00:00:00\";\n }\n};\n\nlet startTime, endTime;\n\nexport const start = () => {\n startTime = new Date();\n};\n\nexport const end = () => {\n endTime = new Date();\n let timeDiff = endTime - startTime; //in ms\n // strip the ms\n timeDiff /= 1000;\n\n // get seconds\n let seconds = Math.round(timeDiff);\n console.log(seconds + \" seconds\");\n};\n\nexport const approximateLoadingTreeTime = (x) => {\n if (x <= 1000) return 1;\n if (x > 1000 && x <= 1600) return 5;\n let y = Math.round(0.02 * x - 30);\n return y;\n};\n\nexport const approximateLoadingQuickView = (x) => {\n if (x <= 2000) return 1;\n let y = Math.round(0.005 * x - 37);\n return y;\n};\n\nexport const exportSummaryToCSV = (data, columnNames, title) => {\n let date = new Date();\n title = date.getFullYear().toString() + \"-\" + date.getMonth() + \"-\" + date.getDate() + \"_\" + date.getHours() + \"-\" + date.getMinutes() + \"_\" + title;\n let csvContent = \"data:text/csv;charset=utf-8,\";\n csvContent += columnNames.join(\",\") + \"\\n\";\n if (data) {\n let mapped = []\n if (columnNames.length === 4) {\n data.map((item) => mapped.push([item[columnNames[0]], item[columnNames[1]], item[columnNames[2]], item[columnNames[3]]]));\n } else if (columnNames.length === 6) {\n data.map((item) => mapped.push([item[columnNames[0]], item[columnNames[1]], item[columnNames[2]], item[columnNames[3]], item[columnNames[4]], item[columnNames[5]]]));\n }\n csvContent += mapped.map((item) => item.join(\",\")).join(\"\\n\");\n }\n let encodedUri = encodeURI(csvContent);\n let link = document.createElement(\"a\");\n link.setAttribute(\"href\", encodedUri);\n link.setAttribute(\"download\", title);\n document.body.appendChild(link); // Required for FF\n link.click();\n}\n\nexport const exportHistoryToCSV = (data, columnNames, title) => {\n\n let date = new Date();\n title = date.getFullYear().toString() + \"-\" + date.getMonth() + \"-\" + date.getDate() + \"_\" + date.getHours() + \"-\" + date.getMinutes() + \"_\" + title;\n let csvContent = \"data:text/csv;charset=utf-8,\";\n csvContent += columnNames.join(\",\") + \"\\n\";\n if (data) {\n let mapped = []\n data.map((item) => mapped.push([item.counter, item.job_id, item.submit, item.start, item.finish, item.queue_time, item.run_time, item.status, item.energy, item.wallclock, item.ncpus, item.nodes]));\n csvContent += mapped.map((item) => item.join(\",\")).join(\"\\n\");\n }\n let encodedUri = encodeURI(csvContent);\n let link = document.createElement(\"a\");\n link.setAttribute(\"href\", encodedUri);\n link.setAttribute(\"download\", title);\n document.body.appendChild(link); // Required for FF\n link.click();\n}\n\nexport const sleep = (ms) => {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\nexport const getReadyJobs = (jobs) => {\n if (jobs) {\n const readyJobs = jobs.filter(x => x.status === 'READY');\n const jobArray = [];\n readyJobs.map((item) => jobArray.push({ name: item.id, status: item.status }));\n if (jobArray.length > 0) {\n return jobArray;\n } else {\n return null;\n }\n\n }\n return null;\n}\n\nexport const getIFActiveJobs = (jobs) => {\n if (jobs) {\n const activeJobs = jobs.filter(x => x.status === \"QUEUING\" || x.status === \"SUBMITTED\" || x.status === \"RUNNING\");\n if (activeJobs.length > 0) {\n return true;\n } else {\n return false;\n }\n }\n return false;\n}\n\n\n\nexport const groupBy = (arrayObjects, key) => {\n return arrayObjects.reduce(function (result, currentObject) {\n const val = currentObject[key];\n result[val] = result[val] || [];\n result[val].push(currentObject);\n return result;\n }, {})\n}\n\nexport const groupByAndAggregate = (arrayObjects, key) => {\n const groupedBySection = groupBy(arrayObjects, key);\n let result = []\n // console.log(groupedBySection);\n // console.log(typeof groupedBySection);\n // for (let section in groupedBySection)\n // console.log(section);\n if (groupedBySection) {\n for (let sectionName in groupedBySection) {\n let queueSum = 0;\n let runSum = 0;\n // console.log(sectionName);\n groupedBySection[sectionName].forEach((itemJob) => {\n queueSum += itemJob.Queue;\n runSum += itemJob.Run;\n })\n let averageQueue = queueSum / groupedBySection[sectionName].length;\n averageQueue = Math.round(averageQueue);\n let averageRun = runSum / groupedBySection[sectionName].length;\n averageRun = Math.round(averageRun);\n result.push({ \"Section\": sectionName, \"SumQueue\": queueSum, \"AverageQueue\": averageQueue, \"SumRun\": runSum, \"AverageRun\": averageRun, \"Count\": groupedBySection[sectionName].length })\n }\n }\n return result;\n}\n\nexport const buildWarningInactiveMessageTree = (experimentRunning, timeDiff, logPath, jobs) => {\n let message = null;\n // console.log(\"Running \" + String(experimentRunning) + \" - TimeDiff \" + String(timeDiff) + \" LogPath \" + String(logPath));\n // NOT Active, and more than 10 minutes difference\n if (!experimentRunning && timeDiff > 600 && jobs) {\n const activeJobs = getIFActiveJobs(jobs);\n // console.log(\"Active jobs \" + String(activeJobs));\n if (activeJobs) {\n message = \"The log of your experiment has been inactive for an extended period of time while some jobs are still active. Verify that Autosubmit is still working. Review your log: \" + String(logPath);\n }\n }\n return message;\n}\n\nexport const errorEsarchiveStatus = {\n data: {\n \"avg_bandwidth\": null,\n \"avg_latency\": null,\n \"bandwidth_warning\": null,\n \"current_bandwidth\": null,\n \"current_latency\": null,\n \"datetime\": \"2021-04-19-13:50:04\",\n \"error\": true,\n \"error_message\": \"The server couldn't reach esarchive in a reasonable time. Some simple operations might be completed, but complex requests are likely to fail.\",\n \"latency_warning\": null,\n \"reponse_time\": 2,\n \"response_warning\": null,\n \"status\": \"OFFLINE\"\n }\n}\nexport const openIcon = ;\nexport const openIconHistory = ;\n\nexport const generateArrayOfNumbers = (numbers) => {\n return [...Array(numbers).keys()].slice(1);\n}\n\n\nexport const normalizeString = (input) => {\n if (input) return String(input);\n return \"\";\n}\n\nexport const normalizeInt = (input) => {\n if (input && input !== \"NA\") {\n return input;\n }\n return 0;\n}\n\nexport const creationDateToId = (strCreationDate, intRunId) => {\n // 2021-07-07-10:36:37\n // console.log(strCreationDate);\n // console.log(intRunId);\n if (strCreationDate === null || strCreationDate === undefined || strCreationDate.length === 0 || strCreationDate === \"NA\") {\n return \"NA\";\n }\n // console.log(strCreationDate);\n const creationDate = strCreationDate.split(\"-\");\n const timeDay = creationDate[3].split(\":\");\n const code = creationDate[0].substr(2, 2) + \"\" + creationDate[1] + \"\" + creationDate[2] + \"\" + timeDay[0] + \"\" + timeDay[1];\n return code;\n}\n\n/* \nFinds differences between configurations\n*/\nexport const differenceBetweenConfigurations = (historicalConf, currentConf) => {\n let differences = new Set();\n if (historicalConf && currentConf) {\n // First Level\n Object.keys(currentConf).forEach(file => {\n const historicalFile = Object.keys(historicalConf) ? Object.keys(historicalConf) : [];\n if (historicalFile.includes(file)) {\n // Second Level\n Object.keys(currentConf[file]).forEach(header => {\n const historicalFileHeader = Object.keys(historicalConf[file]) ? Object.keys(historicalConf[file]) : [];\n if (historicalFileHeader.includes(header)) {\n Object.keys(currentConf[file][header]).forEach(field => {\n const historicalFileHeaderField = Object.keys(historicalConf[file][header]) ? Object.keys(historicalConf[file][header]) : [];\n if (historicalFileHeaderField.includes(field)) {\n if (currentConf[file][header][field] !== historicalConf[file][header][field]) {\n differences.add(`${file}+${header}+${field}`);\n differences.add(`${file}+${header}`);\n differences.add(file);\n }\n } else {\n differences.add(`${file}+${header}+${field}`);\n differences.add(`${file}+${header}`);\n differences.add(file);\n }\n });\n } else {\n differences.add(`${file}+${header}`);\n differences.add(file);\n }\n const fileFileHeader = Object.keys(currentConf[file]) ? Object.keys(currentConf[file]) : [];\n // console.log(fileFileHeader);\n // console.log(historicalFileHeader); \n historicalFileHeader.forEach(head => {\n if (!fileFileHeader.includes(head)) differences.add(`${file}+${head}`);\n });\n });\n } else {\n differences.add(file);\n }\n });\n }\n // console.log(differences);\n return differences;\n}\n\nexport const generateConfigFileHtml = (conf, confName = \"name\", differences = new Set(), alertSpan = \"Differencia\") => {\n if (conf) {\n // console.log(conf);\n // console.log(differences);\n let htmlResult =
              \n
              \n {Object.keys(conf).map(v => (\n
              \n

              [{v}] {differences.has(`${confName}+${v}`) && alertSpan}

              \n \n \n \n \n \n \n \n \n {Object.keys(conf[v]).map(w => (\n \n \n \n \n ))}\n \n
              SettingValue
              {w} {differences.has(`${confName}+${v}+${w}`) && alertSpan}{conf[v][w]}
              \n
              \n ))}\n
              \n
              ;\n return htmlResult;\n }\n return null;\n}\n\nexport const arrayAverage = (arr) => {\n if (!arr || arr.length === 0) return 0.00;\n const sumArr = arr.reduce((accum, x) => {\n accum += x;\n return accum;\n })\n return arr.length > 0 ? (sumArr / arr.length) : 0.00;\n}\n\nexport const arrayVariance = (arr) => {\n const average = arrayAverage(arr);\n // console.log(arr.map(x => {\n // return Math.pow(x - average, 2);\n // }));\n const variance = arrayAverage(arr.map(x => {\n return Math.pow(x - average, 2);\n }));\n // console.log(variance);\n return variance;\n}\n\nexport const arrayStandardDeviation = (arr) => {\n return Math.sqrt(arrayVariance(arr));\n}\n\nexport const arrayMeanAbsoluteDeviationAroundMean = (arr) => {\n if (!arr || arr.length === 0) return 0.00;\n const mean = arrayAverage(arr);\n const madam = arrayAverage(arr.map(x => {\n return Math.abs(x - mean);\n }));\n return madam;\n}\n\nexport const formatNumberMoney = (money, integerFormat = false, decimals = 2) => {\n const moneyToFormat = money && Number.isFinite(money) ? money : 0.00;\n const floatFormat = moneyToFormat.toFixed(integerFormat === true ? 2 : decimals).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n if (integerFormat === false) {\n return floatFormat;\n } else {\n // Does it hold?\n return floatFormat.substr(0, floatFormat.length - 3);\n }\n\n}\n\nexport const calculateStatistics = (jobs) => {\n let jobsSubmittedCount = 0;\n let jobsRunCount = 0;\n let jobsCompletedCount = 0;\n let jobsFailedCount = 0;\n\n let expectedConsumption = 0.00;\n let realConsumption = 0.00;\n let failedRealConsumption = 0.00;\n\n let expectedCpuConsumption = 0.00;\n let cpuConsumption = 0.00;\n let failedCpuConsumption = 0.00;\n\n let totalQueueTime = 0.00;\n let cpuConsumptionPercentage = 0.00;\n\n jobs.forEach(job => {\n jobsSubmittedCount += job.submittedCount;\n jobsRunCount += job.retrialCount;\n jobsCompletedCount += job.completedCount;;\n jobsFailedCount += job.failedCount;\n\n expectedConsumption += job.expectedConsumption;\n realConsumption += job.realConsumption;\n failedRealConsumption += job.failedRealConsumption;\n\n expectedCpuConsumption += job.expectedCpuConsumption;\n cpuConsumption += job.cpuConsumption;\n failedCpuConsumption += job.failedCpuConsumption;\n\n totalQueueTime += job.completedRunTime + job.failedRunTime;\n });\n\n if (expectedCpuConsumption > 0) {\n cpuConsumptionPercentage = (cpuConsumption / expectedCpuConsumption) * 100;\n }\n\n return {\n jobsSubmittedCount: formatNumberMoney(jobsSubmittedCount, true),\n jobsRunCount: formatNumberMoney(jobsRunCount, true),\n jobsCompletedCount: formatNumberMoney(jobsCompletedCount, true),\n jobsFailedCount: formatNumberMoney(jobsFailedCount, true),\n expectedConsumption: formatNumberMoney(expectedConsumption),\n realConsumption: formatNumberMoney(realConsumption),\n failedRealConsumption: formatNumberMoney(failedRealConsumption),\n expectedCpuConsumption: formatNumberMoney(expectedCpuConsumption),\n cpuConsumption: formatNumberMoney(cpuConsumption),\n failedCpuConsumption: formatNumberMoney(failedCpuConsumption),\n totalQueueTime: formatNumberMoney(totalQueueTime),\n cpuConsumptionPercentage: formatNumberMoney(cpuConsumptionPercentage),\n }\n\n}","import React, { useContext } from \"react\";\nimport ExperimentContext from \"../context/experiment/experimentContext\";\nimport TreeContext from \"../context/tree/treeContext\";\nimport { openIconHistory, creationDateToId } from \"../context/utils\";\nimport { SHOW_PERFORMANCE_TAB } from \"../context/vars\";\n\nconst ExperimentRuns = () => {\n const experimentContext = useContext(ExperimentContext);\n const treeContext = useContext(TreeContext);\n const { experiment, experimentRuns, getExperimentRuns } = experimentContext;\n const { getExperimentRunJobData, fancyTree, startAutoUpdateTreePkl, loadingPreviousRun, currentRunIdOnTree } = treeContext;\n const { db_historic_version, expid } = experiment;\n\n const onGetExperimentRuns = (e) => {\n e.preventDefault();\n getExperimentRuns(expid);\n };\n\n const onGetExperimentRunDetail = (run_id, created, finished, completed, total) => (e) => {\n if (!fancyTree) {\n alert(\"The TreeView must be loaded before attempting to show previous runs.\")\n return;\n }\n if (startAutoUpdateTreePkl === true) {\n alert(\"Please stop the Job Monitor on the Tree View before querying for a previous run.\");\n return;\n }\n // console.log(\"Querying \" + run_id);\n e.preventDefault();\n const meta = { \"created\": created, \"finished\": finished, \"completed\": completed, \"total\": total };\n getExperimentRunJobData(expid, run_id, meta);\n }\n\n const dataTarget = \"runs-\" + expid;\n\n\n if (\n experiment &&\n db_historic_version &&\n db_historic_version >= 12\n ) {\n return (\n \n\n \n {openIconHistory}\n \n\n
              \n
              \n );\n } else {\n return null;\n }\n}\n\nexport default ExperimentRuns\n","import React, { useContext, useState } from 'react';\nimport ExperimentContext from \"../context/experiment/experimentContext\";\nimport { DEBUG } from \"../context/vars\";\nimport { commandGeneratorUpdateDescrip } from \"../context/utils\";\nconst DescriptionModal = () => {\n const experimentContext = useContext(ExperimentContext);\n\n const { \n experiment,\n currentUpdateDescripCommand,\n setCurrentUpdateDescripCommand,\n loggedUser,\n currentToken, \n updateDescription \n } = experimentContext;\n\n const [text, setText] = useState(\"\");\n\n\n\n const onChange = (e) => setText(e.target.value);\n\n let expid = null;\n \n if (experiment) expid = experiment.expid;\n\n const onGetUpdateCommand = (e) => {\n e.preventDefault();\n const command = commandGeneratorUpdateDescrip(expid, text ? text : \"New description\");\n setCurrentUpdateDescripCommand(command); \n copyContent(command);\n }\n\n const onSetNewDescription = (expid, new_description) => (e) => {\n e.preventDefault();\n updateDescription(expid, new_description)\n }\n\n const copyContent = (inputname) => {\n //e.preventDefault();\n DEBUG && console.log(\"Sending \" + inputname);\n window.copyTextToClipboard(inputname);\n };\n \n if (expid) {\n return (\n \n \n \n Change\n \n \n
        \n
        \n
        \n )\n } else {\n return null;\n }\n \n}\n\nexport default DescriptionModal\n","import React, { useContext } from \"react\";\nimport Spinner from \"../layout/Spinner\";\n// import { Link } from \"react-router-dom\";\nimport ExperimentContext from \"../context/experiment/experimentContext\";\nimport ExperimentRuns from \"./ExperimentRuns\";\nimport DescriptionModal from \"./DescriptionModal\";\n\nconst Experiment = ({ expidToken }) => {\n //console.log(expidToken);\n const experimentContext = useContext(ExperimentContext);\n const {\n loading,\n loadingState,\n experiment,\n experimentRunning,\n // getRunningState,\n } = experimentContext;\n //var interval;\n\n // useEffect(() => {\n // if (expidToken) {\n // // getExperiment(expidToken);\n // // getRunningState(expidToken);\n // // getExperimentTree(expidToken);\n // // getExperimentPerformanceMetrics(expidToken);\n // // const interval = setInterval(() => getRunningState(expidToken), 300000);\n // // return () => clearInterval(interval);\n // }\n\n // // eslint-disable-next-line\n // }, []);\n\n if (experiment === null) return ;\n\n const { expid, error, error_message } = experiment;\n\n if (loading) return Loading...;\n if (!experiment) return null;\n return (\n \n {expid} {/* {description}{\" \"} */}\n {error &&
        {error_message}
        }{\" \"}\n {loadingState && (\n LOADING...\n )}\n {experimentRunning && !loadingState && (\n ACTIVE\n )}\n {!experimentRunning && !loadingState && (\n INACTIVE\n )}\n  \n \n  \n \n
        \n );\n};\n\nexport default Experiment;\n","import React, { Component } from 'react'\n\nclass FileStatus extends Component {\n\n componentDidMount(){\n this.props.getFileStatus();\n this.interval = setInterval(() => this.props.getFileStatus(), 300000); // Every 300 seconds\n }\n\n componentWillUnmount() {\n this.props.cleanFileStatusData();\n clearInterval(this.interval);\n }\n\n render() {\n \n //console.log(this.props.esarchiveStatus);\n if (this.props.esarchiveStatus){\n const {\n avg_bandwidth,\n avg_latency,\n bandwidth_warning,\n current_bandwidth,\n current_latency,\n //datetime,\n error, \n error_message,\n latency_warning,\n reponse_time,\n response_warning,\n status,\n } = this.props.esarchiveStatus;\n\n // let badge_style = status === \"ONLINE\" ? \"badge badge-success\" : \"badge badge-secondary\";\n // let show_alert = false;\n const metrics_text = !error ? current_bandwidth.toFixed(2) + \" MB/s \" + current_latency.toFixed(2) + \" s\" : \"\";\n let span_alert = esarchive {metrics_text};\n if (error || status !== \"ONLINE\"){\n const message_pop = error ? error_message : \"Access to esarchive seems to be unstable at the moment.\";\n span_alert = esarchive unreachable;\n } else {\n if (bandwidth_warning || latency_warning || response_warning){\n //badge_style = \"badge badge-warning\"; \n //show_alert = true; \n const title_bandwidth_warn = bandwidth_warning ? \n String(bandwidth_warning) + \". Current bandwidth: \" + String(current_bandwidth.toFixed(2)) + \" MB/s. Average over last day: \" + String(avg_bandwidth.toFixed(2)) + \" MB/s.\" \n : \"\";\n const title_latency_warn = latency_warning ? \n \"\\n\" + String(latency_warning) + \". Current latency: \" + String(current_latency.toFixed(2)) + \"s. Average over last day: \" + String(avg_latency.toFixed(2)) + \"s.\" \n : \"\";\n const title_response_warn = response_warning ? \"\\n\" + String(response_warning) + \". Current response time: \" + String(reponse_time.toFixed(2)) + \" s.\" : \"\";\n \n \n const tootltip_title = title_bandwidth_warn + title_latency_warn + title_response_warn;\n span_alert = esarchive {metrics_text}\n }\n }\n \n \n return (\n \n {span_alert}\n \n \n )\n } else {\n return (Testing esarchive...);\n }\n \n }\n}\n\nexport default FileStatus\n","import React, { useContext, useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport { latestNewsLabel, NOAPI, rootAppName } from \"../context/vars\";\nimport ExperimentContext from \"../context/experiment/experimentContext\";\nimport Experiment from \"../experiment/Experiment\";\nimport FileStatus from \"../experiment/FileStatus\";\n\nconst Navbar = ({ icon, title }) => {\n const history = useHistory();\n const experimentContext = useContext(ExperimentContext);\n const {\n searchExperiments,\n experiment,\n cleanFileStatusData,\n getFileStatus,\n esarchiveStatus,\n loggedUser,\n setLoggedUser,\n testToken,\n } = experimentContext;\n const haveIReadTheNews = localStorage.getItem(latestNewsLabel);\n useEffect(() => {\n const user = localStorage.getItem(\"user\");\n const token = localStorage.getItem(\"token\");\n // console.log(user);\n // console.log(token);\n // console.log(loggedUser);\n if (user && token && !loggedUser) {\n setLoggedUser(user, token);\n }\n\n if (user && token && loggedUser) {\n testToken();\n }\n // eslint-disable-next-line\n }, [loggedUser, setLoggedUser]);\n\n // useEffect(() => {\n // testToken();\n // });\n\n const [text, setText] = useState(\"\");\n // const expid = match.params.expid;\n const submitSearch = (e) => {\n e.preventDefault();\n if (text !== \"\") {\n searchExperiments(text);\n history.push(`/${rootAppName}/`);\n }\n };\n let expid = null;\n if (experiment) {\n expid = experiment.expid;\n }\n const onChange = (e) => setText(e.target.value);\n\n const onLogout = (e) => {\n e.preventDefault();\n localStorage.removeItem(\"user\");\n localStorage.removeItem(\"token\");\n setLoggedUser(null, null);\n };\n\n return (\n \n );\n};\n\nNavbar.defaultProps = {\n title: \"Autosubmit Searcher\",\n icon: \"fas fa-home\",\n};\n\nNavbar.propTypes = {\n title: PropTypes.string.isRequired,\n icon: PropTypes.string.isRequired,\n};\n\nexport default Navbar;\n","import { createContext } from 'react';\n\nconst alertContext = createContext();\n\nexport default alertContext;\n","import React, { useContext } from 'react';\nimport AlertContext from '../context/alert/alertContext';\n\nconst Alert = () => {\n const alertContext = useContext(AlertContext);\n const { alert } = alertContext;\n return (\n alert !== null && (\n
        \n {alert.msg}\n
        \n )\n );\n};\n\nexport default Alert;\n","import React, { Fragment } from \"react\";\n\nconst About = () => {\n return (\n \n

        User Information

        \n {/*

        \n For user instructions visit our user guide{\" \"}\n \n User Guide\n \n .\n

        */}\n

        \n To request more information make a post in the issue{\" \"}\n \n Autosubmit User Documentation\n \n .\n

        \n

        Bugs and Requests

        \n

        \n If you find a bug or want to request some important feature, please open\n an issue at{\" \"}\n \n Autosubmit Issues\n \n .\n

        \n

        Version: 1.0.0-beta

        \n
        \n );\n};\n\nexport default About;\n","import React from 'react';\nimport { latestNewsLabel } from \"../context/vars\"\n\nconst News = () => {\n\n localStorage.setItem(latestNewsLabel, true);\n\n return (\n
        \n

        Updates

        \n
        \n
        \n

        11-10-2021

        \n
        \n The Statistics tab of your experiment has been improved.\n
          \n
        • To access these results you only have to press the Get Statistics button on the Statitics tab of your experiment. Optionally, you can provide a job type (section) and a number of hours to look into the past (this number determines the time range to query).
        • \n
        • The result includes a table that summarizes the completion of your experiment according to the number of jobs that have reached a revelant status. It also includes two tables that provide a measure of the resources spent by your experiment compared to the expected consumption.
        • \n
        • The module now includes two graphs: The first mesaures Queue time, Run time, Failed Queue time, and Failed Run time for the jobs in your experiments, in hours. The second graph shows the count of failed run attemps per job.
        • \n
        • You can filter the results using a regular expression. The graphs will only show those jobs that coincide with the regular expression. Then, a new column will be added next to the original results, this new columns shows the metrics for the jobs that coincide with the filter.
        • \n
        \n
        \n \n
        \n
        \n
        \n )\n}\n\nexport default News\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { rootAppName } from '../context/vars';\n\nconst NotFound = () => {\n return (\n
        \n

        Oops!

        \n

        Looks like you are lost. Better go back home.

        \n \n Back Home\n \n
        \n )\n}\n\nexport default NotFound\n","import React, { useContext } from \"react\";\n//import Spinner from \"../layout/Spinner\";\nimport ExperimentContext from \"../context/experiment/experimentContext\";\n//import TreeContext from \"../context/tree/treeContext\";\n\nconst ExperimentColumn = ({ expidToken, refTree }) => {\n //console.log(expidToken);\n const experimentContext = useContext(ExperimentContext);\n //const treeContext = useContext(TreeContext);\n const { loading, experiment, totalJobs } = experimentContext;\n //const { setExpectedLoadingTreeTime } = treeContext;\n\n if (experiment === null)\n return (\n
        \n
        \n
        \n {/*
        \n
        \n
        No data...
        \n
        \n
        */}\n
        \n
        \n
        \n );\n\n const {\n // expid,\n owner,\n owner_id,\n //path,\n //time_last_access,\n //time_last_mod,\n db_historic_version,\n version,\n //updateTime,\n branch,\n hpc,\n description,\n //isGrouped,\n } = experiment;\n\n const db_version = db_historic_version ? db_historic_version : \"NA\";\n //setExpectedLoadingTreeTime(totalJobs);\n\n if (loading)\n return (\n
        \n
        \n
        \n
        Loading...
        \n
        \n
        \n
        \n );\n\n return (\n
        \n
        \n
        \n
        \n
        \n
        \n {description}|\n \n Branch: {branch}\n \n |\n \n Hpc: {hpc}\n \n |\n \n Owner: {owner_id} {owner}{\" \"}\n \n |\n \n Version: {version}\n \n {/* |\n \n Modified: {time_last_mod}\n */}\n |\n \n DB: {db_version}\n \n |\n \n #Jobs: {totalJobs}\n \n
        \n
        \n
        \n
        \n
        \n
        \n );\n};\n\nexport default ExperimentColumn;\n","import React, { Component } from \"react\";\n// import vis from \"vis-network\";\nimport Spinner from \"../layout/Spinner\";\nimport vis from \"vis-network\";\nimport { DEBUG } from \"../context/vars\";\nclass GraphNativeRep extends Component {\n shouldComponentUpdate(nextProps, nextState) {\n if (this.props.shouldUpdateGraph === true) {\n //console.log(\"should Rerender\")\n return true;\n } else if (\n nextProps.data &&\n this.props.data &&\n nextProps.data.pkl_timestamp !== this.props.data.pkl_timestamp\n ) {\n //console.log(\"Rerendering\")\n return true;\n } else if (nextProps.loadingGraph !== this.props.loadingGraph) {\n //console.log(\"Render because changed loading\")\n return true;\n } else {\n //console.log(\"NO RERENDER\")\n return false;\n }\n }\n\n componentWillUnmount() {\n DEBUG && console.log(\"Unmounting Nav Rep\");\n this.props.cleanGraphData();\n this.props.clearStats();\n }\n\n render() {\n if (this.props.loadingGraph) return ;\n if (!this.props.data) {\n return (\n
        \n

        \n Press Classic to see the\n standard graph representation of the experiment.\n

        \n

        \n For the classic approach, the algorithm will first try to use\n graphviz, there are some constraints in place that try to identify\n those instances that could potentially make graphviz run forever. If\n an experiment is identified to be time-wise out of bounds for\n graphviz, it will be sent to the regular algorithm. Currently, the\n regular algorithm does not handle well wrappers; work is being done\n to developed a general algorithm.\n

        \n

        \n Press Date-Member to see the graph representation grouped by date-member.\n

        \n\n

        \n Press Status to see the graph representation grouped by status. FAILED jobs are not grouped.\n

        \n\n

        \n The button produces a graph representation based on 2nd and 3rd eigenvectors of the Laplacian Matrix of the Graph representation of your experiment. Could be interesting in some instances.\n

        \n\n {/*

        \n If the experiment instance cannot be handled by graphviz, then it\n would not be possible to group it. Again, work is being done to\n overcome this.\n

        */}\n

        \n If the experiment is{\" \"}\n RUNNING and the Graph\n has been rendered, press{\" \"}\n Start Job Monitor to start\n a live tracker of the changes on the experiment's jobs. This process\n will automatically update the graph's nodes colors and show a log of\n the detected changes.\n

        \n

        \n If there are any defined wrappers, they will be shown on the\n corresponding tab at the right side of the Graph. You can click on\n any member of that list and the nodes belonging to that wrapper will\n be highlighted.\n

        \n
        \n );\n }\n\n var nodes_array = [];\n var edges_array = [];\n const graphviz = this.props.data.graphviz;\n const groups = this.props.data.groups;\n const groups_data = this.props.data.groups_data;\n const current_grouped = this.props.current_grouped;\n\n if (this.props.data.nodes.length > 0 && this.props.data.edges !== null) {\n if (graphviz === true) {\n this.props.data.nodes.map((node) =>\n nodes_array.push({\n id: node.id,\n label: node.label,\n shape: node.shape,\n color: { background: node.status_color, border: \"black\" },\n status: node.status,\n // level: node.level, // receiving x and y from API\n // fixed: { x: true, y: true},\n x: node.x,\n y: node.y,\n shapeProperties: { borderDashes: node.dashed },\n })\n );\n } else {\n this.props.data.nodes.map((node) =>\n nodes_array.push({\n id: node.id,\n label: node.label,\n shape: node.shape,\n color: { background: node.status_color, border: \"black\" },\n status: node.status,\n //level: node.level,\n //y: node.level*80,\n shapeProperties: { borderDashes: node.dashed },\n // fixed: { x: true, y: true},\n x: node.x,\n y: node.y,\n // x: node.x * -90,\n // y: node.y * -100,\n })\n );\n }\n\n if (this.props.data.edges) {\n this.props.data.edges.map((edge) =>\n edges_array.push({\n id: edge.id,\n from: edge.from,\n to: edge.to,\n dashes: edge.dashed,\n background: {\n enabled: edge.is_wrapper,\n color: \"rgba(63, 191, 63, 0.5)\",\n },\n arrows: { to: { enabled: !edge.dashed } },\n })\n );\n }\n\n if (this.props.data.fake_edges) {\n this.props.data.fake_edges.map((edge) =>\n edges_array.push({\n id: edge.id,\n from: edge.from,\n to: edge.to,\n dashes: edge.dashed,\n background: {\n enabled: edge.is_wrapper,\n color: \"rgba(63, 191, 63, 0.5)\",\n },\n arrows: { to: { enabled: !edge.dashed } },\n })\n );\n }\n } else {\n return (\n
        \n

        Something has gone very wrong.

        \n

        {this.props.data.error_message}

        \n
        \n );\n }\n\n var nodes = new vis.DataSet(nodes_array);\n var edges = new vis.DataSet(edges_array);\n\n var shouldEdge = false;\n if (this.props.data.total_jobs <= 500) {\n shouldEdge = true;\n }\n const options = {\n autoResize: true,\n edges: {\n arrows: {\n to: { enabled: true },\n },\n },\n layout: {\n improvedLayout: false,\n hierarchical: {\n nodeSpacing: 190,\n blockShifting: false,\n edgeMinimization: shouldEdge,\n parentCentralization: true,\n sortMethod: \"hubsize\",\n direction: \"UD\",\n enabled: false,\n },\n },\n interaction: {\n dragNodes: true,\n hoverConnectedEdges: true,\n hideEdgesOnDrag: true,\n //hideEdgesOnZoom: true,\n multiselect: true,\n navigationButtons: true,\n },\n physics: {\n enabled: false,\n stabilization: {\n // Determines an initial layout; enabled by default\n enabled: true,\n iterations: 1000,\n },\n },\n nodes: {\n shape: \"dot\",\n font: {\n size: 17.5,\n },\n },\n };\n\n const graph = {\n nodes: nodes,\n edges: edges,\n };\n\n class VisNetwork extends Component {\n\n shouldComponentUpdate(nextProps, nextState) {\n if (this.props.shouldUpdateGraph === true) {\n DEBUG && console.log(\"Should rerender form inside\");\n return true;\n } else {\n //console.log(\"No RERENDER\")\n DEBUG && console.log(\"No rerender\");\n return false;\n }\n }\n\n componentDidMount() {\n let network = new vis.Network(\n this.refs.myRef,\n this.props.graph,\n this.props.options\n );\n const groups_data = this.props.groups_data;\n const current_grouped = this.props.current_grouped;\n\n this.props.setVisNetwork(network);\n\n network.on(\"select\", (params) => {\n if (params.nodes) {\n if (params.nodes.length === 1) {\n if (network.isCluster(params.nodes[0])) {\n } else {\n //console.log(params.nodes);\n this.props.updateSelection(params.nodes);\n // this.props.updateGraphSelectedNodes(params.nodes);\n this.props.updateCurrentSelected(\n params.nodes[0],\n this.props.data\n );\n }\n }\n // } else {\n // this.props.updateSelection(params.nodes);\n // }\n }\n });\n\n // network.on(\"stabilized\", () => {\n // this.props.navigateAfterLoadGraph(this.props.experimentRunning);\n // });\n\n network.on(\"doubleClick\", (params) => {\n if (params.nodes) {\n if (params.nodes.length === 1) {\n if (network.isCluster(params.nodes[0])) {\n var OpenClusterObj = {};\n OpenClusterObj.releaseFunction = function (\n clusterPosition,\n containedNodesPositions\n ) {\n return containedNodesPositions;\n };\n network.openCluster(params.nodes[0], OpenClusterObj);\n }\n }\n }\n });\n\n //network.enableEditMode();\n //console.log(this.props.isGraphViz);\n if (this.props.clusterGroups) {\n const groups = this.props.clusterGroups;\n if (current_grouped === \"date-member\") {\n let clusterOptionsByDateMember;\n for (let i = 0; i < groups.length; i++) {\n let startingName = groups[i];\n // if (positions[startingName]){\n // console.log(positions[startingName]);\n // }\n clusterOptionsByDateMember = {\n // eslint-disable-next-line no-loop-func\n joinCondition: function (options) {\n return options.id.startsWith(startingName);\n },\n processProperties: function (\n clusterOptions,\n childNodes,\n childEdges\n ) {\n let totalMass = 0;\n for (let i = 0; i < childNodes.length; i++) {\n totalMass += childNodes[i].mass;\n }\n clusterOptions.mass = totalMass;\n return clusterOptions;\n },\n clusterNodeProperties: {\n id: \"cluster:\" + startingName,\n borderWidth: 3,\n shape: \"box\",\n label: startingName.split(\"_\").join(\"\\n\"),\n color: groups_data[startingName].color,\n font: { size: 50 },\n x: groups_data[startingName].x,\n y: groups_data[startingName].y,\n },\n };\n network.clustering.cluster(clusterOptionsByDateMember);\n }\n } else if (current_grouped === \"date-member-chunk\") { \n let clusterOptionsByDateMemberChunk;\n for (let k = 0; k < groups.length; k++) {\n let startingName = groups[k];\n clusterOptionsByDateMemberChunk = {\n // eslint-disable-next-line no-loop-func\n joinCondition: function (options) {\n return options.id.startsWith(startingName);\n },\n processProperties: function (\n clusterOptions,\n childNodes,\n childEdges\n ) {\n let totalMass = 0;\n for (let i = 0; i < childNodes.length; i++) {\n totalMass += childNodes[i].mass;\n }\n clusterOptions.mass = totalMass;\n return clusterOptions;\n },\n clusterNodeProperties: {\n id: \"cluster:\" + startingName,\n borderWidth: 3,\n shape: \"box\",\n label: startingName.split(\"_\").join(\"\\n\"),\n color: groups_data[startingName].color,\n font: { size: 50 },\n x: groups_data[startingName].x,\n y: groups_data[startingName].y,\n },\n };\n network.clustering.cluster(clusterOptionsByDateMemberChunk);\n }\n } else if (current_grouped === \"status\") {\n var clusterOptionsByStatus;\n for (var j = 0; j < groups.length; j++) {\n var statusName = groups[j];\n // console.log(statusName);\n clusterOptionsByStatus = {\n // eslint-disable-next-line no-loop-func\n joinCondition: function (options) {\n // console.log(options);\n return (\n options.status === statusName && options.shape === \"dot\"\n );\n },\n processProperties: function (\n clusterOptions,\n childNodes,\n childEdges\n ) {\n var totalMass = 0;\n for (var i = 0; i < childNodes.length; i++) {\n totalMass += childNodes[i].mass;\n }\n clusterOptions.mass = totalMass;\n return clusterOptions;\n },\n clusterNodeProperties: {\n id: statusName,\n borderWidth: 3,\n shape: \"box\",\n label: statusName,\n color: groups_data[statusName].color,\n font: { size: 50 },\n },\n };\n network.clustering.cluster(clusterOptionsByStatus);\n }\n }\n }\n\n this.props.navigateAfterLoadGraph(this.props.experimentRunning);\n }\n\n componentWillUnmount() {\n DEBUG && console.log(\"Unmounting VisNetwork\");\n this.props.cleanNavData();\n }\n\n render() {\n return (\n
        \n
        \n
        \n );\n }\n }\n\n return (\n \n );\n }\n}\n\nconst experimentStyle = {\n height: 755,\n};\n\nexport default GraphNativeRep;\n","import { createContext } from \"react\";\n\nconst graphContext = createContext();\n\nexport default graphContext;\n","import React, { useContext } from \"react\";\nimport GraphContext from \"../context/graph/graphContext\";\nimport TreeContext from \"../context/tree/treeContext\";\nimport ExperimentContext from \"../context/experiment/experimentContext\";\nimport { DEBUG } from \"../context/vars\";\nimport { commandGenerator, commandGeneratorGraph, statusChangeTextGeneratorGraph, statusChangeTextGenerator } from \"../context/utils\";\n//import treeContext from \"../context/tree/treeContext\";\n\nconst CommandModal = ({ source, target }) => {\n const graphContext = useContext(GraphContext);\n const experimentContext = useContext(ExperimentContext);\n const treeContext = useContext(TreeContext);\n\n const {\n currentSelected,\n setCurrentCommand,\n setCurrentTextCommand,\n experiment,\n currentCommand,\n currentTextCommand,\n } = experimentContext;\n\n const { treeSelectedNodes, currentCommandTree, currentTextCommandTree, setCurrentTextCommandTree, setCurrentCommandTree } = treeContext;\n\n const {\n graphSelectedNodes,\n setCurrentCommandGraph,\n setCurrentTextCommandGraph,\n currentTextCommandGraph,\n currentCommandGraph,\n } = graphContext;\n let expid = null;\n if (experiment) {\n expid = experiment.expid;\n }\n const sourceSelection =\n source === \"graph-only\" ? graphSelectedNodes : (source === \"tree-only\" ? treeSelectedNodes : currentSelected);\n const sourceCommand =\n source === \"graph-only\" ? currentCommandGraph : (source === \"tree-only\" ? currentCommandTree : currentCommand);\n const sourceTextCommand = source === \"graph-only\" ? currentTextCommandGraph : (source === \"tree-only\" ? currentTextCommandTree : currentTextCommand);\n\n const invalidMessage =\n source === \"graph-only\"\n ? \"Invalid Selection: You have to select at least one job from the Graph. You can select multiple jobs.\"\n : \"Invalid Selection: You have to select at least one job.\";\n\n const setStatusTextCommand = (status) => (e) => {\n e.preventDefault();\n let command = \"\";\n if (source === \"graph-only\") {\n command = statusChangeTextGeneratorGraph(sourceSelection, status); \n copyContent(command);\n setCurrentTextCommandGraph(command);\n } else if (source === \"tree-only\"){ \n command = statusChangeTextGeneratorGraph(sourceSelection, status);\n copyContent(command);\n setCurrentTextCommandTree(command);\n } else { \n command = statusChangeTextGenerator(sourceSelection, status);\n copyContent(command);\n setCurrentTextCommand(command);\n }\n };\n\n\n const setStatusCommand = (status) => (e) => {\n e.preventDefault();\n let command = \"\";\n if (source === \"graph-only\") { \n command = commandGeneratorGraph(expid, sourceSelection, status);\n copyContent(command);\n setCurrentCommandGraph(command);\n } else if (source === \"tree-only\"){ \n command = commandGeneratorGraph(expid, sourceSelection, status);\n copyContent(command);\n setCurrentCommandTree(command);\n } else {\n command = commandGenerator(expid, sourceSelection, status);\n copyContent(command);\n setCurrentCommand(command);\n }\n };\n\n const copyContent = (inputname) => {\n //e.preventDefault();\n DEBUG && console.log(\"Sending \" + inputname);\n window.copyTextToClipboard(inputname);\n };\n\n let modalHeader =
        {invalidMessage}
        ;\n let modalHeader2 =
        {invalidMessage}
        ;\n\n if (sourceSelection && sourceSelection.length > 0) {\n modalHeader = (\n
        \n Set status to:{\" \"}\n
        \n \n Ready\n \n \n Waiting\n \n \n Completed\n \n \n Suspended\n \n \n Failed\n \n
        \n
        \n );\n\n modalHeader2 = (\n
        \n Generate file text:{\" \"}\n
        \n \n Ready\n \n \n Waiting\n \n \n Completed\n \n \n Suspended\n \n \n Failed\n \n
        \n
        \n );\n }\n return (\n
\n \n \n );\n};\n\nexport default CommandModal;\n","import React, { useContext, Fragment } from \"react\";\nimport ExperimentContext from \"../context/experiment/experimentContext\";\nimport CommandModal from \"./CommandModal\";\n\nconst SelectedJobs = ({ source, target }) => {\n //const util = require(\"util\");\n const experimentContext = useContext(ExperimentContext);\n const { currentSelected, removeSelectedJob, canSelect } = experimentContext;\n\n // const onSelectionMode = (e) => {\n // e.preventDefault();\n // activateSelectionMode();\n // //console.log(\"Sending \" + boolValue);\n // };\n\n // const offSelectionMode = (e) => {\n // e.preventDefault();\n // deactivateSelectionMode();\n // //console.log(\"Sending \" + boolValue);\n // };\n\n const removeSelected = (name) => (e) => {\n e.preventDefault();\n //console.log(\"Sending \" + inputname);\n removeSelectedJob(name);\n };\n\n if (canSelect === true) {\n return (\n \n
\n
\n \n Generate Command\n \n
\n
\n {currentSelected &&\n currentSelected\n .sort((a, b) => (a.name > b.name ? -1 : 1))\n .map((job) => (\n \n {job.name}\n \n ))}\n
\n
\n \n
\n );\n }\n return
;\n};\n\nexport default SelectedJobs;\n","export default __webpack_public_path__ + \"static/media/dogload.7fd39847.gif\";","export default __webpack_public_path__ + \"static/media/catload.d22d6312.gif\";","export default __webpack_public_path__ + \"static/media/platyload.ad32cb95.gif\";","import { createContext } from \"react\";\n\nconst lighterContext = createContext();\n\nexport default lighterContext;\n","import React, { useEffect, useContext } from \"react\";\nimport TreeContext from \"../context/tree/treeContext\";\nimport LighterContext from \"../context/lighter/lighterContext\";\nimport ExperimentContext from \"../context/experiment/experimentContext\";\nimport { maxReponseTimeThreshold } from \"../context/vars\";\n\nconst LoadingCounter = ({ loadsource }) => {\n //const { source_load } = source;\n //console.log(loadsource);\n const treeContext = useContext(TreeContext);\n const lighterContext = useContext(LighterContext);\n const experimentContext = useContext(ExperimentContext);\n const {\n expectedLoadingTreeTime,\n expectedLoadingQuickView,\n } = experimentContext;\n const { increaseElapsedLoadingTree, elapsedLoadingTree } = treeContext;\n const {\n increaseElapsedLoadingQuickView,\n elapsedLoadingQuickView,\n } = lighterContext;\n\n const increaseFunction =\n loadsource === \"tree\"\n ? increaseElapsedLoadingTree\n : increaseElapsedLoadingQuickView;\n const elapsedTime =\n loadsource === \"tree\" ? elapsedLoadingTree : elapsedLoadingQuickView;\n const approximatedTime =\n loadsource === \"tree\" ? expectedLoadingTreeTime : expectedLoadingQuickView;\n //const { expectedLoadingTreeTime } = experimentContext;\n const fetchMessage =\n loadsource === \"tree\"\n ? \"Fetching this tree view will take about \" +\n approximatedTime +\n \" seconds.\"\n : \"Loading this not-so-quick view will take about \" +\n approximatedTime +\n \" seconds.\";\n\n useEffect(() => {\n const interval = setInterval(() => {\n increaseFunction();\n }, 1000);\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n
\n {approximatedTime > maxReponseTimeThreshold && (\n

\n This experiment might be too heavy to fetch in due time. If an error\n message is prompted, try the Quick View.\n

\n )}\n

{fetchMessage}

\n
\n
\n
\n 0 && elapsedTime <= approximatedTime\n ? (elapsedTime / approximatedTime) * 100 + \"%\"\n : \"100%\",\n }}\n aria-valuenow={elapsedTime}\n aria-valuemin='0'\n aria-valuemax={approximatedTime}\n >\n {elapsedTime}\n
\n
\n
\n
\n \n );\n};\n\nexport default LoadingCounter;\n","import React, { useContext } from \"react\";\nimport dogload from \"./dogload.gif\";\nimport catload from \"./catload.gif\";\nimport platyload from \"./platyload.gif\";\nimport Spinner from \"./Spinner\";\nimport LoadingCounter from \"./LoadingCounter\";\nimport ExperimentContext from \"../context/experiment/experimentContext\";\n\nconst Loading = ({ source }) => {\n const experimentContext = useContext(ExperimentContext);\n const {\n expectedLoadingTreeTime,\n expectedLoadingQuickView,\n //increaseElapsedLoadingTree,\n //elapsedLoadingTree,\n animal,\n } = experimentContext;\n\n // useEffect(() => {\n // const interval = setInterval(() => {\n // increaseElapsedLoadingTree();\n // }, 1000);\n // return () => clearInterval(interval);\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, []);\n \n const expectedTime =\n source === \"tree\" ? expectedLoadingTreeTime : expectedLoadingQuickView;\n const gifload = source === \"tree\" ? (animal === 3 ? platyload : (animal === 2 ? dogload : catload)) : catload;\n //const widthValue = randomImage === 3 ? \"350px\" : \"200px\";\n\n //console.log(expectedLoadingTreeTime);\n if (expectedTime >= 1) {\n return (\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n );\n } else {\n return (\n
\n
\n \n
\n
\n );\n }\n};\n\nexport default Loading;\n","import React, { Component } from \"react\";\n//import Spinner from \"../layout/Spinner\";\nimport Loading from \"../layout/Loading\";\nimport \"jquery.fancytree/dist/modules/jquery.fancytree.clones\";\nimport \"jquery.fancytree/dist/modules/jquery.fancytree.filter\";\nimport \"jquery.fancytree/dist/modules/jquery.fancytree.childcounter\";\nimport \"jquery.fancytree/dist/modules/jquery.fancytree.edit\";\nimport \"jquery.fancytree/dist/modules/jquery.fancytree.multi\";\n// import 'jquery.fancytree/dist/skin-lion/ui.fancytree.less'; // CSS or LESS\nimport { createTree } from \"jquery.fancytree\";\nimport { DEBUG } from \"../context/vars\";\n\n// import 'jquery.fancytree/dist/modules/jquery.fancytree.edit';\n// import 'jquery.fancytree/dist/modules/jquery.fancytree.filter';\n\nexport class TreeNativeRep extends Component {\n shouldComponentUpdate(nextProps, nextState) {\n // if (this.props.shouldUpdateGraph === true){\n // return true\n // }else\n if (nextProps.treedata !== this.props.treedata) {\n DEBUG && console.log(\"Rerendering Tree\");\n return true;\n } else if (nextProps.loadingTree !== this.props.loadingTree) {\n return true;\n } else {\n return false;\n }\n }\n\n componentWillUnmount() {\n DEBUG && console.log(\"Unmounting Tree Rep\");\n this.props.cleanTreeData();\n // this.props.clearStats();\n }\n\n componenteDidMount() {\n DEBUG && console.log(\"In after mount\");\n // createTree(\"#tree\", {\n // extensions: [\"edit\", \"filter\"],\n // source: this.props.treedata,\n // });\n }\n\n render() {\n //console.log(this.props.treedata)\n if (this.props.loadingTree) return ;\n if (!this.props.treedata) {\n return (\n
\n

\n Press Show to see the tree\n view representation of the experiment.\n

\n

\n Repeating subtrees in the tree view are only shown once, use the\n searcher to focus only on those items.\n

\n
\n );\n }\n\n if (this.props.treedata.error === true) {\n return (\n
\n

Something has gone very wrong.

\n

\n {this.props.treedata.error_message}\n

\n
\n );\n }\n\n class FancyTree extends Component {\n componentDidMount() {\n let tree = new createTree(\"#tree\", {\n activate: (event, data) => {\n //console.log(event)\n //console.log(data)\n //console.log(tree)\n //console.log(data);\n if (data) {\n // var thenode = tree.getNodesByRef(\"a2a7_20170427_1\")\n // console.log(thenode)\n // if (thenode){\n // for (var i = 0; i < thenode.length;i++){\n // thenode[i].setTitle(\"a2a7_20170417_1 Honked \")\n // }\n\n // }\n // console.log(tree.activeNode.getParent())\n // console.log(tree.activeNode)\n //data.node.title = \"Honk\";\n // console.log(\"Node data\");\n // console.log(data);\n //console.log(this);\n this.props.updateSelectionTree(data);\n //console.log(this.props.canSelect);\n //if (this.props.canSelect === true) {\n if (data && data.node && data.node.folder === undefined) {\n this.props.updateCurrentSelected(\n data.node.refKey,\n this.props.originaldata\n );\n }\n\n //}\n\n //this.updateSelection(data);\n }\n },\n // extensions: ['edit', 'filter'],\n // extensions: [\"clones\",\"filter\", \"childcounter\"],\n extensions: [\"filter\", \"childcounter\", \"clones\", \"multi\"],\n filter: {\n autoApply: true, // Re-apply last filter if lazy data is loaded\n autoExpand: true, // Expand all branches that contain matches while filtered\n counter: true, // Show a badge with number of matching child nodes near parent icons\n fuzzy: false, // Match single characters in order, e.g. 'fb' will match 'FooBar'\n hideExpandedCounter: true, // Hide counter badge if parent is expanded\n hideExpanders: false, // Hide expanders if all child nodes are hidden by filter\n highlight: false, // Highlight matches by wrapping inside tags\n leavesOnly: true, // Match end nodes only\n nodata: true, // Display a 'no data' status node if result is empty\n mode: \"hide\", // Grayout unmatched nodes (pass \"hide\" to remove unmatched node instead)\n },\n // clones: {\n // highlightClones: true,\n // highlightActiveClones: true,\n // },\n source: this.props.treedata,\n });\n\n //console.log(tree.activeNode);\n\n DEBUG && console.log(tree);\n this.props.setFancyTree(tree);\n // if (this.props.total !== this.props.exptotal) {\n // alert(\n // \"The number of jobs in the experiment is different than the number of jobs in your current run. This might be due to a change in the config files of your experiment while Autosubmit was already running.\"\n // );\n // }\n }\n\n componentWillUnmount() {\n DEBUG && console.log(\"Unmounting Tree\");\n //this.props.cleanNavData();\n }\n\n render() {\n return (\n
\n
\n
\n );\n }\n }\n\n return (\n \n );\n }\n}\n\n// const experimentStyle = {\n// maxHeight: 600,\n// height: 600\n// };\n\nconst experimentStyle = {\n height: 750,\n};\n\nexport default TreeNativeRep;\n","import React, { Component } from \"react\";\nimport Loading from \"../layout/Loading\";\nimport \"jquery.fancytree/dist/modules/jquery.fancytree.filter\";\nimport \"jquery.fancytree/dist/modules/jquery.fancytree.childcounter\";\nimport \"jquery.fancytree/dist/modules/jquery.fancytree.edit\";\nimport \"jquery.fancytree/dist/modules/jquery.fancytree.multi\";\n// import 'jquery.fancytree/dist/skin-lion/ui.fancytree.less'; // CSS or LESS\nimport { createTree } from \"jquery.fancytree\";\nimport { DEBUG } from \"../context/vars\";\n\nexport class LighterNativeRep extends Component {\n shouldComponentUpdate(nextProps, nextState) {\n if (nextProps.data !== this.props.data) {\n DEBUG && console.log(\"Rerendering Lighter Tree\");\n return true;\n } else if (nextProps.loadingView !== this.props.loadingView) {\n return true;\n } else {\n return false;\n }\n }\n\n componentWillUnmount() {\n DEBUG && console.log(\"Unmount Lighter Rep.\");\n this.props.cleanLoadingLighterView();\n }\n\n componentDidMount() {\n DEBUG && console.log(\"Lighter Rep Mounted.\");\n }\n\n render() {\n if (this.props.loadingView) return ;\n if (!this.props.data) {\n return (\n
\n

\n Press View to see the\n light-version of the experiment representation.\n

\n

Use the search tool.

\n
\n );\n }\n if (this.props.isValid === false) {\n return (\n
\n

Something has gone very wrong.

\n

{this.props.errorMessage}

\n
\n );\n }\n\n class LightFancyTree extends Component {\n componentDidMount() {\n let l_tree = new createTree(\"#light_tree\", {\n extensions: [\"filter\", \"childcounter\"],\n filter: {\n autoApply: true, // Re-apply last filter if lazy data is loaded\n autoExpand: true, // Expand all branches that contain matches while filtered\n counter: true, // Show a badge with number of matching child nodes near parent icons\n fuzzy: false, // Match single characters in order, e.g. 'fb' will match 'FooBar'\n hideExpandedCounter: true, // Hide counter badge if parent is expanded\n hideExpanders: false, // Hide expanders if all child nodes are hidden by filter\n highlight: false, // Highlight matches by wrapping inside tags\n leavesOnly: true, // Match end nodes only\n nodata: true, // Display a 'no data' status node if result is empty\n mode: \"hide\", // Grayout unmatched nodes (pass \"hide\" to remove unmatched node instead)\n },\n\n source: this.props.tree_data,\n });\n\n //console.log(tree.activeNode);\n\n DEBUG && console.log(l_tree);\n this.props.setLighterFancyTree(l_tree);\n }\n\n componentWillUnmount() {\n DEBUG && console.log(\"Unmounting Lighter Tree\");\n //this.props.cleanNavData();\n }\n\n render() {\n return (\n
\n
\n
\n );\n }\n }\n\n return (\n \n );\n }\n}\n\nconst experimentStyle = {\n height: 750,\n};\n\nexport default LighterNativeRep;\n","import { createContext } from 'react';\n\nconst statsContext = createContext();\n\nexport default statsContext;","import React, { useContext } from \"react\";\nimport ExperimentContext from \"../context/experiment/experimentContext\";\nimport GraphContext from \"../context/graph/graphContext\";\nimport TreeContext from \"../context/tree/treeContext\";\nimport { exportHistoryToCSV, openIconHistory, creationDateToId } from \"../context/utils\";\nimport { SHOW_PERFORMANCE_TAB } from \"../context/vars\"\n\nconst JobHistory = ({ source }) => {\n const experimentContext = useContext(ExperimentContext);\n const graphContext = useContext(GraphContext);\n const treeContext = useContext(TreeContext);\n const { experiment, jobHistory, getJobHistory } = experimentContext;\n const { selection } = graphContext;\n const { selectedTreeNode } = treeContext;\n\n if (experiment) {\n var { db_historic_version, expid } = experiment;\n }\n\n const selectedJob =\n source === \"tree\"\n ? selectedTreeNode\n ? selectedTreeNode.node.refKey\n : null\n : source === \"graph\"\n ? selection && selection.length > 0\n ? selection[0]\n : null\n : null;\n\n const onGetJobHistory = (e) => {\n e.preventDefault();\n if (expid) {\n getJobHistory(expid, selectedJob);\n }\n };\n\n const onExport = (jobName) => (e) => {\n e.preventDefault();\n\n const columnNames = [\"Counter\", \"JobId\", \"Submit\", \"Start\", \"Finish\", \"Queue\", \"Run\", \"Status\", \"Energy\", \"Wallclock\", \"NCpus\", \"Nnodes\"];\n exportHistoryToCSV(jobHistory.history, columnNames, jobName + \"_history.csv\");\n }\n\n const dataTarget = \"history-\" + source;\n\n if (\n experiment &&\n selectedJob &&\n db_historic_version &&\n db_historic_version >= 12\n ) {\n return (\n \n \n \n {openIconHistory}\n \n \n \n );\n } else {\n return null;\n }\n};\n\nexport default JobHistory;\n","import React, { useContext } from 'react';\nimport ExperimentContext from \"../context/experiment/experimentContext\";\nimport { openIcon } from \"../context/utils\";\n\nconst JobLog = ({ source, tab }) => {\n const experimentContext = useContext(ExperimentContext);\n const { experiment, joblog, getJobLog } = experimentContext;\n const pathid = source !== undefined ? source.substring(source.lastIndexOf(\".\")+1) : \"undefined\";\n //console.log(pathid);\n const onGetJobLog = (e) => {\n e.preventDefault();\n getJobLog(source)\n }\n\n if (experiment) {\n return (\n
\n \n {openIcon}\n \n \n
\n \n )\n } else {\n return null;\n } \n}\n\nconst pStyle = {\n listStyleType: \"none\",\n};\n\nexport default JobLog\n","import React, { useContext, Fragment } from \"react\";\nimport ExperimentContext from \"../context/experiment/experimentContext\";\nimport GraphContext from \"../context/graph/graphContext\";\nimport JobHistory from \"./JobHistory\";\nimport JobLog from \"./JobLog\";\nimport { secondsToDelta } from \"../context/utils\";\nimport { DEBUG, statusCodeToStyle, SHOW_PERFORMANCE_TAB } from \"../context/vars\";\n\nconst GraphJob = () => {\n const experimentContext = useContext(ExperimentContext);\n const graphContext = useContext(GraphContext);\n const { experiment } = experimentContext;\n const { data, selection, navigateToGroup } = graphContext;\n // const { model, branch, hpc } = experiment;\n //var currentSelection = \"Node: \"\n\n // const navigateTo = e => {\n // e.preventDefault();\n // navToLatestCompleted();\n // };\n\n let currentNode = \"\";\n let selectedNode = null;\n let parentList = [];\n let childrenList = [];\n const packages = data.packages;\n\n\n const copyContent = (inputname) => (e) => {\n e.preventDefault();\n DEBUG && console.log(\"Sending \" + inputname);\n window.copyToClip(inputname);\n };\n\n const FocusWrapper = (id) => (e) => {\n e.preventDefault();\n if (packages) {\n // console.log(id);\n //console.log(id[\"wrapper\"]);\n //console.log(packages[id[\"wrapper\"]]);\n navigateToGroup(data.packages[id]);\n }\n\n //navigateToGroup()\n };\n\n if (selection && data && data.nodes) {\n //console.log(\"Current selection \" + selection);\n selection.map((node) => (currentNode = node));\n\n selectedNode = data.nodes.find((node) => node.id === currentNode);\n if (selectedNode && selectedNode.parent_list && selectedNode.parent_list.length > 0) {\n parentList = data.nodes.filter((node) => selectedNode.parent_list.indexOf(node.id) >= 0);\n //console.log(parentList);\n }\n if (selectedNode && selectedNode.children_list && selectedNode.children_list.length > 0) {\n childrenList = data.nodes.filter((node) => selectedNode.children_list.indexOf(node.id) >= 0);\n //console.log(childrenList);\n }\n\n // console.log(selectedNode);\n // If selection mode is activated\n //console.log(\"Selected node\")\n //console.log(\"Data: \" + selectedNode.id + \" \" + selectedNode.platform_name)\n }\n return (\n
\n {selectedNode && (\n \n
\n
\n
\n
\n
\n\n {selectedNode.id}{\" \"}\n\n \n\n
\n
\n
\n
\n
\n\n Start: {selectedNode.date}\n\n
\n
\n\n End: {selectedNode.date_plus}\n\n
\n
\n
\n
\n
\n\n Section: {selectedNode.section}\n\n
\n
\n
\n
\n
\n
\n\n Member: {selectedNode.member}\n\n
\n
\n\n Chunk: {selectedNode.chunk}\n\n
\n
\n
\n
\n
\n
Platform: {selectedNode.platform_name ? selectedNode.platform_name : experiment.hpc}
\n {selectedNode.queue &&
QoS: {selectedNode.queue}
}\n
{selectedNode.rm_id && Id: {selectedNode.rm_id}}
\n
\n
\n
\n
\n
\n\n Processors: {selectedNode.processors}\n\n
\n
\n\n Wallclock: {selectedNode.wallclock}\n\n
\n
\n
\n
\n
\n {\" \"}\n {selectedNode.minutes_queue >= 0 && [\"SUBMITTED\", \"QUEUING\", \"RUNNING\", \"COMPLETED\", \"FAILED\"].includes(\n selectedNode.status\n ) && (\n \n \n \n {selectedNode.status === \"SUBMITTED\"\n ? \"Submit\"\n : \"Queue\"}\n :\n {\" \"}\n {secondsToDelta(selectedNode.minutes_queue)}\n {/* min. */}\n \n )}\n
\n
\n {selectedNode.minutes >= 0 &&\n [\"RUNNING\", \"COMPLETED\", \"FAILED\"].includes(\n selectedNode.status\n ) && (\n \n Run:{\" \"}\n {secondsToDelta(selectedNode.minutes)}{\" \"}\n {/* min. */}\n \n )}\n
\n
\n\n
\n
\n \n \n Status: {selectedNode.status}\n \n
\n
\n {selectedNode.children_list &&\n selectedNode.children_list.length > 0 && (\n \n \n Out: {selectedNode.children}\n \n \n )}\n {selectedNode.children_list &&\n selectedNode.children_list.length === 0 && (\n \n\n Out: {selectedNode.children}\n\n \n )}\n
\n
\n {selectedNode.parent_list &&\n selectedNode.parent_list.length > 0 && (\n \n \n In: {selectedNode.parents}\n \n \n )}\n {selectedNode.parent_list &&\n selectedNode.parent_list.length === 0 && (\n \n In: {selectedNode.parents}\n \n )}\n
\n
\n
\n {selectedNode.out && (\n
\n
\n \n
\n \n
\n \n \n
\n\n
\n \n
\n
\n )}\n\n {selectedNode.err && (\n
\n
\n \n
\n \n
\n \n \n
\n\n
\n \n
\n
\n )}\n
\n
\n
\n \n \n {selectedNode.submit !== null && (\n \n \n \n \n )}\n {selectedNode.start !== null && (\n \n \n \n \n )}\n {selectedNode.finish !== null && (\n \n \n \n \n )}\n \n
\n Submit:\n \n \n {selectedNode.submit}\n \n
\n Start:\n \n \n {selectedNode.start}\n \n
\n Finish:\n \n \n {selectedNode.finish}\n \n
\n
\n
\n {SHOW_PERFORMANCE_TAB && selectedNode.SYPD !== undefined && selectedNode.SYPD !== null && selectedNode.SYPD > 0 && (\n SYPD: {selectedNode.SYPD}\n )}\n

\n {SHOW_PERFORMANCE_TAB && selectedNode.ASYPD !== undefined && selectedNode.ASYPD !== null && selectedNode.ASYPD > 0 && (\n ASYPD: {selectedNode.ASYPD}\n )}\n
\n
\n {selectedNode.package && selectedNode.package.length > 0 && (\n
\n
\n \n Wrapper: {selectedNode.package.split(\"_\").slice(1).join(\"_\")} ({data.packages[selectedNode.package].length} jobs)\n \n
\n
\n )}\n
\n
\n
\n
\n
\n )}\n {!selectedNode && data && (\n
\n
\n
\n
\n Here goes the Job Id\n
\n
\n
\n Select a Node to see more information.\n
\n
\n
\n
\n
\n )}\n {selectedNode &&\n childrenList &&\n childrenList.length > 0 && (\n
\n )}\n {selectedNode &&\n parentList &&\n parentList.length > 0 && (\n