2024-06-18 03:16:42 +08:00

69 lines
533 KiB
JavaScript

var f1=Object.defineProperty;var p1=(e,t,s)=>t in e?f1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var it=(e,t,s)=>(p1(e,typeof t!="symbol"?t+"":t,s),s);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function s(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=s(i);fetch(i.href,o)}})();var Jp=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function g1(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function m1(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(s,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),s}var _1={exports:{}},Se="top",Re="bottom",Ne="right",Ae="left",Na="auto",Yi=[Se,Re,Ne,Ae],Jn="start",Ci="end",Qp="clippingParents",td="viewport",_i="popper",Zp="reference",lc=Yi.reduce(function(e,t){return e.concat([t+"-"+Jn,t+"-"+Ci])},[]),ed=[].concat(Yi,[Na]).reduce(function(e,t){return e.concat([t,t+"-"+Jn,t+"-"+Ci])},[]),tg="beforeRead",eg="read",sg="afterRead",ng="beforeMain",ig="main",og="afterMain",rg="beforeWrite",ag="write",lg="afterWrite",cg=[tg,eg,sg,ng,ig,og,rg,ag,lg];function bs(e){return e?(e.nodeName||"").toLowerCase():null}function Fe(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Qn(e){var t=Fe(e).Element;return e instanceof t||e instanceof Element}function Xe(e){var t=Fe(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function sd(e){if(typeof ShadowRoot>"u")return!1;var t=Fe(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function b1(e){var t=e.state;Object.keys(t.elements).forEach(function(s){var n=t.styles[s]||{},i=t.attributes[s]||{},o=t.elements[s];!Xe(o)||!bs(o)||(Object.assign(o.style,n),Object.keys(i).forEach(function(r){var a=i[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})}function v1(e){var t=e.state,s={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,s.popper),t.styles=s,t.elements.arrow&&Object.assign(t.elements.arrow.style,s.arrow),function(){Object.keys(t.elements).forEach(function(n){var i=t.elements[n],o=t.attributes[n]||{},r=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:s[n]),a=r.reduce(function(l,c){return l[c]="",l},{});!Xe(i)||!bs(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const nd={name:"applyStyles",enabled:!0,phase:"write",fn:b1,effect:v1,requires:["computeStyles"]};function gs(e){return e.split("-")[0]}var zn=Math.max,ma=Math.min,$i=Math.round;function cc(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function dg(){return!/^((?!chrome|android).)*safari/i.test(cc())}function Pi(e,t,s){t===void 0&&(t=!1),s===void 0&&(s=!1);var n=e.getBoundingClientRect(),i=1,o=1;t&&Xe(e)&&(i=e.offsetWidth>0&&$i(n.width)/e.offsetWidth||1,o=e.offsetHeight>0&&$i(n.height)/e.offsetHeight||1);var r=Qn(e)?Fe(e):window,a=r.visualViewport,l=!dg()&&s,c=(n.left+(l&&a?a.offsetLeft:0))/i,d=(n.top+(l&&a?a.offsetTop:0))/o,u=n.width/i,f=n.height/o;return{width:u,height:f,top:d,right:c+u,bottom:d+f,left:c,x:c,y:d}}function id(e){var t=Pi(e),s=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-s)<=1&&(s=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:s,height:n}}function ug(e,t){var s=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(s&&sd(s)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Rs(e){return Fe(e).getComputedStyle(e)}function y1(e){return["table","td","th"].indexOf(bs(e))>=0}function vn(e){return((Qn(e)?e.ownerDocument:e.document)||window.document).documentElement}function Fa(e){return bs(e)==="html"?e:e.assignedSlot||e.parentNode||(sd(e)?e.host:null)||vn(e)}function th(e){return!Xe(e)||Rs(e).position==="fixed"?null:e.offsetParent}function x1(e){var t=/firefox/i.test(cc()),s=/Trident/i.test(cc());if(s&&Xe(e)){var n=Rs(e);if(n.position==="fixed")return null}var i=Fa(e);for(sd(i)&&(i=i.host);Xe(i)&&["html","body"].indexOf(bs(i))<0;){var o=Rs(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function Zo(e){for(var t=Fe(e),s=th(e);s&&y1(s)&&Rs(s).position==="static";)s=th(s);return s&&(bs(s)==="html"||bs(s)==="body"&&Rs(s).position==="static")?t:s||x1(e)||t}function od(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function wo(e,t,s){return zn(e,ma(t,s))}function w1(e,t,s){var n=wo(e,t,s);return n>s?s:n}function hg(){return{top:0,right:0,bottom:0,left:0}}function fg(e){return Object.assign({},hg(),e)}function pg(e,t){return t.reduce(function(s,n){return s[n]=e,s},{})}var E1=function(t,s){return t=typeof t=="function"?t(Object.assign({},s.rects,{placement:s.placement})):t,fg(typeof t!="number"?t:pg(t,Yi))};function S1(e){var t,s=e.state,n=e.name,i=e.options,o=s.elements.arrow,r=s.modifiersData.popperOffsets,a=gs(s.placement),l=od(a),c=[Ae,Ne].indexOf(a)>=0,d=c?"height":"width";if(!(!o||!r)){var u=E1(i.padding,s),f=id(o),g=l==="y"?Se:Ae,m=l==="y"?Re:Ne,b=s.rects.reference[d]+s.rects.reference[l]-r[l]-s.rects.popper[d],v=r[l]-s.rects.reference[l],w=Zo(o),E=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,$=b/2-v/2,T=u[g],y=E-f[d]-u[m],x=E/2-f[d]/2+$,C=wo(T,x,y),S=l;s.modifiersData[n]=(t={},t[S]=C,t.centerOffset=C-x,t)}}function A1(e){var t=e.state,s=e.options,n=s.element,i=n===void 0?"[data-popper-arrow]":n;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||ug(t.elements.popper,i)&&(t.elements.arrow=i))}const gg={name:"arrow",enabled:!0,phase:"main",fn:S1,effect:A1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ki(e){return e.split("-")[1]}var C1={top:"auto",right:"auto",bottom:"auto",left:"auto"};function $1(e,t){var s=e.x,n=e.y,i=t.devicePixelRatio||1;return{x:$i(s*i)/i||0,y:$i(n*i)/i||0}}function eh(e){var t,s=e.popper,n=e.popperRect,i=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,u=e.isFixed,f=r.x,g=f===void 0?0:f,m=r.y,b=m===void 0?0:m,v=typeof d=="function"?d({x:g,y:b}):{x:g,y:b};g=v.x,b=v.y;var w=r.hasOwnProperty("x"),E=r.hasOwnProperty("y"),$=Ae,T=Se,y=window;if(c){var x=Zo(s),C="clientHeight",S="clientWidth";if(x===Fe(s)&&(x=vn(s),Rs(x).position!=="static"&&a==="absolute"&&(C="scrollHeight",S="scrollWidth")),x=x,i===Se||(i===Ae||i===Ne)&&o===Ci){T=Re;var P=u&&x===y&&y.visualViewport?y.visualViewport.height:x[C];b-=P-n.height,b*=l?1:-1}if(i===Ae||(i===Se||i===Re)&&o===Ci){$=Ne;var M=u&&x===y&&y.visualViewport?y.visualViewport.width:x[S];g-=M-n.width,g*=l?1:-1}}var I=Object.assign({position:a},c&&C1),N=d===!0?$1({x:g,y:b},Fe(s)):{x:g,y:b};if(g=N.x,b=N.y,l){var Q;return Object.assign({},I,(Q={},Q[T]=E?"0":"",Q[$]=w?"0":"",Q.transform=(y.devicePixelRatio||1)<=1?"translate("+g+"px, "+b+"px)":"translate3d("+g+"px, "+b+"px, 0)",Q))}return Object.assign({},I,(t={},t[T]=E?b+"px":"",t[$]=w?g+"px":"",t.transform="",t))}function P1(e){var t=e.state,s=e.options,n=s.gpuAcceleration,i=n===void 0?!0:n,o=s.adaptive,r=o===void 0?!0:o,a=s.roundOffsets,l=a===void 0?!0:a,c={placement:gs(t.placement),variation:ki(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,eh(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,eh(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const rd={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:P1,data:{}};var Cr={passive:!0};function k1(e){var t=e.state,s=e.instance,n=e.options,i=n.scroll,o=i===void 0?!0:i,r=n.resize,a=r===void 0?!0:r,l=Fe(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(d){d.addEventListener("scroll",s.update,Cr)}),a&&l.addEventListener("resize",s.update,Cr),function(){o&&c.forEach(function(d){d.removeEventListener("scroll",s.update,Cr)}),a&&l.removeEventListener("resize",s.update,Cr)}}const ad={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:k1,data:{}};var T1={left:"right",right:"left",bottom:"top",top:"bottom"};function Zr(e){return e.replace(/left|right|bottom|top/g,function(t){return T1[t]})}var M1={start:"end",end:"start"};function sh(e){return e.replace(/start|end/g,function(t){return M1[t]})}function ld(e){var t=Fe(e),s=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:s,scrollTop:n}}function cd(e){return Pi(vn(e)).left+ld(e).scrollLeft}function O1(e,t){var s=Fe(e),n=vn(e),i=s.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(i){o=i.width,r=i.height;var c=dg();(c||!c&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:r,x:a+cd(e),y:l}}function D1(e){var t,s=vn(e),n=ld(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=zn(s.scrollWidth,s.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),r=zn(s.scrollHeight,s.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-n.scrollLeft+cd(e),l=-n.scrollTop;return Rs(i||s).direction==="rtl"&&(a+=zn(s.clientWidth,i?i.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function dd(e){var t=Rs(e),s=t.overflow,n=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(s+i+n)}function mg(e){return["html","body","#document"].indexOf(bs(e))>=0?e.ownerDocument.body:Xe(e)&&dd(e)?e:mg(Fa(e))}function Eo(e,t){var s;t===void 0&&(t=[]);var n=mg(e),i=n===((s=e.ownerDocument)==null?void 0:s.body),o=Fe(n),r=i?[o].concat(o.visualViewport||[],dd(n)?n:[]):n,a=t.concat(r);return i?a:a.concat(Eo(Fa(r)))}function dc(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function I1(e,t){var s=Pi(e,!1,t==="fixed");return s.top=s.top+e.clientTop,s.left=s.left+e.clientLeft,s.bottom=s.top+e.clientHeight,s.right=s.left+e.clientWidth,s.width=e.clientWidth,s.height=e.clientHeight,s.x=s.left,s.y=s.top,s}function nh(e,t,s){return t===td?dc(O1(e,s)):Qn(t)?I1(t,s):dc(D1(vn(e)))}function L1(e){var t=Eo(Fa(e)),s=["absolute","fixed"].indexOf(Rs(e).position)>=0,n=s&&Xe(e)?Zo(e):e;return Qn(n)?t.filter(function(i){return Qn(i)&&ug(i,n)&&bs(i)!=="body"}):[]}function R1(e,t,s,n){var i=t==="clippingParents"?L1(e):[].concat(t),o=[].concat(i,[s]),r=o[0],a=o.reduce(function(l,c){var d=nh(e,c,n);return l.top=zn(d.top,l.top),l.right=ma(d.right,l.right),l.bottom=ma(d.bottom,l.bottom),l.left=zn(d.left,l.left),l},nh(e,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function _g(e){var t=e.reference,s=e.element,n=e.placement,i=n?gs(n):null,o=n?ki(n):null,r=t.x+t.width/2-s.width/2,a=t.y+t.height/2-s.height/2,l;switch(i){case Se:l={x:r,y:t.y-s.height};break;case Re:l={x:r,y:t.y+t.height};break;case Ne:l={x:t.x+t.width,y:a};break;case Ae:l={x:t.x-s.width,y:a};break;default:l={x:t.x,y:t.y}}var c=i?od(i):null;if(c!=null){var d=c==="y"?"height":"width";switch(o){case Jn:l[c]=l[c]-(t[d]/2-s[d]/2);break;case Ci:l[c]=l[c]+(t[d]/2-s[d]/2);break}}return l}function Ti(e,t){t===void 0&&(t={});var s=t,n=s.placement,i=n===void 0?e.placement:n,o=s.strategy,r=o===void 0?e.strategy:o,a=s.boundary,l=a===void 0?Qp:a,c=s.rootBoundary,d=c===void 0?td:c,u=s.elementContext,f=u===void 0?_i:u,g=s.altBoundary,m=g===void 0?!1:g,b=s.padding,v=b===void 0?0:b,w=fg(typeof v!="number"?v:pg(v,Yi)),E=f===_i?Zp:_i,$=e.rects.popper,T=e.elements[m?E:f],y=R1(Qn(T)?T:T.contextElement||vn(e.elements.popper),l,d,r),x=Pi(e.elements.reference),C=_g({reference:x,element:$,strategy:"absolute",placement:i}),S=dc(Object.assign({},$,C)),P=f===_i?S:x,M={top:y.top-P.top+w.top,bottom:P.bottom-y.bottom+w.bottom,left:y.left-P.left+w.left,right:P.right-y.right+w.right},I=e.modifiersData.offset;if(f===_i&&I){var N=I[i];Object.keys(M).forEach(function(Q){var G=[Ne,Re].indexOf(Q)>=0?1:-1,V=[Se,Re].indexOf(Q)>=0?"y":"x";M[Q]+=N[V]*G})}return M}function N1(e,t){t===void 0&&(t={});var s=t,n=s.placement,i=s.boundary,o=s.rootBoundary,r=s.padding,a=s.flipVariations,l=s.allowedAutoPlacements,c=l===void 0?ed:l,d=ki(n),u=d?a?lc:lc.filter(function(m){return ki(m)===d}):Yi,f=u.filter(function(m){return c.indexOf(m)>=0});f.length===0&&(f=u);var g=f.reduce(function(m,b){return m[b]=Ti(e,{placement:b,boundary:i,rootBoundary:o,padding:r})[gs(b)],m},{});return Object.keys(g).sort(function(m,b){return g[m]-g[b]})}function F1(e){if(gs(e)===Na)return[];var t=Zr(e);return[sh(e),t,sh(t)]}function B1(e){var t=e.state,s=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var i=s.mainAxis,o=i===void 0?!0:i,r=s.altAxis,a=r===void 0?!0:r,l=s.fallbackPlacements,c=s.padding,d=s.boundary,u=s.rootBoundary,f=s.altBoundary,g=s.flipVariations,m=g===void 0?!0:g,b=s.allowedAutoPlacements,v=t.options.placement,w=gs(v),E=w===v,$=l||(E||!m?[Zr(v)]:F1(v)),T=[v].concat($).reduce(function(At,Lt){return At.concat(gs(Lt)===Na?N1(t,{placement:Lt,boundary:d,rootBoundary:u,padding:c,flipVariations:m,allowedAutoPlacements:b}):Lt)},[]),y=t.rects.reference,x=t.rects.popper,C=new Map,S=!0,P=T[0],M=0;M<T.length;M++){var I=T[M],N=gs(I),Q=ki(I)===Jn,G=[Se,Re].indexOf(N)>=0,V=G?"width":"height",L=Ti(t,{placement:I,boundary:d,rootBoundary:u,altBoundary:f,padding:c}),W=G?Q?Ne:Ae:Q?Re:Se;y[V]>x[V]&&(W=Zr(W));var K=Zr(W),ot=[];if(o&&ot.push(L[N]<=0),a&&ot.push(L[W]<=0,L[K]<=0),ot.every(function(At){return At})){P=I,S=!1;break}C.set(I,ot)}if(S)for(var ut=m?3:1,bt=function(Lt){var Ct=T.find(function(j){var st=C.get(j);if(st)return st.slice(0,Lt).every(function(tt){return tt})});if(Ct)return P=Ct,"break"},_t=ut;_t>0;_t--){var Pt=bt(_t);if(Pt==="break")break}t.placement!==P&&(t.modifiersData[n]._skip=!0,t.placement=P,t.reset=!0)}}const bg={name:"flip",enabled:!0,phase:"main",fn:B1,requiresIfExists:["offset"],data:{_skip:!1}};function ih(e,t,s){return s===void 0&&(s={x:0,y:0}),{top:e.top-t.height-s.y,right:e.right-t.width+s.x,bottom:e.bottom-t.height+s.y,left:e.left-t.width-s.x}}function oh(e){return[Se,Ne,Re,Ae].some(function(t){return e[t]>=0})}function V1(e){var t=e.state,s=e.name,n=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,r=Ti(t,{elementContext:"reference"}),a=Ti(t,{altBoundary:!0}),l=ih(r,n),c=ih(a,i,o),d=oh(l),u=oh(c);t.modifiersData[s]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":u})}const vg={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:V1};function H1(e,t,s){var n=gs(e),i=[Ae,Se].indexOf(n)>=0?-1:1,o=typeof s=="function"?s(Object.assign({},t,{placement:e})):s,r=o[0],a=o[1];return r=r||0,a=(a||0)*i,[Ae,Ne].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}function j1(e){var t=e.state,s=e.options,n=e.name,i=s.offset,o=i===void 0?[0,0]:i,r=ed.reduce(function(d,u){return d[u]=H1(u,t.rects,o),d},{}),a=r[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=r}const yg={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:j1};function W1(e){var t=e.state,s=e.name;t.modifiersData[s]=_g({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const ud={name:"popperOffsets",enabled:!0,phase:"read",fn:W1,data:{}};function z1(e){return e==="x"?"y":"x"}function U1(e){var t=e.state,s=e.options,n=e.name,i=s.mainAxis,o=i===void 0?!0:i,r=s.altAxis,a=r===void 0?!1:r,l=s.boundary,c=s.rootBoundary,d=s.altBoundary,u=s.padding,f=s.tether,g=f===void 0?!0:f,m=s.tetherOffset,b=m===void 0?0:m,v=Ti(t,{boundary:l,rootBoundary:c,padding:u,altBoundary:d}),w=gs(t.placement),E=ki(t.placement),$=!E,T=od(w),y=z1(T),x=t.modifiersData.popperOffsets,C=t.rects.reference,S=t.rects.popper,P=typeof b=="function"?b(Object.assign({},t.rects,{placement:t.placement})):b,M=typeof P=="number"?{mainAxis:P,altAxis:P}:Object.assign({mainAxis:0,altAxis:0},P),I=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,N={x:0,y:0};if(x){if(o){var Q,G=T==="y"?Se:Ae,V=T==="y"?Re:Ne,L=T==="y"?"height":"width",W=x[T],K=W+v[G],ot=W-v[V],ut=g?-S[L]/2:0,bt=E===Jn?C[L]:S[L],_t=E===Jn?-S[L]:-C[L],Pt=t.elements.arrow,At=g&&Pt?id(Pt):{width:0,height:0},Lt=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:hg(),Ct=Lt[G],j=Lt[V],st=wo(0,C[L],At[L]),tt=$?C[L]/2-ut-st-Ct-M.mainAxis:bt-st-Ct-M.mainAxis,at=$?-C[L]/2+ut+st+j+M.mainAxis:_t+st+j+M.mainAxis,B=t.elements.arrow&&Zo(t.elements.arrow),Mt=B?T==="y"?B.clientTop||0:B.clientLeft||0:0,A=(Q=I==null?void 0:I[T])!=null?Q:0,D=W+tt-A-Mt,R=W+at-A,Y=wo(g?ma(K,D):K,W,g?zn(ot,R):ot);x[T]=Y,N[T]=Y-W}if(a){var z,J=T==="x"?Se:Ae,rt=T==="x"?Re:Ne,F=x[y],Z=y==="y"?"height":"width",X=F+v[J],ct=F-v[rt],pt=[Se,Ae].indexOf(w)!==-1,ft=(z=I==null?void 0:I[y])!=null?z:0,vt=pt?X:F-C[Z]-S[Z]-ft+M.altAxis,Et=pt?F+C[Z]+S[Z]-ft-M.altAxis:ct,jt=g&&pt?w1(vt,F,Et):wo(g?vt:X,F,g?Et:ct);x[y]=jt,N[y]=jt-F}t.modifiersData[n]=N}}const xg={name:"preventOverflow",enabled:!0,phase:"main",fn:U1,requiresIfExists:["offset"]};function K1(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Y1(e){return e===Fe(e)||!Xe(e)?ld(e):K1(e)}function q1(e){var t=e.getBoundingClientRect(),s=$i(t.width)/e.offsetWidth||1,n=$i(t.height)/e.offsetHeight||1;return s!==1||n!==1}function G1(e,t,s){s===void 0&&(s=!1);var n=Xe(t),i=Xe(t)&&q1(t),o=vn(t),r=Pi(e,i,s),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!s)&&((bs(t)!=="body"||dd(o))&&(a=Y1(t)),Xe(t)?(l=Pi(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=cd(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function X1(e){var t=new Map,s=new Set,n=[];e.forEach(function(o){t.set(o.name,o)});function i(o){s.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!s.has(a)){var l=t.get(a);l&&i(l)}}),n.push(o)}return e.forEach(function(o){s.has(o.name)||i(o)}),n}function J1(e){var t=X1(e);return cg.reduce(function(s,n){return s.concat(t.filter(function(i){return i.phase===n}))},[])}function Q1(e){var t;return function(){return t||(t=new Promise(function(s){Promise.resolve().then(function(){t=void 0,s(e())})})),t}}function Z1(e){var t=e.reduce(function(s,n){var i=s[n.name];return s[n.name]=i?Object.assign({},i,n,{options:Object.assign({},i.options,n.options),data:Object.assign({},i.data,n.data)}):n,s},{});return Object.keys(t).map(function(s){return t[s]})}var rh={placement:"bottom",modifiers:[],strategy:"absolute"};function ah(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return!t.some(function(n){return!(n&&typeof n.getBoundingClientRect=="function")})}function Ba(e){e===void 0&&(e={});var t=e,s=t.defaultModifiers,n=s===void 0?[]:s,i=t.defaultOptions,o=i===void 0?rh:i;return function(a,l,c){c===void 0&&(c=o);var d={placement:"bottom",orderedModifiers:[],options:Object.assign({},rh,o),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},u=[],f=!1,g={state:d,setOptions:function(w){var E=typeof w=="function"?w(d.options):w;b(),d.options=Object.assign({},o,d.options,E),d.scrollParents={reference:Qn(a)?Eo(a):a.contextElement?Eo(a.contextElement):[],popper:Eo(l)};var $=J1(Z1([].concat(n,d.options.modifiers)));return d.orderedModifiers=$.filter(function(T){return T.enabled}),m(),g.update()},forceUpdate:function(){if(!f){var w=d.elements,E=w.reference,$=w.popper;if(ah(E,$)){d.rects={reference:G1(E,Zo($),d.options.strategy==="fixed"),popper:id($)},d.reset=!1,d.placement=d.options.placement,d.orderedModifiers.forEach(function(M){return d.modifiersData[M.name]=Object.assign({},M.data)});for(var T=0;T<d.orderedModifiers.length;T++){if(d.reset===!0){d.reset=!1,T=-1;continue}var y=d.orderedModifiers[T],x=y.fn,C=y.options,S=C===void 0?{}:C,P=y.name;typeof x=="function"&&(d=x({state:d,options:S,name:P,instance:g})||d)}}}},update:Q1(function(){return new Promise(function(v){g.forceUpdate(),v(d)})}),destroy:function(){b(),f=!0}};if(!ah(a,l))return g;g.setOptions(c).then(function(v){!f&&c.onFirstUpdate&&c.onFirstUpdate(v)});function m(){d.orderedModifiers.forEach(function(v){var w=v.name,E=v.options,$=E===void 0?{}:E,T=v.effect;if(typeof T=="function"){var y=T({state:d,name:w,instance:g,options:$}),x=function(){};u.push(y||x)}})}function b(){u.forEach(function(v){return v()}),u=[]}return g}}var tx=Ba(),ex=[ad,ud,rd,nd],sx=Ba({defaultModifiers:ex}),nx=[ad,ud,rd,nd,yg,bg,xg,gg,vg],ix=Ba({defaultModifiers:nx});const ox=Object.freeze(Object.defineProperty({__proto__:null,afterMain:og,afterRead:sg,afterWrite:lg,applyStyles:nd,arrow:gg,auto:Na,basePlacements:Yi,beforeMain:ng,beforeRead:tg,beforeWrite:rg,bottom:Re,clippingParents:Qp,computeStyles:rd,createPopper:ix,createPopperBase:tx,createPopperLite:sx,detectOverflow:Ti,end:Ci,eventListeners:ad,flip:bg,hide:vg,left:Ae,main:ig,modifierPhases:cg,offset:yg,placements:ed,popper:_i,popperGenerator:Ba,popperOffsets:ud,preventOverflow:xg,read:eg,reference:Zp,right:Ne,start:Jn,top:Se,variationPlacements:lc,viewport:td,write:ag},Symbol.toStringTag,{value:"Module"})),rx=m1(ox);/*!
* Bootstrap v5.3.2 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/(function(e,t){(function(s,n){e.exports=n(rx)})(Jp,function(s){function n(k){const h=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(k){for(const _ in k)if(_!=="default"){const O=Object.getOwnPropertyDescriptor(k,_);Object.defineProperty(h,_,O.get?O:{enumerable:!0,get:()=>k[_]})}}return h.default=k,Object.freeze(h)}const i=n(s),o=new Map,r={set(k,h,_){o.has(k)||o.set(k,new Map);const O=o.get(k);if(!O.has(h)&&O.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(O.keys())[0]}.`);return}O.set(h,_)},get(k,h){return o.has(k)&&o.get(k).get(h)||null},remove(k,h){if(!o.has(k))return;const _=o.get(k);_.delete(h),_.size===0&&o.delete(k)}},a=1e6,l=1e3,c="transitionend",d=k=>(k&&window.CSS&&window.CSS.escape&&(k=k.replace(/#([^\s"#']+)/g,(h,_)=>`#${CSS.escape(_)}`)),k),u=k=>k==null?`${k}`:Object.prototype.toString.call(k).match(/\s([a-z]+)/i)[1].toLowerCase(),f=k=>{do k+=Math.floor(Math.random()*a);while(document.getElementById(k));return k},g=k=>{if(!k)return 0;let{transitionDuration:h,transitionDelay:_}=window.getComputedStyle(k);const O=Number.parseFloat(h),U=Number.parseFloat(_);return!O&&!U?0:(h=h.split(",")[0],_=_.split(",")[0],(Number.parseFloat(h)+Number.parseFloat(_))*l)},m=k=>{k.dispatchEvent(new Event(c))},b=k=>!k||typeof k!="object"?!1:(typeof k.jquery<"u"&&(k=k[0]),typeof k.nodeType<"u"),v=k=>b(k)?k.jquery?k[0]:k:typeof k=="string"&&k.length>0?document.querySelector(d(k)):null,w=k=>{if(!b(k)||k.getClientRects().length===0)return!1;const h=getComputedStyle(k).getPropertyValue("visibility")==="visible",_=k.closest("details:not([open])");if(!_)return h;if(_!==k){const O=k.closest("summary");if(O&&O.parentNode!==_||O===null)return!1}return h},E=k=>!k||k.nodeType!==Node.ELEMENT_NODE||k.classList.contains("disabled")?!0:typeof k.disabled<"u"?k.disabled:k.hasAttribute("disabled")&&k.getAttribute("disabled")!=="false",$=k=>{if(!document.documentElement.attachShadow)return null;if(typeof k.getRootNode=="function"){const h=k.getRootNode();return h instanceof ShadowRoot?h:null}return k instanceof ShadowRoot?k:k.parentNode?$(k.parentNode):null},T=()=>{},y=k=>{k.offsetHeight},x=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,C=[],S=k=>{document.readyState==="loading"?(C.length||document.addEventListener("DOMContentLoaded",()=>{for(const h of C)h()}),C.push(k)):k()},P=()=>document.documentElement.dir==="rtl",M=k=>{S(()=>{const h=x();if(h){const _=k.NAME,O=h.fn[_];h.fn[_]=k.jQueryInterface,h.fn[_].Constructor=k,h.fn[_].noConflict=()=>(h.fn[_]=O,k.jQueryInterface)}})},I=(k,h=[],_=k)=>typeof k=="function"?k(...h):_,N=(k,h,_=!0)=>{if(!_){I(k);return}const U=g(h)+5;let nt=!1;const et=({target:$t})=>{$t===h&&(nt=!0,h.removeEventListener(c,et),I(k))};h.addEventListener(c,et),setTimeout(()=>{nt||m(h)},U)},Q=(k,h,_,O)=>{const U=k.length;let nt=k.indexOf(h);return nt===-1?!_&&O?k[U-1]:k[0]:(nt+=_?1:-1,O&&(nt=(nt+U)%U),k[Math.max(0,Math.min(nt,U-1))])},G=/[^.]*(?=\..*)\.|.*/,V=/\..*/,L=/::\d+$/,W={};let K=1;const ot={mouseenter:"mouseover",mouseleave:"mouseout"},ut=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function bt(k,h){return h&&`${h}::${K++}`||k.uidEvent||K++}function _t(k){const h=bt(k);return k.uidEvent=h,W[h]=W[h]||{},W[h]}function Pt(k,h){return function _(O){return Mt(O,{delegateTarget:k}),_.oneOff&&B.off(k,O.type,h),h.apply(k,[O])}}function At(k,h,_){return function O(U){const nt=k.querySelectorAll(h);for(let{target:et}=U;et&&et!==this;et=et.parentNode)for(const $t of nt)if($t===et)return Mt(U,{delegateTarget:et}),O.oneOff&&B.off(k,U.type,h,_),_.apply(et,[U])}}function Lt(k,h,_=null){return Object.values(k).find(O=>O.callable===h&&O.delegationSelector===_)}function Ct(k,h,_){const O=typeof h=="string",U=O?_:h||_;let nt=at(k);return ut.has(nt)||(nt=k),[O,U,nt]}function j(k,h,_,O,U){if(typeof h!="string"||!k)return;let[nt,et,$t]=Ct(h,_,O);h in ot&&(et=(h1=>function(hi){if(!hi.relatedTarget||hi.relatedTarget!==hi.delegateTarget&&!hi.delegateTarget.contains(hi.relatedTarget))return h1.call(this,hi)})(et));const $e=_t(k),We=$e[$t]||($e[$t]={}),le=Lt(We,et,nt?_:null);if(le){le.oneOff=le.oneOff&&U;return}const ls=bt(et,h.replace(G,"")),ts=nt?At(k,_,et):Pt(k,et);ts.delegationSelector=nt?_:null,ts.callable=et,ts.oneOff=U,ts.uidEvent=ls,We[ls]=ts,k.addEventListener($t,ts,nt)}function st(k,h,_,O,U){const nt=Lt(h[_],O,U);nt&&(k.removeEventListener(_,nt,!!U),delete h[_][nt.uidEvent])}function tt(k,h,_,O){const U=h[_]||{};for(const[nt,et]of Object.entries(U))nt.includes(O)&&st(k,h,_,et.callable,et.delegationSelector)}function at(k){return k=k.replace(V,""),ot[k]||k}const B={on(k,h,_,O){j(k,h,_,O,!1)},one(k,h,_,O){j(k,h,_,O,!0)},off(k,h,_,O){if(typeof h!="string"||!k)return;const[U,nt,et]=Ct(h,_,O),$t=et!==h,$e=_t(k),We=$e[et]||{},le=h.startsWith(".");if(typeof nt<"u"){if(!Object.keys(We).length)return;st(k,$e,et,nt,U?_:null);return}if(le)for(const ls of Object.keys($e))tt(k,$e,ls,h.slice(1));for(const[ls,ts]of Object.entries(We)){const Ar=ls.replace(L,"");(!$t||h.includes(Ar))&&st(k,$e,et,ts.callable,ts.delegationSelector)}},trigger(k,h,_){if(typeof h!="string"||!k)return null;const O=x(),U=at(h),nt=h!==U;let et=null,$t=!0,$e=!0,We=!1;nt&&O&&(et=O.Event(h,_),O(k).trigger(et),$t=!et.isPropagationStopped(),$e=!et.isImmediatePropagationStopped(),We=et.isDefaultPrevented());const le=Mt(new Event(h,{bubbles:$t,cancelable:!0}),_);return We&&le.preventDefault(),$e&&k.dispatchEvent(le),le.defaultPrevented&&et&&et.preventDefault(),le}};function Mt(k,h={}){for(const[_,O]of Object.entries(h))try{k[_]=O}catch{Object.defineProperty(k,_,{configurable:!0,get(){return O}})}return k}function A(k){if(k==="true")return!0;if(k==="false")return!1;if(k===Number(k).toString())return Number(k);if(k===""||k==="null")return null;if(typeof k!="string")return k;try{return JSON.parse(decodeURIComponent(k))}catch{return k}}function D(k){return k.replace(/[A-Z]/g,h=>`-${h.toLowerCase()}`)}const R={setDataAttribute(k,h,_){k.setAttribute(`data-bs-${D(h)}`,_)},removeDataAttribute(k,h){k.removeAttribute(`data-bs-${D(h)}`)},getDataAttributes(k){if(!k)return{};const h={},_=Object.keys(k.dataset).filter(O=>O.startsWith("bs")&&!O.startsWith("bsConfig"));for(const O of _){let U=O.replace(/^bs/,"");U=U.charAt(0).toLowerCase()+U.slice(1,U.length),h[U]=A(k.dataset[O])}return h},getDataAttribute(k,h){return A(k.getAttribute(`data-bs-${D(h)}`))}};class Y{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(h){return h=this._mergeConfigObj(h),h=this._configAfterMerge(h),this._typeCheckConfig(h),h}_configAfterMerge(h){return h}_mergeConfigObj(h,_){const O=b(_)?R.getDataAttribute(_,"config"):{};return{...this.constructor.Default,...typeof O=="object"?O:{},...b(_)?R.getDataAttributes(_):{},...typeof h=="object"?h:{}}}_typeCheckConfig(h,_=this.constructor.DefaultType){for(const[O,U]of Object.entries(_)){const nt=h[O],et=b(nt)?"element":u(nt);if(!new RegExp(U).test(et))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${O}" provided type "${et}" but expected type "${U}".`)}}}const z="5.3.2";class J extends Y{constructor(h,_){super(),h=v(h),h&&(this._element=h,this._config=this._getConfig(_),r.set(this._element,this.constructor.DATA_KEY,this))}dispose(){r.remove(this._element,this.constructor.DATA_KEY),B.off(this._element,this.constructor.EVENT_KEY);for(const h of Object.getOwnPropertyNames(this))this[h]=null}_queueCallback(h,_,O=!0){N(h,_,O)}_getConfig(h){return h=this._mergeConfigObj(h,this._element),h=this._configAfterMerge(h),this._typeCheckConfig(h),h}static getInstance(h){return r.get(v(h),this.DATA_KEY)}static getOrCreateInstance(h,_={}){return this.getInstance(h)||new this(h,typeof _=="object"?_:null)}static get VERSION(){return z}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(h){return`${h}${this.EVENT_KEY}`}}const rt=k=>{let h=k.getAttribute("data-bs-target");if(!h||h==="#"){let _=k.getAttribute("href");if(!_||!_.includes("#")&&!_.startsWith("."))return null;_.includes("#")&&!_.startsWith("#")&&(_=`#${_.split("#")[1]}`),h=_&&_!=="#"?d(_.trim()):null}return h},F={find(k,h=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(h,k))},findOne(k,h=document.documentElement){return Element.prototype.querySelector.call(h,k)},children(k,h){return[].concat(...k.children).filter(_=>_.matches(h))},parents(k,h){const _=[];let O=k.parentNode.closest(h);for(;O;)_.push(O),O=O.parentNode.closest(h);return _},prev(k,h){let _=k.previousElementSibling;for(;_;){if(_.matches(h))return[_];_=_.previousElementSibling}return[]},next(k,h){let _=k.nextElementSibling;for(;_;){if(_.matches(h))return[_];_=_.nextElementSibling}return[]},focusableChildren(k){const h=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(_=>`${_}:not([tabindex^="-"])`).join(",");return this.find(h,k).filter(_=>!E(_)&&w(_))},getSelectorFromElement(k){const h=rt(k);return h&&F.findOne(h)?h:null},getElementFromSelector(k){const h=rt(k);return h?F.findOne(h):null},getMultipleElementsFromSelector(k){const h=rt(k);return h?F.find(h):[]}},Z=(k,h="hide")=>{const _=`click.dismiss${k.EVENT_KEY}`,O=k.NAME;B.on(document,_,`[data-bs-dismiss="${O}"]`,function(U){if(["A","AREA"].includes(this.tagName)&&U.preventDefault(),E(this))return;const nt=F.getElementFromSelector(this)||this.closest(`.${O}`);k.getOrCreateInstance(nt)[h]()})},X="alert",pt=".bs.alert",ft=`close${pt}`,vt=`closed${pt}`,Et="fade",jt="show";class Ot extends J{static get NAME(){return X}close(){if(B.trigger(this._element,ft).defaultPrevented)return;this._element.classList.remove(jt);const _=this._element.classList.contains(Et);this._queueCallback(()=>this._destroyElement(),this._element,_)}_destroyElement(){this._element.remove(),B.trigger(this._element,vt),this.dispose()}static jQueryInterface(h){return this.each(function(){const _=Ot.getOrCreateInstance(this);if(typeof h=="string"){if(_[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);_[h](this)}})}}Z(Ot,"close"),M(Ot);const ne="button",Ws=".bs.button",hr=".data-api",An="active",to='[data-bs-toggle="button"]',ye=`click${Ws}${hr}`;class pe extends J{static get NAME(){return ne}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(An))}static jQueryInterface(h){return this.each(function(){const _=pe.getOrCreateInstance(this);h==="toggle"&&_[h]()})}}B.on(document,ye,to,k=>{k.preventDefault();const h=k.target.closest(to);pe.getOrCreateInstance(h).toggle()}),M(pe);const fr="swipe",ii=".bs.swipe",Nb=`touchstart${ii}`,Fb=`touchmove${ii}`,Bb=`touchend${ii}`,Vb=`pointerdown${ii}`,Hb=`pointerup${ii}`,jb="touch",Wb="pen",zb="pointer-event",Ub=40,Kb={endCallback:null,leftCallback:null,rightCallback:null},Yb={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class pr extends Y{constructor(h,_){super(),this._element=h,!(!h||!pr.isSupported())&&(this._config=this._getConfig(_),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Kb}static get DefaultType(){return Yb}static get NAME(){return fr}dispose(){B.off(this._element,ii)}_start(h){if(!this._supportPointerEvents){this._deltaX=h.touches[0].clientX;return}this._eventIsPointerPenTouch(h)&&(this._deltaX=h.clientX)}_end(h){this._eventIsPointerPenTouch(h)&&(this._deltaX=h.clientX-this._deltaX),this._handleSwipe(),I(this._config.endCallback)}_move(h){this._deltaX=h.touches&&h.touches.length>1?0:h.touches[0].clientX-this._deltaX}_handleSwipe(){const h=Math.abs(this._deltaX);if(h<=Ub)return;const _=h/this._deltaX;this._deltaX=0,_&&I(_>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(B.on(this._element,Vb,h=>this._start(h)),B.on(this._element,Hb,h=>this._end(h)),this._element.classList.add(zb)):(B.on(this._element,Nb,h=>this._start(h)),B.on(this._element,Fb,h=>this._move(h)),B.on(this._element,Bb,h=>this._end(h)))}_eventIsPointerPenTouch(h){return this._supportPointerEvents&&(h.pointerType===Wb||h.pointerType===jb)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const qb="carousel",zs=".bs.carousel",fu=".data-api",Gb="ArrowLeft",Xb="ArrowRight",Jb=500,eo="next",oi="prev",ri="left",gr="right",Qb=`slide${zs}`,ml=`slid${zs}`,Zb=`keydown${zs}`,tv=`mouseenter${zs}`,ev=`mouseleave${zs}`,sv=`dragstart${zs}`,nv=`load${zs}${fu}`,iv=`click${zs}${fu}`,pu="carousel",mr="active",ov="slide",rv="carousel-item-end",av="carousel-item-start",lv="carousel-item-next",cv="carousel-item-prev",gu=".active",mu=".carousel-item",dv=gu+mu,uv=".carousel-item img",hv=".carousel-indicators",fv="[data-bs-slide], [data-bs-slide-to]",pv='[data-bs-ride="carousel"]',gv={[Gb]:gr,[Xb]:ri},mv={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},_v={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ai extends J{constructor(h,_){super(h,_),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=F.findOne(hv,this._element),this._addEventListeners(),this._config.ride===pu&&this.cycle()}static get Default(){return mv}static get DefaultType(){return _v}static get NAME(){return qb}next(){this._slide(eo)}nextWhenVisible(){!document.hidden&&w(this._element)&&this.next()}prev(){this._slide(oi)}pause(){this._isSliding&&m(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){B.one(this._element,ml,()=>this.cycle());return}this.cycle()}}to(h){const _=this._getItems();if(h>_.length-1||h<0)return;if(this._isSliding){B.one(this._element,ml,()=>this.to(h));return}const O=this._getItemIndex(this._getActive());if(O===h)return;const U=h>O?eo:oi;this._slide(U,_[h])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(h){return h.defaultInterval=h.interval,h}_addEventListeners(){this._config.keyboard&&B.on(this._element,Zb,h=>this._keydown(h)),this._config.pause==="hover"&&(B.on(this._element,tv,()=>this.pause()),B.on(this._element,ev,()=>this._maybeEnableCycle())),this._config.touch&&pr.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const O of F.find(uv,this._element))B.on(O,sv,U=>U.preventDefault());const _={leftCallback:()=>this._slide(this._directionToOrder(ri)),rightCallback:()=>this._slide(this._directionToOrder(gr)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),Jb+this._config.interval))}};this._swipeHelper=new pr(this._element,_)}_keydown(h){if(/input|textarea/i.test(h.target.tagName))return;const _=gv[h.key];_&&(h.preventDefault(),this._slide(this._directionToOrder(_)))}_getItemIndex(h){return this._getItems().indexOf(h)}_setActiveIndicatorElement(h){if(!this._indicatorsElement)return;const _=F.findOne(gu,this._indicatorsElement);_.classList.remove(mr),_.removeAttribute("aria-current");const O=F.findOne(`[data-bs-slide-to="${h}"]`,this._indicatorsElement);O&&(O.classList.add(mr),O.setAttribute("aria-current","true"))}_updateInterval(){const h=this._activeElement||this._getActive();if(!h)return;const _=Number.parseInt(h.getAttribute("data-bs-interval"),10);this._config.interval=_||this._config.defaultInterval}_slide(h,_=null){if(this._isSliding)return;const O=this._getActive(),U=h===eo,nt=_||Q(this._getItems(),O,U,this._config.wrap);if(nt===O)return;const et=this._getItemIndex(nt),$t=Ar=>B.trigger(this._element,Ar,{relatedTarget:nt,direction:this._orderToDirection(h),from:this._getItemIndex(O),to:et});if($t(Qb).defaultPrevented||!O||!nt)return;const We=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(et),this._activeElement=nt;const le=U?av:rv,ls=U?lv:cv;nt.classList.add(ls),y(nt),O.classList.add(le),nt.classList.add(le);const ts=()=>{nt.classList.remove(le,ls),nt.classList.add(mr),O.classList.remove(mr,ls,le),this._isSliding=!1,$t(ml)};this._queueCallback(ts,O,this._isAnimated()),We&&this.cycle()}_isAnimated(){return this._element.classList.contains(ov)}_getActive(){return F.findOne(dv,this._element)}_getItems(){return F.find(mu,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(h){return P()?h===ri?oi:eo:h===ri?eo:oi}_orderToDirection(h){return P()?h===oi?ri:gr:h===oi?gr:ri}static jQueryInterface(h){return this.each(function(){const _=ai.getOrCreateInstance(this,h);if(typeof h=="number"){_.to(h);return}if(typeof h=="string"){if(_[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);_[h]()}})}}B.on(document,iv,fv,function(k){const h=F.getElementFromSelector(this);if(!h||!h.classList.contains(pu))return;k.preventDefault();const _=ai.getOrCreateInstance(h),O=this.getAttribute("data-bs-slide-to");if(O){_.to(O),_._maybeEnableCycle();return}if(R.getDataAttribute(this,"slide")==="next"){_.next(),_._maybeEnableCycle();return}_.prev(),_._maybeEnableCycle()}),B.on(window,nv,()=>{const k=F.find(pv);for(const h of k)ai.getOrCreateInstance(h)}),M(ai);const bv="collapse",so=".bs.collapse",vv=".data-api",yv=`show${so}`,xv=`shown${so}`,wv=`hide${so}`,Ev=`hidden${so}`,Sv=`click${so}${vv}`,_l="show",li="collapse",_r="collapsing",Av="collapsed",Cv=`:scope .${li} .${li}`,$v="collapse-horizontal",Pv="width",kv="height",Tv=".collapse.show, .collapse.collapsing",bl='[data-bs-toggle="collapse"]',Mv={parent:null,toggle:!0},Ov={parent:"(null|element)",toggle:"boolean"};class ci extends J{constructor(h,_){super(h,_),this._isTransitioning=!1,this._triggerArray=[];const O=F.find(bl);for(const U of O){const nt=F.getSelectorFromElement(U),et=F.find(nt).filter($t=>$t===this._element);nt!==null&&et.length&&this._triggerArray.push(U)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Mv}static get DefaultType(){return Ov}static get NAME(){return bv}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let h=[];if(this._config.parent&&(h=this._getFirstLevelChildren(Tv).filter($t=>$t!==this._element).map($t=>ci.getOrCreateInstance($t,{toggle:!1}))),h.length&&h[0]._isTransitioning||B.trigger(this._element,yv).defaultPrevented)return;for(const $t of h)$t.hide();const O=this._getDimension();this._element.classList.remove(li),this._element.classList.add(_r),this._element.style[O]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const U=()=>{this._isTransitioning=!1,this._element.classList.remove(_r),this._element.classList.add(li,_l),this._element.style[O]="",B.trigger(this._element,xv)},et=`scroll${O[0].toUpperCase()+O.slice(1)}`;this._queueCallback(U,this._element,!0),this._element.style[O]=`${this._element[et]}px`}hide(){if(this._isTransitioning||!this._isShown()||B.trigger(this._element,wv).defaultPrevented)return;const _=this._getDimension();this._element.style[_]=`${this._element.getBoundingClientRect()[_]}px`,y(this._element),this._element.classList.add(_r),this._element.classList.remove(li,_l);for(const U of this._triggerArray){const nt=F.getElementFromSelector(U);nt&&!this._isShown(nt)&&this._addAriaAndCollapsedClass([U],!1)}this._isTransitioning=!0;const O=()=>{this._isTransitioning=!1,this._element.classList.remove(_r),this._element.classList.add(li),B.trigger(this._element,Ev)};this._element.style[_]="",this._queueCallback(O,this._element,!0)}_isShown(h=this._element){return h.classList.contains(_l)}_configAfterMerge(h){return h.toggle=!!h.toggle,h.parent=v(h.parent),h}_getDimension(){return this._element.classList.contains($v)?Pv:kv}_initializeChildren(){if(!this._config.parent)return;const h=this._getFirstLevelChildren(bl);for(const _ of h){const O=F.getElementFromSelector(_);O&&this._addAriaAndCollapsedClass([_],this._isShown(O))}}_getFirstLevelChildren(h){const _=F.find(Cv,this._config.parent);return F.find(h,this._config.parent).filter(O=>!_.includes(O))}_addAriaAndCollapsedClass(h,_){if(h.length)for(const O of h)O.classList.toggle(Av,!_),O.setAttribute("aria-expanded",_)}static jQueryInterface(h){const _={};return typeof h=="string"&&/show|hide/.test(h)&&(_.toggle=!1),this.each(function(){const O=ci.getOrCreateInstance(this,_);if(typeof h=="string"){if(typeof O[h]>"u")throw new TypeError(`No method named "${h}"`);O[h]()}})}}B.on(document,Sv,bl,function(k){(k.target.tagName==="A"||k.delegateTarget&&k.delegateTarget.tagName==="A")&&k.preventDefault();for(const h of F.getMultipleElementsFromSelector(this))ci.getOrCreateInstance(h,{toggle:!1}).toggle()}),M(ci);const _u="dropdown",Cn=".bs.dropdown",vl=".data-api",Dv="Escape",bu="Tab",Iv="ArrowUp",vu="ArrowDown",Lv=2,Rv=`hide${Cn}`,Nv=`hidden${Cn}`,Fv=`show${Cn}`,Bv=`shown${Cn}`,yu=`click${Cn}${vl}`,xu=`keydown${Cn}${vl}`,Vv=`keyup${Cn}${vl}`,di="show",Hv="dropup",jv="dropend",Wv="dropstart",zv="dropup-center",Uv="dropdown-center",$n='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Kv=`${$n}.${di}`,br=".dropdown-menu",Yv=".navbar",qv=".navbar-nav",Gv=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Xv=P()?"top-end":"top-start",Jv=P()?"top-start":"top-end",Qv=P()?"bottom-end":"bottom-start",Zv=P()?"bottom-start":"bottom-end",ty=P()?"left-start":"right-start",ey=P()?"right-start":"left-start",sy="top",ny="bottom",iy={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},oy={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Ze extends J{constructor(h,_){super(h,_),this._popper=null,this._parent=this._element.parentNode,this._menu=F.next(this._element,br)[0]||F.prev(this._element,br)[0]||F.findOne(br,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return iy}static get DefaultType(){return oy}static get NAME(){return _u}toggle(){return this._isShown()?this.hide():this.show()}show(){if(E(this._element)||this._isShown())return;const h={relatedTarget:this._element};if(!B.trigger(this._element,Fv,h).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(qv))for(const O of[].concat(...document.body.children))B.on(O,"mouseover",T);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(di),this._element.classList.add(di),B.trigger(this._element,Bv,h)}}hide(){if(E(this._element)||!this._isShown())return;const h={relatedTarget:this._element};this._completeHide(h)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(h){if(!B.trigger(this._element,Rv,h).defaultPrevented){if("ontouchstart"in document.documentElement)for(const O of[].concat(...document.body.children))B.off(O,"mouseover",T);this._popper&&this._popper.destroy(),this._menu.classList.remove(di),this._element.classList.remove(di),this._element.setAttribute("aria-expanded","false"),R.removeDataAttribute(this._menu,"popper"),B.trigger(this._element,Nv,h)}}_getConfig(h){if(h=super._getConfig(h),typeof h.reference=="object"&&!b(h.reference)&&typeof h.reference.getBoundingClientRect!="function")throw new TypeError(`${_u.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return h}_createPopper(){if(typeof i>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let h=this._element;this._config.reference==="parent"?h=this._parent:b(this._config.reference)?h=v(this._config.reference):typeof this._config.reference=="object"&&(h=this._config.reference);const _=this._getPopperConfig();this._popper=i.createPopper(h,this._menu,_)}_isShown(){return this._menu.classList.contains(di)}_getPlacement(){const h=this._parent;if(h.classList.contains(jv))return ty;if(h.classList.contains(Wv))return ey;if(h.classList.contains(zv))return sy;if(h.classList.contains(Uv))return ny;const _=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return h.classList.contains(Hv)?_?Jv:Xv:_?Zv:Qv}_detectNavbar(){return this._element.closest(Yv)!==null}_getOffset(){const{offset:h}=this._config;return typeof h=="string"?h.split(",").map(_=>Number.parseInt(_,10)):typeof h=="function"?_=>h(_,this._element):h}_getPopperConfig(){const h={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(R.setDataAttribute(this._menu,"popper","static"),h.modifiers=[{name:"applyStyles",enabled:!1}]),{...h,...I(this._config.popperConfig,[h])}}_selectMenuItem({key:h,target:_}){const O=F.find(Gv,this._menu).filter(U=>w(U));O.length&&Q(O,_,h===vu,!O.includes(_)).focus()}static jQueryInterface(h){return this.each(function(){const _=Ze.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof _[h]>"u")throw new TypeError(`No method named "${h}"`);_[h]()}})}static clearMenus(h){if(h.button===Lv||h.type==="keyup"&&h.key!==bu)return;const _=F.find(Kv);for(const O of _){const U=Ze.getInstance(O);if(!U||U._config.autoClose===!1)continue;const nt=h.composedPath(),et=nt.includes(U._menu);if(nt.includes(U._element)||U._config.autoClose==="inside"&&!et||U._config.autoClose==="outside"&&et||U._menu.contains(h.target)&&(h.type==="keyup"&&h.key===bu||/input|select|option|textarea|form/i.test(h.target.tagName)))continue;const $t={relatedTarget:U._element};h.type==="click"&&($t.clickEvent=h),U._completeHide($t)}}static dataApiKeydownHandler(h){const _=/input|textarea/i.test(h.target.tagName),O=h.key===Dv,U=[Iv,vu].includes(h.key);if(!U&&!O||_&&!O)return;h.preventDefault();const nt=this.matches($n)?this:F.prev(this,$n)[0]||F.next(this,$n)[0]||F.findOne($n,h.delegateTarget.parentNode),et=Ze.getOrCreateInstance(nt);if(U){h.stopPropagation(),et.show(),et._selectMenuItem(h);return}et._isShown()&&(h.stopPropagation(),et.hide(),nt.focus())}}B.on(document,xu,$n,Ze.dataApiKeydownHandler),B.on(document,xu,br,Ze.dataApiKeydownHandler),B.on(document,yu,Ze.clearMenus),B.on(document,Vv,Ze.clearMenus),B.on(document,yu,$n,function(k){k.preventDefault(),Ze.getOrCreateInstance(this).toggle()}),M(Ze);const wu="backdrop",ry="fade",Eu="show",Su=`mousedown.bs.${wu}`,ay={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},ly={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Au extends Y{constructor(h){super(),this._config=this._getConfig(h),this._isAppended=!1,this._element=null}static get Default(){return ay}static get DefaultType(){return ly}static get NAME(){return wu}show(h){if(!this._config.isVisible){I(h);return}this._append();const _=this._getElement();this._config.isAnimated&&y(_),_.classList.add(Eu),this._emulateAnimation(()=>{I(h)})}hide(h){if(!this._config.isVisible){I(h);return}this._getElement().classList.remove(Eu),this._emulateAnimation(()=>{this.dispose(),I(h)})}dispose(){this._isAppended&&(B.off(this._element,Su),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const h=document.createElement("div");h.className=this._config.className,this._config.isAnimated&&h.classList.add(ry),this._element=h}return this._element}_configAfterMerge(h){return h.rootElement=v(h.rootElement),h}_append(){if(this._isAppended)return;const h=this._getElement();this._config.rootElement.append(h),B.on(h,Su,()=>{I(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(h){N(h,this._getElement(),this._config.isAnimated)}}const cy="focustrap",vr=".bs.focustrap",dy=`focusin${vr}`,uy=`keydown.tab${vr}`,hy="Tab",fy="forward",Cu="backward",py={autofocus:!0,trapElement:null},gy={autofocus:"boolean",trapElement:"element"};class $u extends Y{constructor(h){super(),this._config=this._getConfig(h),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return py}static get DefaultType(){return gy}static get NAME(){return cy}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),B.off(document,vr),B.on(document,dy,h=>this._handleFocusin(h)),B.on(document,uy,h=>this._handleKeydown(h)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,B.off(document,vr))}_handleFocusin(h){const{trapElement:_}=this._config;if(h.target===document||h.target===_||_.contains(h.target))return;const O=F.focusableChildren(_);O.length===0?_.focus():this._lastTabNavDirection===Cu?O[O.length-1].focus():O[0].focus()}_handleKeydown(h){h.key===hy&&(this._lastTabNavDirection=h.shiftKey?Cu:fy)}}const Pu=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",ku=".sticky-top",yr="padding-right",Tu="margin-right";class yl{constructor(){this._element=document.body}getWidth(){const h=document.documentElement.clientWidth;return Math.abs(window.innerWidth-h)}hide(){const h=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,yr,_=>_+h),this._setElementAttributes(Pu,yr,_=>_+h),this._setElementAttributes(ku,Tu,_=>_-h)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,yr),this._resetElementAttributes(Pu,yr),this._resetElementAttributes(ku,Tu)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(h,_,O){const U=this.getWidth(),nt=et=>{if(et!==this._element&&window.innerWidth>et.clientWidth+U)return;this._saveInitialAttribute(et,_);const $t=window.getComputedStyle(et).getPropertyValue(_);et.style.setProperty(_,`${O(Number.parseFloat($t))}px`)};this._applyManipulationCallback(h,nt)}_saveInitialAttribute(h,_){const O=h.style.getPropertyValue(_);O&&R.setDataAttribute(h,_,O)}_resetElementAttributes(h,_){const O=U=>{const nt=R.getDataAttribute(U,_);if(nt===null){U.style.removeProperty(_);return}R.removeDataAttribute(U,_),U.style.setProperty(_,nt)};this._applyManipulationCallback(h,O)}_applyManipulationCallback(h,_){if(b(h)){_(h);return}for(const O of F.find(h,this._element))_(O)}}const my="modal",je=".bs.modal",_y=".data-api",by="Escape",vy=`hide${je}`,yy=`hidePrevented${je}`,Mu=`hidden${je}`,Ou=`show${je}`,xy=`shown${je}`,wy=`resize${je}`,Ey=`click.dismiss${je}`,Sy=`mousedown.dismiss${je}`,Ay=`keydown.dismiss${je}`,Cy=`click${je}${_y}`,Du="modal-open",$y="fade",Iu="show",xl="modal-static",Py=".modal.show",ky=".modal-dialog",Ty=".modal-body",My='[data-bs-toggle="modal"]',Oy={backdrop:!0,focus:!0,keyboard:!0},Dy={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Pn extends J{constructor(h,_){super(h,_),this._dialog=F.findOne(ky,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new yl,this._addEventListeners()}static get Default(){return Oy}static get DefaultType(){return Dy}static get NAME(){return my}toggle(h){return this._isShown?this.hide():this.show(h)}show(h){this._isShown||this._isTransitioning||B.trigger(this._element,Ou,{relatedTarget:h}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Du),this._adjustDialog(),this._backdrop.show(()=>this._showElement(h)))}hide(){!this._isShown||this._isTransitioning||B.trigger(this._element,vy).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Iu),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){B.off(window,je),B.off(this._dialog,je),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Au({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new $u({trapElement:this._element})}_showElement(h){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const _=F.findOne(Ty,this._dialog);_&&(_.scrollTop=0),y(this._element),this._element.classList.add(Iu);const O=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,B.trigger(this._element,xy,{relatedTarget:h})};this._queueCallback(O,this._dialog,this._isAnimated())}_addEventListeners(){B.on(this._element,Ay,h=>{if(h.key===by){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),B.on(window,wy,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),B.on(this._element,Sy,h=>{B.one(this._element,Ey,_=>{if(!(this._element!==h.target||this._element!==_.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Du),this._resetAdjustments(),this._scrollBar.reset(),B.trigger(this._element,Mu)})}_isAnimated(){return this._element.classList.contains($y)}_triggerBackdropTransition(){if(B.trigger(this._element,yy).defaultPrevented)return;const _=this._element.scrollHeight>document.documentElement.clientHeight,O=this._element.style.overflowY;O==="hidden"||this._element.classList.contains(xl)||(_||(this._element.style.overflowY="hidden"),this._element.classList.add(xl),this._queueCallback(()=>{this._element.classList.remove(xl),this._queueCallback(()=>{this._element.style.overflowY=O},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const h=this._element.scrollHeight>document.documentElement.clientHeight,_=this._scrollBar.getWidth(),O=_>0;if(O&&!h){const U=P()?"paddingLeft":"paddingRight";this._element.style[U]=`${_}px`}if(!O&&h){const U=P()?"paddingRight":"paddingLeft";this._element.style[U]=`${_}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(h,_){return this.each(function(){const O=Pn.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof O[h]>"u")throw new TypeError(`No method named "${h}"`);O[h](_)}})}}B.on(document,Cy,My,function(k){const h=F.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&k.preventDefault(),B.one(h,Ou,U=>{U.defaultPrevented||B.one(h,Mu,()=>{w(this)&&this.focus()})});const _=F.findOne(Py);_&&Pn.getInstance(_).hide(),Pn.getOrCreateInstance(h).toggle(this)}),Z(Pn),M(Pn);const Iy="offcanvas",ws=".bs.offcanvas",Lu=".data-api",Ly=`load${ws}${Lu}`,Ry="Escape",Ru="show",Nu="showing",Fu="hiding",Ny="offcanvas-backdrop",Bu=".offcanvas.show",Fy=`show${ws}`,By=`shown${ws}`,Vy=`hide${ws}`,Vu=`hidePrevented${ws}`,Hu=`hidden${ws}`,Hy=`resize${ws}`,jy=`click${ws}${Lu}`,Wy=`keydown.dismiss${ws}`,zy='[data-bs-toggle="offcanvas"]',Uy={backdrop:!0,keyboard:!0,scroll:!1},Ky={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Es extends J{constructor(h,_){super(h,_),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Uy}static get DefaultType(){return Ky}static get NAME(){return Iy}toggle(h){return this._isShown?this.hide():this.show(h)}show(h){if(this._isShown||B.trigger(this._element,Fy,{relatedTarget:h}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new yl().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Nu);const O=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Ru),this._element.classList.remove(Nu),B.trigger(this._element,By,{relatedTarget:h})};this._queueCallback(O,this._element,!0)}hide(){if(!this._isShown||B.trigger(this._element,Vy).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Fu),this._backdrop.hide();const _=()=>{this._element.classList.remove(Ru,Fu),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new yl().reset(),B.trigger(this._element,Hu)};this._queueCallback(_,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const h=()=>{if(this._config.backdrop==="static"){B.trigger(this._element,Vu);return}this.hide()},_=!!this._config.backdrop;return new Au({className:Ny,isVisible:_,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:_?h:null})}_initializeFocusTrap(){return new $u({trapElement:this._element})}_addEventListeners(){B.on(this._element,Wy,h=>{if(h.key===Ry){if(this._config.keyboard){this.hide();return}B.trigger(this._element,Vu)}})}static jQueryInterface(h){return this.each(function(){const _=Es.getOrCreateInstance(this,h);if(typeof h=="string"){if(_[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);_[h](this)}})}}B.on(document,jy,zy,function(k){const h=F.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&k.preventDefault(),E(this))return;B.one(h,Hu,()=>{w(this)&&this.focus()});const _=F.findOne(Bu);_&&_!==h&&Es.getInstance(_).hide(),Es.getOrCreateInstance(h).toggle(this)}),B.on(window,Ly,()=>{for(const k of F.find(Bu))Es.getOrCreateInstance(k).show()}),B.on(window,Hy,()=>{for(const k of F.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(k).position!=="fixed"&&Es.getOrCreateInstance(k).hide()}),Z(Es),M(Es);const ju={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Yy=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),qy=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Gy=(k,h)=>{const _=k.nodeName.toLowerCase();return h.includes(_)?Yy.has(_)?!!qy.test(k.nodeValue):!0:h.filter(O=>O instanceof RegExp).some(O=>O.test(_))};function Xy(k,h,_){if(!k.length)return k;if(_&&typeof _=="function")return _(k);const U=new window.DOMParser().parseFromString(k,"text/html"),nt=[].concat(...U.body.querySelectorAll("*"));for(const et of nt){const $t=et.nodeName.toLowerCase();if(!Object.keys(h).includes($t)){et.remove();continue}const $e=[].concat(...et.attributes),We=[].concat(h["*"]||[],h[$t]||[]);for(const le of $e)Gy(le,We)||et.removeAttribute(le.nodeName)}return U.body.innerHTML}const Jy="TemplateFactory",Qy={allowList:ju,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Zy={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},t0={entry:"(string|element|function|null)",selector:"(string|element)"};class e0 extends Y{constructor(h){super(),this._config=this._getConfig(h)}static get Default(){return Qy}static get DefaultType(){return Zy}static get NAME(){return Jy}getContent(){return Object.values(this._config.content).map(h=>this._resolvePossibleFunction(h)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(h){return this._checkContent(h),this._config.content={...this._config.content,...h},this}toHtml(){const h=document.createElement("div");h.innerHTML=this._maybeSanitize(this._config.template);for(const[U,nt]of Object.entries(this._config.content))this._setContent(h,nt,U);const _=h.children[0],O=this._resolvePossibleFunction(this._config.extraClass);return O&&_.classList.add(...O.split(" ")),_}_typeCheckConfig(h){super._typeCheckConfig(h),this._checkContent(h.content)}_checkContent(h){for(const[_,O]of Object.entries(h))super._typeCheckConfig({selector:_,entry:O},t0)}_setContent(h,_,O){const U=F.findOne(O,h);if(U){if(_=this._resolvePossibleFunction(_),!_){U.remove();return}if(b(_)){this._putElementInTemplate(v(_),U);return}if(this._config.html){U.innerHTML=this._maybeSanitize(_);return}U.textContent=_}}_maybeSanitize(h){return this._config.sanitize?Xy(h,this._config.allowList,this._config.sanitizeFn):h}_resolvePossibleFunction(h){return I(h,[this])}_putElementInTemplate(h,_){if(this._config.html){_.innerHTML="",_.append(h);return}_.textContent=h.textContent}}const s0="tooltip",n0=new Set(["sanitize","allowList","sanitizeFn"]),wl="fade",i0="modal",xr="show",o0=".tooltip-inner",Wu=`.${i0}`,zu="hide.bs.modal",no="hover",El="focus",r0="click",a0="manual",l0="hide",c0="hidden",d0="show",u0="shown",h0="inserted",f0="click",p0="focusin",g0="focusout",m0="mouseenter",_0="mouseleave",b0={AUTO:"auto",TOP:"top",RIGHT:P()?"left":"right",BOTTOM:"bottom",LEFT:P()?"right":"left"},v0={allowList:ju,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},y0={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class kn extends J{constructor(h,_){if(typeof i>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(h,_),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return v0}static get DefaultType(){return y0}static get NAME(){return s0}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),B.off(this._element.closest(Wu),zu,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const h=B.trigger(this._element,this.constructor.eventName(d0)),O=($(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(h.defaultPrevented||!O)return;this._disposePopper();const U=this._getTipElement();this._element.setAttribute("aria-describedby",U.getAttribute("id"));const{container:nt}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(nt.append(U),B.trigger(this._element,this.constructor.eventName(h0))),this._popper=this._createPopper(U),U.classList.add(xr),"ontouchstart"in document.documentElement)for(const $t of[].concat(...document.body.children))B.on($t,"mouseover",T);const et=()=>{B.trigger(this._element,this.constructor.eventName(u0)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(et,this.tip,this._isAnimated())}hide(){if(!this._isShown()||B.trigger(this._element,this.constructor.eventName(l0)).defaultPrevented)return;if(this._getTipElement().classList.remove(xr),"ontouchstart"in document.documentElement)for(const U of[].concat(...document.body.children))B.off(U,"mouseover",T);this._activeTrigger[r0]=!1,this._activeTrigger[El]=!1,this._activeTrigger[no]=!1,this._isHovered=null;const O=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),B.trigger(this._element,this.constructor.eventName(c0)))};this._queueCallback(O,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(h){const _=this._getTemplateFactory(h).toHtml();if(!_)return null;_.classList.remove(wl,xr),_.classList.add(`bs-${this.constructor.NAME}-auto`);const O=f(this.constructor.NAME).toString();return _.setAttribute("id",O),this._isAnimated()&&_.classList.add(wl),_}setContent(h){this._newContent=h,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(h){return this._templateFactory?this._templateFactory.changeContent(h):this._templateFactory=new e0({...this._config,content:h,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[o0]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(h){return this.constructor.getOrCreateInstance(h.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(wl)}_isShown(){return this.tip&&this.tip.classList.contains(xr)}_createPopper(h){const _=I(this._config.placement,[this,h,this._element]),O=b0[_.toUpperCase()];return i.createPopper(this._element,h,this._getPopperConfig(O))}_getOffset(){const{offset:h}=this._config;return typeof h=="string"?h.split(",").map(_=>Number.parseInt(_,10)):typeof h=="function"?_=>h(_,this._element):h}_resolvePossibleFunction(h){return I(h,[this._element])}_getPopperConfig(h){const _={placement:h,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:O=>{this._getTipElement().setAttribute("data-popper-placement",O.state.placement)}}]};return{..._,...I(this._config.popperConfig,[_])}}_setListeners(){const h=this._config.trigger.split(" ");for(const _ of h)if(_==="click")B.on(this._element,this.constructor.eventName(f0),this._config.selector,O=>{this._initializeOnDelegatedTarget(O).toggle()});else if(_!==a0){const O=_===no?this.constructor.eventName(m0):this.constructor.eventName(p0),U=_===no?this.constructor.eventName(_0):this.constructor.eventName(g0);B.on(this._element,O,this._config.selector,nt=>{const et=this._initializeOnDelegatedTarget(nt);et._activeTrigger[nt.type==="focusin"?El:no]=!0,et._enter()}),B.on(this._element,U,this._config.selector,nt=>{const et=this._initializeOnDelegatedTarget(nt);et._activeTrigger[nt.type==="focusout"?El:no]=et._element.contains(nt.relatedTarget),et._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},B.on(this._element.closest(Wu),zu,this._hideModalHandler)}_fixTitle(){const h=this._element.getAttribute("title");h&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",h),this._element.setAttribute("data-bs-original-title",h),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(h,_){clearTimeout(this._timeout),this._timeout=setTimeout(h,_)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(h){const _=R.getDataAttributes(this._element);for(const O of Object.keys(_))n0.has(O)&&delete _[O];return h={..._,...typeof h=="object"&&h?h:{}},h=this._mergeConfigObj(h),h=this._configAfterMerge(h),this._typeCheckConfig(h),h}_configAfterMerge(h){return h.container=h.container===!1?document.body:v(h.container),typeof h.delay=="number"&&(h.delay={show:h.delay,hide:h.delay}),typeof h.title=="number"&&(h.title=h.title.toString()),typeof h.content=="number"&&(h.content=h.content.toString()),h}_getDelegateConfig(){const h={};for(const[_,O]of Object.entries(this._config))this.constructor.Default[_]!==O&&(h[_]=O);return h.selector=!1,h.trigger="manual",h}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(h){return this.each(function(){const _=kn.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof _[h]>"u")throw new TypeError(`No method named "${h}"`);_[h]()}})}}M(kn);const x0="popover",w0=".popover-header",E0=".popover-body",S0={...kn.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},A0={...kn.DefaultType,content:"(null|string|element|function)"};class wr extends kn{static get Default(){return S0}static get DefaultType(){return A0}static get NAME(){return x0}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[w0]:this._getTitle(),[E0]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(h){return this.each(function(){const _=wr.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof _[h]>"u")throw new TypeError(`No method named "${h}"`);_[h]()}})}}M(wr);const C0="scrollspy",Sl=".bs.scrollspy",$0=".data-api",P0=`activate${Sl}`,Uu=`click${Sl}`,k0=`load${Sl}${$0}`,T0="dropdown-item",ui="active",M0='[data-bs-spy="scroll"]',Al="[href]",O0=".nav, .list-group",Ku=".nav-link",D0=`${Ku}, .nav-item > ${Ku}, .list-group-item`,I0=".dropdown",L0=".dropdown-toggle",R0={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},N0={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class io extends J{constructor(h,_){super(h,_),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return R0}static get DefaultType(){return N0}static get NAME(){return C0}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const h of this._observableSections.values())this._observer.observe(h)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(h){return h.target=v(h.target)||document.body,h.rootMargin=h.offset?`${h.offset}px 0px -30%`:h.rootMargin,typeof h.threshold=="string"&&(h.threshold=h.threshold.split(",").map(_=>Number.parseFloat(_))),h}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(B.off(this._config.target,Uu),B.on(this._config.target,Uu,Al,h=>{const _=this._observableSections.get(h.target.hash);if(_){h.preventDefault();const O=this._rootElement||window,U=_.offsetTop-this._element.offsetTop;if(O.scrollTo){O.scrollTo({top:U,behavior:"smooth"});return}O.scrollTop=U}}))}_getNewObserver(){const h={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(_=>this._observerCallback(_),h)}_observerCallback(h){const _=et=>this._targetLinks.get(`#${et.target.id}`),O=et=>{this._previousScrollData.visibleEntryTop=et.target.offsetTop,this._process(_(et))},U=(this._rootElement||document.documentElement).scrollTop,nt=U>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=U;for(const et of h){if(!et.isIntersecting){this._activeTarget=null,this._clearActiveClass(_(et));continue}const $t=et.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(nt&&$t){if(O(et),!U)return;continue}!nt&&!$t&&O(et)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const h=F.find(Al,this._config.target);for(const _ of h){if(!_.hash||E(_))continue;const O=F.findOne(decodeURI(_.hash),this._element);w(O)&&(this._targetLinks.set(decodeURI(_.hash),_),this._observableSections.set(_.hash,O))}}_process(h){this._activeTarget!==h&&(this._clearActiveClass(this._config.target),this._activeTarget=h,h.classList.add(ui),this._activateParents(h),B.trigger(this._element,P0,{relatedTarget:h}))}_activateParents(h){if(h.classList.contains(T0)){F.findOne(L0,h.closest(I0)).classList.add(ui);return}for(const _ of F.parents(h,O0))for(const O of F.prev(_,D0))O.classList.add(ui)}_clearActiveClass(h){h.classList.remove(ui);const _=F.find(`${Al}.${ui}`,h);for(const O of _)O.classList.remove(ui)}static jQueryInterface(h){return this.each(function(){const _=io.getOrCreateInstance(this,h);if(typeof h=="string"){if(_[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);_[h]()}})}}B.on(window,k0,()=>{for(const k of F.find(M0))io.getOrCreateInstance(k)}),M(io);const F0="tab",Tn=".bs.tab",B0=`hide${Tn}`,V0=`hidden${Tn}`,H0=`show${Tn}`,j0=`shown${Tn}`,W0=`click${Tn}`,z0=`keydown${Tn}`,U0=`load${Tn}`,K0="ArrowLeft",Yu="ArrowRight",Y0="ArrowUp",qu="ArrowDown",Cl="Home",Gu="End",Mn="active",Xu="fade",$l="show",q0="dropdown",Ju=".dropdown-toggle",G0=".dropdown-menu",Pl=`:not(${Ju})`,X0='.list-group, .nav, [role="tablist"]',J0=".nav-item, .list-group-item",Q0=`.nav-link${Pl}, .list-group-item${Pl}, [role="tab"]${Pl}`,Qu='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',kl=`${Q0}, ${Qu}`,Z0=`.${Mn}[data-bs-toggle="tab"], .${Mn}[data-bs-toggle="pill"], .${Mn}[data-bs-toggle="list"]`;class On extends J{constructor(h){super(h),this._parent=this._element.closest(X0),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),B.on(this._element,z0,_=>this._keydown(_)))}static get NAME(){return F0}show(){const h=this._element;if(this._elemIsActive(h))return;const _=this._getActiveElem(),O=_?B.trigger(_,B0,{relatedTarget:h}):null;B.trigger(h,H0,{relatedTarget:_}).defaultPrevented||O&&O.defaultPrevented||(this._deactivate(_,h),this._activate(h,_))}_activate(h,_){if(!h)return;h.classList.add(Mn),this._activate(F.getElementFromSelector(h));const O=()=>{if(h.getAttribute("role")!=="tab"){h.classList.add($l);return}h.removeAttribute("tabindex"),h.setAttribute("aria-selected",!0),this._toggleDropDown(h,!0),B.trigger(h,j0,{relatedTarget:_})};this._queueCallback(O,h,h.classList.contains(Xu))}_deactivate(h,_){if(!h)return;h.classList.remove(Mn),h.blur(),this._deactivate(F.getElementFromSelector(h));const O=()=>{if(h.getAttribute("role")!=="tab"){h.classList.remove($l);return}h.setAttribute("aria-selected",!1),h.setAttribute("tabindex","-1"),this._toggleDropDown(h,!1),B.trigger(h,V0,{relatedTarget:_})};this._queueCallback(O,h,h.classList.contains(Xu))}_keydown(h){if(![K0,Yu,Y0,qu,Cl,Gu].includes(h.key))return;h.stopPropagation(),h.preventDefault();const _=this._getChildren().filter(U=>!E(U));let O;if([Cl,Gu].includes(h.key))O=_[h.key===Cl?0:_.length-1];else{const U=[Yu,qu].includes(h.key);O=Q(_,h.target,U,!0)}O&&(O.focus({preventScroll:!0}),On.getOrCreateInstance(O).show())}_getChildren(){return F.find(kl,this._parent)}_getActiveElem(){return this._getChildren().find(h=>this._elemIsActive(h))||null}_setInitialAttributes(h,_){this._setAttributeIfNotExists(h,"role","tablist");for(const O of _)this._setInitialAttributesOnChild(O)}_setInitialAttributesOnChild(h){h=this._getInnerElement(h);const _=this._elemIsActive(h),O=this._getOuterElement(h);h.setAttribute("aria-selected",_),O!==h&&this._setAttributeIfNotExists(O,"role","presentation"),_||h.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(h,"role","tab"),this._setInitialAttributesOnTargetPanel(h)}_setInitialAttributesOnTargetPanel(h){const _=F.getElementFromSelector(h);_&&(this._setAttributeIfNotExists(_,"role","tabpanel"),h.id&&this._setAttributeIfNotExists(_,"aria-labelledby",`${h.id}`))}_toggleDropDown(h,_){const O=this._getOuterElement(h);if(!O.classList.contains(q0))return;const U=(nt,et)=>{const $t=F.findOne(nt,O);$t&&$t.classList.toggle(et,_)};U(Ju,Mn),U(G0,$l),O.setAttribute("aria-expanded",_)}_setAttributeIfNotExists(h,_,O){h.hasAttribute(_)||h.setAttribute(_,O)}_elemIsActive(h){return h.classList.contains(Mn)}_getInnerElement(h){return h.matches(kl)?h:F.findOne(kl,h)}_getOuterElement(h){return h.closest(J0)||h}static jQueryInterface(h){return this.each(function(){const _=On.getOrCreateInstance(this);if(typeof h=="string"){if(_[h]===void 0||h.startsWith("_")||h==="constructor")throw new TypeError(`No method named "${h}"`);_[h]()}})}}B.on(document,W0,Qu,function(k){["A","AREA"].includes(this.tagName)&&k.preventDefault(),!E(this)&&On.getOrCreateInstance(this).show()}),B.on(window,U0,()=>{for(const k of F.find(Z0))On.getOrCreateInstance(k)}),M(On);const t1="toast",Us=".bs.toast",e1=`mouseover${Us}`,s1=`mouseout${Us}`,n1=`focusin${Us}`,i1=`focusout${Us}`,o1=`hide${Us}`,r1=`hidden${Us}`,a1=`show${Us}`,l1=`shown${Us}`,c1="fade",Zu="hide",Er="show",Sr="showing",d1={animation:"boolean",autohide:"boolean",delay:"number"},u1={animation:!0,autohide:!0,delay:5e3};class oo extends J{constructor(h,_){super(h,_),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return u1}static get DefaultType(){return d1}static get NAME(){return t1}show(){if(B.trigger(this._element,a1).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(c1);const _=()=>{this._element.classList.remove(Sr),B.trigger(this._element,l1),this._maybeScheduleHide()};this._element.classList.remove(Zu),y(this._element),this._element.classList.add(Er,Sr),this._queueCallback(_,this._element,this._config.animation)}hide(){if(!this.isShown()||B.trigger(this._element,o1).defaultPrevented)return;const _=()=>{this._element.classList.add(Zu),this._element.classList.remove(Sr,Er),B.trigger(this._element,r1)};this._element.classList.add(Sr),this._queueCallback(_,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Er),super.dispose()}isShown(){return this._element.classList.contains(Er)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(h,_){switch(h.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=_;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=_;break}}if(_){this._clearTimeout();return}const O=h.relatedTarget;this._element===O||this._element.contains(O)||this._maybeScheduleHide()}_setListeners(){B.on(this._element,e1,h=>this._onInteraction(h,!0)),B.on(this._element,s1,h=>this._onInteraction(h,!1)),B.on(this._element,n1,h=>this._onInteraction(h,!0)),B.on(this._element,i1,h=>this._onInteraction(h,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(h){return this.each(function(){const _=oo.getOrCreateInstance(this,h);if(typeof h=="string"){if(typeof _[h]>"u")throw new TypeError(`No method named "${h}"`);_[h](this)}})}}return Z(oo),M(oo),{Alert:Ot,Button:pe,Carousel:ai,Collapse:ci,Dropdown:Ze,Modal:Pn,Offcanvas:Es,Popover:wr,ScrollSpy:io,Tab:On,Toast:oo,Tooltip:kn}})})(_1);/**
* @vue/shared v3.4.29
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**//*! #__NO_SIDE_EFFECTS__ */function hd(e,t){const s=new Set(e.split(","));return t?n=>s.has(n.toLowerCase()):n=>s.has(n)}const Yt={},yi=[],Ye=()=>{},ax=()=>!1,Va=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),fd=e=>e.startsWith("onUpdate:"),ee=Object.assign,pd=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},lx=Object.prototype.hasOwnProperty,Nt=(e,t)=>lx.call(e,t),gt=Array.isArray,xi=e=>tr(e)==="[object Map]",qi=e=>tr(e)==="[object Set]",lh=e=>tr(e)==="[object Date]",wt=e=>typeof e=="function",se=e=>typeof e=="string",Ns=e=>typeof e=="symbol",Ut=e=>e!==null&&typeof e=="object",wg=e=>(Ut(e)||wt(e))&&wt(e.then)&&wt(e.catch),Eg=Object.prototype.toString,tr=e=>Eg.call(e),cx=e=>tr(e).slice(8,-1),Sg=e=>tr(e)==="[object Object]",gd=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,So=hd(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ha=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},dx=/-(\w)/g,vs=Ha(e=>e.replace(dx,(t,s)=>s?s.toUpperCase():"")),ux=/\B([A-Z])/g,Gi=Ha(e=>e.replace(ux,"-$1").toLowerCase()),ja=Ha(e=>e.charAt(0).toUpperCase()+e.slice(1)),Tl=Ha(e=>e?`on${ja(e)}`:""),pn=(e,t)=>!Object.is(e,t),ta=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},Ag=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},_a=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Cg=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let ch;const $g=()=>ch||(ch=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Mi(e){if(gt(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],i=se(n)?gx(n):Mi(n);if(i)for(const o in i)t[o]=i[o]}return t}else if(se(e)||Ut(e))return e}const hx=/;(?![^(]*\))/g,fx=/:([^]+)/,px=/\/\*[^]*?\*\//g;function gx(e){const t={};return e.replace(px,"").split(hx).forEach(s=>{if(s){const n=s.split(fx);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Rt(e){let t="";if(se(e))t=e;else if(gt(e))for(let s=0;s<e.length;s++){const n=Rt(e[s]);n&&(t+=n+" ")}else if(Ut(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const mx="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",_x=hd(mx);function Pg(e){return!!e||e===""}function bx(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=Zn(e[n],t[n]);return s}function Zn(e,t){if(e===t)return!0;let s=lh(e),n=lh(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Ns(e),n=Ns(t),s||n)return e===t;if(s=gt(e),n=gt(t),s||n)return s&&n?bx(e,t):!1;if(s=Ut(e),n=Ut(t),s||n){if(!s||!n)return!1;const i=Object.keys(e).length,o=Object.keys(t).length;if(i!==o)return!1;for(const r in e){const a=e.hasOwnProperty(r),l=t.hasOwnProperty(r);if(a&&!l||!a&&l||!Zn(e[r],t[r]))return!1}}return String(e)===String(t)}function md(e,t){return e.findIndex(s=>Zn(s,t))}const lt=e=>se(e)?e:e==null?"":gt(e)||Ut(e)&&(e.toString===Eg||!wt(e.toString))?JSON.stringify(e,kg,2):String(e),kg=(e,t)=>t&&t.__v_isRef?kg(e,t.value):xi(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],o)=>(s[Ml(n,o)+" =>"]=i,s),{})}:qi(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Ml(s))}:Ns(t)?Ml(t):Ut(t)&&!gt(t)&&!Sg(t)?String(t):t,Ml=(e,t="")=>{var s;return Ns(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
* @vue/reactivity v3.4.29
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let De;class Tg{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=De,!t&&De&&(this.index=(De.scopes||(De.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const s=De;try{return De=this,t()}finally{De=s}}}on(){De=this}off(){De=this.parent}stop(t){if(this._active){let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.scopes)for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0,this._active=!1}}}function Mg(e){return new Tg(e)}function vx(e,t=De){t&&t.active&&t.effects.push(e)}function _d(){return De}function Og(e){De&&De.cleanups.push(e)}let Un;class bd{constructor(t,s,n,i){this.fn=t,this.trigger=s,this.scheduler=n,this.active=!0,this.deps=[],this._dirtyLevel=5,this._trackId=0,this._runnings=0,this._shouldSchedule=!1,this._depsLength=0,vx(this,i)}get dirty(){if(this._dirtyLevel===2)return!1;if(this._dirtyLevel===3||this._dirtyLevel===4){this._dirtyLevel=1,yn();for(let t=0;t<this._depsLength;t++){const s=this.deps[t];if(s.computed){if(s.computed.effect._dirtyLevel===2)return!0;if(yx(s.computed),this._dirtyLevel>=5)break}}this._dirtyLevel===1&&(this._dirtyLevel=0),xn()}return this._dirtyLevel>=5}set dirty(t){this._dirtyLevel=t?5:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=dn,s=Un;try{return dn=!0,Un=this,this._runnings++,dh(this),this.fn()}finally{uh(this),this._runnings--,Un=s,dn=t}}stop(){this.active&&(dh(this),uh(this),this.onStop&&this.onStop(),this.active=!1)}}function yx(e){return e.value}function dh(e){e._trackId++,e._depsLength=0}function uh(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t<e.deps.length;t++)Dg(e.deps[t],e);e.deps.length=e._depsLength}}function Dg(e,t){const s=e.get(t);s!==void 0&&t._trackId!==s&&(e.delete(t),e.size===0&&e.cleanup())}let dn=!0,uc=0;const Ig=[];function yn(){Ig.push(dn),dn=!1}function xn(){const e=Ig.pop();dn=e===void 0?!0:e}function vd(){uc++}function yd(){for(uc--;!uc&&hc.length;)hc.shift()()}function Lg(e,t,s){if(t.get(e)!==e._trackId){t.set(e,e._trackId);const n=e.deps[e._depsLength];n!==t?(n&&Dg(n,e),e.deps[e._depsLength++]=t):e._depsLength++}}const hc=[];function Rg(e,t,s){vd();for(const n of e.keys()){if(!e.computed&&n.computed&&e.get(n)===n._trackId&&n._runnings>0){n._dirtyLevel=2;continue}let i;n._dirtyLevel<t&&(i??(i=e.get(n)===n._trackId))&&(n._shouldSchedule||(n._shouldSchedule=n._dirtyLevel===0),n.computed&&n._dirtyLevel===2&&(n._shouldSchedule=!0),n._dirtyLevel=t),n._shouldSchedule&&(i??(i=e.get(n)===n._trackId))&&(n.trigger(),(!n._runnings||n.allowRecurse)&&n._dirtyLevel!==3&&(n._shouldSchedule=!1,n.scheduler&&hc.push(n.scheduler)))}yd()}const Ng=(e,t)=>{const s=new Map;return s.cleanup=e,s.computed=t,s},ba=new WeakMap,Kn=Symbol(""),fc=Symbol("");function Me(e,t,s){if(dn&&Un){let n=ba.get(e);n||ba.set(e,n=new Map);let i=n.get(s);i||n.set(s,i=Ng(()=>n.delete(s))),Lg(Un,i)}}function Ls(e,t,s,n,i,o){const r=ba.get(e);if(!r)return;let a=[];if(t==="clear")a=[...r.values()];else if(s==="length"&&gt(e)){const l=Number(n);r.forEach((c,d)=>{(d==="length"||!Ns(d)&&d>=l)&&a.push(c)})}else switch(s!==void 0&&a.push(r.get(s)),t){case"add":gt(e)?gd(s)&&a.push(r.get("length")):(a.push(r.get(Kn)),xi(e)&&a.push(r.get(fc)));break;case"delete":gt(e)||(a.push(r.get(Kn)),xi(e)&&a.push(r.get(fc)));break;case"set":xi(e)&&a.push(r.get(Kn));break}vd();for(const l of a)l&&Rg(l,5);yd()}function xx(e,t){const s=ba.get(e);return s&&s.get(t)}const wx=hd("__proto__,__v_isRef,__isVue"),Fg=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ns)),hh=Ex();function Ex(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...s){const n=Tt(this);for(let o=0,r=this.length;o<r;o++)Me(n,"get",o+"");const i=n[t](...s);return i===-1||i===!1?n[t](...s.map(Tt)):i}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...s){yn(),vd();const n=Tt(this)[t].apply(this,s);return yd(),xn(),n}}),e}function Sx(e){Ns(e)||(e=String(e));const t=Tt(this);return Me(t,"has",e),t.hasOwnProperty(e)}class Bg{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){const i=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return o;if(s==="__v_raw")return n===(i?o?Nx:Wg:o?jg:Hg).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=gt(t);if(!i){if(r&&Nt(hh,s))return Reflect.get(hh,s,n);if(s==="hasOwnProperty")return Sx}const a=Reflect.get(t,s,n);return(Ns(s)?Fg.has(s):wx(s))||(i||Me(t,"get",s),o)?a:ae(a)?r&&gd(s)?a:a.value:Ut(a)?i?Ug(a):er(a):a}}class Vg extends Bg{constructor(t=!1){super(!1,t)}set(t,s,n,i){let o=t[s];if(!this._isShallow){const l=No(o);if(!va(n)&&!No(n)&&(o=Tt(o),n=Tt(n)),!gt(t)&&ae(o)&&!ae(n))return l?!1:(o.value=n,!0)}const r=gt(t)&&gd(s)?Number(s)<t.length:Nt(t,s),a=Reflect.set(t,s,n,i);return t===Tt(i)&&(r?pn(n,o)&&Ls(t,"set",s,n):Ls(t,"add",s,n)),a}deleteProperty(t,s){const n=Nt(t,s);t[s];const i=Reflect.deleteProperty(t,s);return i&&n&&Ls(t,"delete",s,void 0),i}has(t,s){const n=Reflect.has(t,s);return(!Ns(s)||!Fg.has(s))&&Me(t,"has",s),n}ownKeys(t){return Me(t,"iterate",gt(t)?"length":Kn),Reflect.ownKeys(t)}}class Ax extends Bg{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Cx=new Vg,$x=new Ax,Px=new Vg(!0);const xd=e=>e,Wa=e=>Reflect.getPrototypeOf(e);function $r(e,t,s=!1,n=!1){e=e.__v_raw;const i=Tt(e),o=Tt(t);s||(pn(t,o)&&Me(i,"get",t),Me(i,"get",o));const{has:r}=Wa(i),a=n?xd:s?Sd:Fo;if(r.call(i,t))return a(e.get(t));if(r.call(i,o))return a(e.get(o));e!==i&&e.get(t)}function Pr(e,t=!1){const s=this.__v_raw,n=Tt(s),i=Tt(e);return t||(pn(e,i)&&Me(n,"has",e),Me(n,"has",i)),e===i?s.has(e):s.has(e)||s.has(i)}function kr(e,t=!1){return e=e.__v_raw,!t&&Me(Tt(e),"iterate",Kn),Reflect.get(e,"size",e)}function fh(e){e=Tt(e);const t=Tt(this);return Wa(t).has.call(t,e)||(t.add(e),Ls(t,"add",e,e)),this}function ph(e,t){t=Tt(t);const s=Tt(this),{has:n,get:i}=Wa(s);let o=n.call(s,e);o||(e=Tt(e),o=n.call(s,e));const r=i.call(s,e);return s.set(e,t),o?pn(t,r)&&Ls(s,"set",e,t):Ls(s,"add",e,t),this}function gh(e){const t=Tt(this),{has:s,get:n}=Wa(t);let i=s.call(t,e);i||(e=Tt(e),i=s.call(t,e)),n&&n.call(t,e);const o=t.delete(e);return i&&Ls(t,"delete",e,void 0),o}function mh(){const e=Tt(this),t=e.size!==0,s=e.clear();return t&&Ls(e,"clear",void 0,void 0),s}function Tr(e,t){return function(n,i){const o=this,r=o.__v_raw,a=Tt(r),l=t?xd:e?Sd:Fo;return!e&&Me(a,"iterate",Kn),r.forEach((c,d)=>n.call(i,l(c),l(d),o))}}function Mr(e,t,s){return function(...n){const i=this.__v_raw,o=Tt(i),r=xi(o),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...n),d=s?xd:t?Sd:Fo;return!t&&Me(o,"iterate",l?fc:Kn),{next(){const{value:u,done:f}=c.next();return f?{value:u,done:f}:{value:a?[d(u[0]),d(u[1])]:d(u),done:f}},[Symbol.iterator](){return this}}}}function Ks(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function kx(){const e={get(o){return $r(this,o)},get size(){return kr(this)},has:Pr,add:fh,set:ph,delete:gh,clear:mh,forEach:Tr(!1,!1)},t={get(o){return $r(this,o,!1,!0)},get size(){return kr(this)},has:Pr,add:fh,set:ph,delete:gh,clear:mh,forEach:Tr(!1,!0)},s={get(o){return $r(this,o,!0)},get size(){return kr(this,!0)},has(o){return Pr.call(this,o,!0)},add:Ks("add"),set:Ks("set"),delete:Ks("delete"),clear:Ks("clear"),forEach:Tr(!0,!1)},n={get(o){return $r(this,o,!0,!0)},get size(){return kr(this,!0)},has(o){return Pr.call(this,o,!0)},add:Ks("add"),set:Ks("set"),delete:Ks("delete"),clear:Ks("clear"),forEach:Tr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Mr(o,!1,!1),s[o]=Mr(o,!0,!1),t[o]=Mr(o,!1,!0),n[o]=Mr(o,!0,!0)}),[e,s,t,n]}const[Tx,Mx,Ox,Dx]=kx();function wd(e,t){const s=t?e?Dx:Ox:e?Mx:Tx;return(n,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(Nt(s,i)&&i in n?s:n,i,o)}const Ix={get:wd(!1,!1)},Lx={get:wd(!1,!0)},Rx={get:wd(!0,!1)};const Hg=new WeakMap,jg=new WeakMap,Wg=new WeakMap,Nx=new WeakMap;function Fx(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bx(e){return e.__v_skip||!Object.isExtensible(e)?0:Fx(cx(e))}function er(e){return No(e)?e:Ed(e,!1,Cx,Ix,Hg)}function zg(e){return Ed(e,!1,Px,Lx,jg)}function Ug(e){return Ed(e,!0,$x,Rx,Wg)}function Ed(e,t,s,n,i){if(!Ut(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=Bx(e);if(r===0)return e;const a=new Proxy(e,r===2?n:s);return i.set(e,a),a}function Yn(e){return No(e)?Yn(e.__v_raw):!!(e&&e.__v_isReactive)}function No(e){return!!(e&&e.__v_isReadonly)}function va(e){return!!(e&&e.__v_isShallow)}function za(e){return e?!!e.__v_raw:!1}function Tt(e){const t=e&&e.__v_raw;return t?Tt(t):e}function Ua(e){return Object.isExtensible(e)&&Ag(e,"__v_skip",!0),e}const Fo=e=>Ut(e)?er(e):e,Sd=e=>Ut(e)?Ug(e):e;class Kg{constructor(t,s,n,i){this.getter=t,this._setter=s,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new bd(()=>t(this._value),()=>ea(this,this.effect._dirtyLevel===3?3:4)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=n}get value(){const t=Tt(this);return(!t._cacheable||t.effect.dirty)&&pn(t._value,t._value=t.effect.run())&&ea(t,5),Yg(t),t.effect._dirtyLevel>=2&&ea(t,3),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Vx(e,t,s=!1){let n,i;const o=wt(e);return o?(n=e,i=Ye):(n=e.get,i=e.set),new Kg(n,i,o||!i,s)}function Yg(e){var t;dn&&Un&&(e=Tt(e),Lg(Un,(t=e.dep)!=null?t:e.dep=Ng(()=>e.dep=void 0,e instanceof Kg?e:void 0)))}function ea(e,t=5,s,n){e=Tt(e);const i=e.dep;i&&Rg(i,t)}function ae(e){return!!(e&&e.__v_isRef===!0)}function Oi(e){return qg(e,!1)}function Ad(e){return qg(e,!0)}function qg(e,t){return ae(e)?e:new Hx(e,t)}class Hx{constructor(t,s){this.__v_isShallow=s,this.dep=void 0,this.__v_isRef=!0,this._rawValue=s?t:Tt(t),this._value=s?t:Fo(t)}get value(){return Yg(this),this._value}set value(t){const s=this.__v_isShallow||va(t)||No(t);t=s?t:Tt(t),pn(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=s?t:Fo(t),ea(this,5))}}function un(e){return ae(e)?e.value:e}const jx={get:(e,t,s)=>un(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return ae(i)&&!ae(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function Gg(e){return Yn(e)?e:new Proxy(e,jx)}function Wx(e){const t=gt(e)?new Array(e.length):{};for(const s in e)t[s]=Ux(e,s);return t}class zx{constructor(t,s,n){this._object=t,this._key=s,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return xx(Tt(this._object),this._key)}}function Ux(e,t,s){const n=e[t];return ae(n)?n:new zx(e,t,s)}/**
* @vue/runtime-core v3.4.29
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function hn(e,t,s,n){try{return n?e(...n):e()}catch(i){sr(i,t,s)}}function Je(e,t,s,n){if(wt(e)){const i=hn(e,t,s,n);return i&&wg(i)&&i.catch(o=>{sr(o,t,s)}),i}if(gt(e)){const i=[];for(let o=0;o<e.length;o++)i.push(Je(e[o],t,s,n));return i}}function sr(e,t,s,n=!0){const i=t?t.vnode:null;if(t){let o=t.parent;const r=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${s}`;for(;o;){const c=o.ec;if(c){for(let d=0;d<c.length;d++)if(c[d](e,r,a)===!1)return}o=o.parent}const l=t.appContext.config.errorHandler;if(l){yn(),hn(l,null,10,[e,r,a]),xn();return}}Kx(e,s,i,n)}function Kx(e,t,s,n=!0){console.error(e)}let Bo=!1,pc=!1;const me=[];let hs=0;const wi=[];let Qs=null,jn=0;const Xg=Promise.resolve();let Cd=null;function nr(e){const t=Cd||Xg;return e?t.then(this?e.bind(this):e):t}function Yx(e){let t=hs+1,s=me.length;for(;t<s;){const n=t+s>>>1,i=me[n],o=Vo(i);o<e||o===e&&i.pre?t=n+1:s=n}return t}function $d(e){(!me.length||!me.includes(e,Bo&&e.allowRecurse?hs+1:hs))&&(e.id==null?me.push(e):me.splice(Yx(e.id),0,e),Jg())}function Jg(){!Bo&&!pc&&(pc=!0,Cd=Xg.then(Zg))}function qx(e){const t=me.indexOf(e);t>hs&&me.splice(t,1)}function gc(e){gt(e)?wi.push(...e):(!Qs||!Qs.includes(e,e.allowRecurse?jn+1:jn))&&wi.push(e),Jg()}function _h(e,t,s=Bo?hs+1:0){for(;s<me.length;s++){const n=me[s];if(n&&n.pre){if(e&&n.id!==e.uid)continue;me.splice(s,1),s--,n()}}}function Qg(e){if(wi.length){const t=[...new Set(wi)].sort((s,n)=>Vo(s)-Vo(n));if(wi.length=0,Qs){Qs.push(...t);return}for(Qs=t,jn=0;jn<Qs.length;jn++){const s=Qs[jn];s.active!==!1&&s()}Qs=null,jn=0}}const Vo=e=>e.id==null?1/0:e.id,Gx=(e,t)=>{const s=Vo(e)-Vo(t);if(s===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return s};function Zg(e){pc=!1,Bo=!0,me.sort(Gx);try{for(hs=0;hs<me.length;hs++){const t=me[hs];t&&t.active!==!1&&hn(t,null,14)}}finally{hs=0,me.length=0,Qg(),Bo=!1,Cd=null,(me.length||wi.length)&&Zg()}}function Xx(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||Yt;let i=s;const o=t.startsWith("update:"),r=o&&t.slice(7);if(r&&r in n){const d=`${r==="modelValue"?"model":r}Modifiers`,{number:u,trim:f}=n[d]||Yt;f&&(i=s.map(g=>se(g)?g.trim():g)),u&&(i=s.map(_a))}let a,l=n[a=Tl(t)]||n[a=Tl(vs(t))];!l&&o&&(l=n[a=Tl(Gi(t))]),l&&Je(l,e,6,i);const c=n[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Je(c,e,6,i)}}function tm(e,t,s=!1){const n=t.emitsCache,i=n.get(e);if(i!==void 0)return i;const o=e.emits;let r={},a=!1;if(!wt(e)){const l=c=>{const d=tm(c,t,!0);d&&(a=!0,ee(r,d))};!s&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(Ut(e)&&n.set(e,null),null):(gt(o)?o.forEach(l=>r[l]=null):ee(r,o),Ut(e)&&n.set(e,r),r)}function Ka(e,t){return!e||!Va(t)?!1:(t=t.slice(2).replace(/Once$/,""),Nt(e,t[0].toLowerCase()+t.slice(1))||Nt(e,Gi(t))||Nt(e,t))}let Ee=null,Ya=null;function ya(e){const t=Ee;return Ee=e,Ya=e&&e.type.__scopeId||null,t}function Bs(e){Ya=e}function Vs(){Ya=null}function Bt(e,t=Ee,s){if(!t||e._n)return e;const n=(...i)=>{n._d&&Mh(-1);const o=ya(t);let r;try{r=e(...i)}finally{ya(o),n._d&&Mh(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function Ol(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[o],slots:r,attrs:a,emit:l,render:c,renderCache:d,props:u,data:f,setupState:g,ctx:m,inheritAttrs:b}=e,v=ya(e);let w,E;try{if(s.shapeFlag&4){const T=i||n,y=T;w=ss(c.call(y,T,d,u,g,f,m)),E=a}else{const T=t;w=ss(T.length>1?T(u,{attrs:a,slots:r,emit:l}):T(u,null)),E=t.props?a:Qx(a)}}catch(T){Co.length=0,sr(T,e,1),w=dt(we)}let $=w;if(E&&b!==!1){const T=Object.keys(E),{shapeFlag:y}=$;T.length&&y&7&&(o&&T.some(fd)&&(E=Zx(E,o)),$=gn($,E,!1,!0))}return s.dirs&&($=gn($,null,!1,!0),$.dirs=$.dirs?$.dirs.concat(s.dirs):s.dirs),s.transition&&($.transition=s.transition),w=$,ya(v),w}function Jx(e,t=!0){let s;for(let n=0;n<e.length;n++){const i=e[n];if(wa(i)){if(i.type!==we||i.children==="v-if"){if(s)return;s=i}}else return}return s}const Qx=e=>{let t;for(const s in e)(s==="class"||s==="style"||Va(s))&&((t||(t={}))[s]=e[s]);return t},Zx=(e,t)=>{const s={};for(const n in e)(!fd(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function tw(e,t,s){const{props:n,children:i,component:o}=e,{props:r,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&l>=0){if(l&1024)return!0;if(l&16)return n?bh(n,r,c):!!r;if(l&8){const d=t.dynamicProps;for(let u=0;u<d.length;u++){const f=d[u];if(r[f]!==n[f]&&!Ka(c,f))return!0}}}else return(i||a)&&(!a||!a.$stable)?!0:n===r?!1:n?r?bh(n,r,c):!0:!!r;return!1}function bh(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let i=0;i<n.length;i++){const o=n[i];if(t[o]!==e[o]&&!Ka(s,o))return!0}return!1}function Pd({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const kd="components";function Dt(e,t){return sm(kd,e,!0,t)||e}const em=Symbol.for("v-ndc");function Td(e){return se(e)?sm(kd,e,!1)||e:e||em}function sm(e,t,s=!0,n=!1){const i=Ee||ce;if(i){const o=i.type;if(e===kd){const a=Qw(o,!1);if(a&&(a===t||a===vs(t)||a===ja(vs(t))))return o}const r=vh(i[e]||o[e],t)||vh(i.appContext[e],t);return!r&&n?o:r}}function vh(e,t){return e&&(e[t]||e[vs(t)]||e[ja(vs(t))])}const ew=e=>e.__isSuspense;let mc=0;const sw={name:"Suspense",__isSuspense:!0,process(e,t,s,n,i,o,r,a,l,c){if(e==null)nw(t,s,n,i,o,r,a,l,c);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}iw(e,t,s,n,i,r,a,l,c)}},hydrate:ow,create:Md,normalize:rw},qa=sw;function Ho(e,t){const s=e.props&&e.props[t];wt(s)&&s()}function nw(e,t,s,n,i,o,r,a,l){const{p:c,o:{createElement:d}}=l,u=d("div"),f=e.suspense=Md(e,i,n,t,u,s,o,r,a,l);c(null,f.pendingBranch=e.ssContent,u,null,n,f,o,r),f.deps>0?(Ho(e,"onPending"),Ho(e,"onFallback"),c(null,e.ssFallback,t,s,n,null,o,r),Ei(f,e.ssFallback)):f.resolve(!1,!0)}function iw(e,t,s,n,i,o,r,a,{p:l,um:c,o:{createElement:d}}){const u=t.suspense=e.suspense;u.vnode=t,t.el=e.el;const f=t.ssContent,g=t.ssFallback,{activeBranch:m,pendingBranch:b,isInFallback:v,isHydrating:w}=u;if(b)u.pendingBranch=f,fs(f,b)?(l(b,f,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0?u.resolve():v&&(w||(l(m,g,s,n,i,null,o,r,a),Ei(u,g)))):(u.pendingId=mc++,w?(u.isHydrating=!1,u.activeBranch=b):c(b,i,u),u.deps=0,u.effects.length=0,u.hiddenContainer=d("div"),v?(l(null,f,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0?u.resolve():(l(m,g,s,n,i,null,o,r,a),Ei(u,g))):m&&fs(f,m)?(l(m,f,s,n,i,u,o,r,a),u.resolve(!0)):(l(null,f,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0&&u.resolve()));else if(m&&fs(f,m))l(m,f,s,n,i,u,o,r,a),Ei(u,f);else if(Ho(t,"onPending"),u.pendingBranch=f,f.shapeFlag&512?u.pendingId=f.component.suspenseId:u.pendingId=mc++,l(null,f,u.hiddenContainer,null,i,u,o,r,a),u.deps<=0)u.resolve();else{const{timeout:E,pendingId:$}=u;E>0?setTimeout(()=>{u.pendingId===$&&u.fallback(g)},E):E===0&&u.fallback(g)}}function Md(e,t,s,n,i,o,r,a,l,c,d=!1){const{p:u,m:f,um:g,n:m,o:{parentNode:b,remove:v}}=c;let w;const E=lw(e);E&&t&&t.pendingBranch&&(w=t.pendingId,t.deps++);const $=e.props?Cg(e.props.timeout):void 0,T=o,y={vnode:e,parent:t,parentComponent:s,namespace:r,container:n,hiddenContainer:i,deps:0,pendingId:mc++,timeout:typeof $=="number"?$:-1,activeBranch:null,pendingBranch:null,isInFallback:!d,isHydrating:d,isUnmounted:!1,effects:[],resolve(x=!1,C=!1){const{vnode:S,activeBranch:P,pendingBranch:M,pendingId:I,effects:N,parentComponent:Q,container:G}=y;let V=!1;y.isHydrating?y.isHydrating=!1:x||(V=P&&M.transition&&M.transition.mode==="out-in",V&&(P.transition.afterLeave=()=>{I===y.pendingId&&(f(M,G,o===T?m(P):o,0),gc(N))}),P&&(b(P.el)!==y.hiddenContainer&&(o=m(P)),g(P,Q,y,!0)),V||f(M,G,o,0)),Ei(y,M),y.pendingBranch=null,y.isInFallback=!1;let L=y.parent,W=!1;for(;L;){if(L.pendingBranch){L.effects.push(...N),W=!0;break}L=L.parent}!W&&!V&&gc(N),y.effects=[],E&&t&&t.pendingBranch&&w===t.pendingId&&(t.deps--,t.deps===0&&!C&&t.resolve()),Ho(S,"onResolve")},fallback(x){if(!y.pendingBranch)return;const{vnode:C,activeBranch:S,parentComponent:P,container:M,namespace:I}=y;Ho(C,"onFallback");const N=m(S),Q=()=>{y.isInFallback&&(u(null,x,M,N,P,null,I,a,l),Ei(y,x))},G=x.transition&&x.transition.mode==="out-in";G&&(S.transition.afterLeave=Q),y.isInFallback=!0,g(S,P,null,!0),G||Q()},move(x,C,S){y.activeBranch&&f(y.activeBranch,x,C,S),y.container=x},next(){return y.activeBranch&&m(y.activeBranch)},registerDep(x,C,S){const P=!!y.pendingBranch;P&&y.deps++;const M=x.vnode.el;x.asyncDep.catch(I=>{sr(I,x,0)}).then(I=>{if(x.isUnmounted||y.isUnmounted||y.pendingId!==x.suspenseId)return;x.asyncResolved=!0;const{vnode:N}=x;Ec(x,I,!1),M&&(N.el=M);const Q=!M&&x.subTree.el;C(x,N,b(M||x.subTree.el),M?null:m(x.subTree),y,r,S),Q&&v(Q),Pd(x,N.el),P&&--y.deps===0&&y.resolve()})},unmount(x,C){y.isUnmounted=!0,y.activeBranch&&g(y.activeBranch,s,x,C),y.pendingBranch&&g(y.pendingBranch,s,x,C)}};return y}function ow(e,t,s,n,i,o,r,a,l){const c=t.suspense=Md(t,n,s,e.parentNode,document.createElement("div"),null,i,o,r,a,!0),d=l(e,c.pendingBranch=t.ssContent,s,c,o,r);return c.deps===0&&c.resolve(!1,!0),d}function rw(e){const{shapeFlag:t,children:s}=e,n=t&32;e.ssContent=yh(n?s.default:s),e.ssFallback=n?yh(s.fallback):dt(we)}function yh(e){let t;if(wt(e)){const s=Ii&&e._c;s&&(e._d=!1,H()),e=e(),s&&(e._d=!0,t=qe,Sm())}return gt(e)&&(e=Jx(e)),e=ss(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(s=>s!==e)),e}function aw(e,t){t&&t.pendingBranch?gt(e)?t.effects.push(...e):t.effects.push(e):gc(e)}function Ei(e,t){e.activeBranch=t;const{vnode:s,parentComponent:n}=e;let i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;s.el=i,n&&n.subTree===s&&(n.vnode.el=i,Pd(n,i))}function lw(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}function Ga(e,t,s=ce,n=!1){if(s){const i=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...r)=>{yn();const a=ir(s),l=Je(t,s,e,r);return a(),xn(),l});return n?i.unshift(o):i.push(o),o}}const Hs=e=>(t,s=ce)=>{(!Za||e==="sp")&&Ga(e,(...n)=>t(...n),s)},cw=Hs("bm"),Od=Hs("m"),dw=Hs("bu"),nm=Hs("u"),Dd=Hs("bum"),im=Hs("um"),uw=Hs("sp"),hw=Hs("rtg"),fw=Hs("rtc");function pw(e,t=ce){Ga("ec",e,t)}function mt(e,t){if(Ee===null)return e;const s=tl(Ee),n=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[o,r,a,l=Yt]=t[i];o&&(wt(o)&&(o={mounted:o,updated:o}),o.deep&&sn(r),n.push({dir:o,instance:s,value:r,oldValue:void 0,arg:a,modifiers:l}))}return e}function Dn(e,t,s,n){const i=e.dirs,o=t&&t.dirs;for(let r=0;r<i.length;r++){const a=i[r];o&&(a.oldValue=o[r].value);let l=a.dir[n];l&&(yn(),Je(l,s,8,[e.el,a,e,t]),xn())}}function _e(e,t,s,n){let i;const o=s&&s[n];if(gt(e)||se(e)){i=new Array(e.length);for(let r=0,a=e.length;r<a;r++)i[r]=t(e[r],r,void 0,o&&o[r])}else if(typeof e=="number"){i=new Array(e);for(let r=0;r<e;r++)i[r]=t(r+1,r,void 0,o&&o[r])}else if(Ut(e))if(e[Symbol.iterator])i=Array.from(e,(r,a)=>t(r,a,void 0,o&&o[a]));else{const r=Object.keys(e);i=new Array(r.length);for(let a=0,l=r.length;a<l;a++){const c=r[a];i[a]=t(e[c],c,a,o&&o[a])}}else i=[];return s&&(s[n]=i),i}/*! #__NO_SIDE_EFFECTS__ */function Xa(e,t){return wt(e)?ee({name:e.name},t,{setup:e}):e}const sa=e=>!!e.type.__asyncLoader,_c=e=>e?Pm(e)?tl(e):_c(e.parent):null,Ao=ee(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>_c(e.parent),$root:e=>_c(e.root),$emit:e=>e.emit,$options:e=>Id(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,$d(e.update)}),$nextTick:e=>e.n||(e.n=nr.bind(e.proxy)),$watch:e=>Lw.bind(e)}),Dl=(e,t)=>e!==Yt&&!e.__isScriptSetup&&Nt(e,t),gw={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:o,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const g=r[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return o[t]}else{if(Dl(n,t))return r[t]=1,n[t];if(i!==Yt&&Nt(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&Nt(c,t))return r[t]=3,o[t];if(s!==Yt&&Nt(s,t))return r[t]=4,s[t];bc&&(r[t]=0)}}const d=Ao[t];let u,f;if(d)return t==="$attrs"&&Me(e.attrs,"get",""),d(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(s!==Yt&&Nt(s,t))return r[t]=4,s[t];if(f=l.config.globalProperties,Nt(f,t))return f[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:o}=e;return Dl(i,t)?(i[t]=s,!0):n!==Yt&&Nt(n,t)?(n[t]=s,!0):Nt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,propsOptions:o}},r){let a;return!!s[r]||e!==Yt&&Nt(e,r)||Dl(t,r)||(a=o[0])&&Nt(a,r)||Nt(n,r)||Nt(Ao,r)||Nt(i.config.globalProperties,r)},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:Nt(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function xh(e){return gt(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let bc=!0;function mw(e){const t=Id(e),s=e.proxy,n=e.ctx;bc=!1,t.beforeCreate&&wh(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:a,provide:l,inject:c,created:d,beforeMount:u,mounted:f,beforeUpdate:g,updated:m,activated:b,deactivated:v,beforeDestroy:w,beforeUnmount:E,destroyed:$,unmounted:T,render:y,renderTracked:x,renderTriggered:C,errorCaptured:S,serverPrefetch:P,expose:M,inheritAttrs:I,components:N,directives:Q,filters:G}=t;if(c&&_w(c,n,null),r)for(const W in r){const K=r[W];wt(K)&&(n[W]=K.bind(s))}if(i){const W=i.call(s,s);Ut(W)&&(e.data=er(W))}if(bc=!0,o)for(const W in o){const K=o[W],ot=wt(K)?K.bind(s,s):wt(K.get)?K.get.bind(s,s):Ye,ut=!wt(K)&&wt(K.set)?K.set.bind(s):Ye,bt=Ke({get:ot,set:ut});Object.defineProperty(n,W,{enumerable:!0,configurable:!0,get:()=>bt.value,set:_t=>bt.value=_t})}if(a)for(const W in a)om(a[W],n,s,W);if(l){const W=wt(l)?l.call(s):l;Reflect.ownKeys(W).forEach(K=>{na(K,W[K])})}d&&wh(d,e,"c");function L(W,K){gt(K)?K.forEach(ot=>W(ot.bind(s))):K&&W(K.bind(s))}if(L(cw,u),L(Od,f),L(dw,g),L(nm,m),L(Rw,b),L(Nw,v),L(pw,S),L(fw,x),L(hw,C),L(Dd,E),L(im,T),L(uw,P),gt(M))if(M.length){const W=e.exposed||(e.exposed={});M.forEach(K=>{Object.defineProperty(W,K,{get:()=>s[K],set:ot=>s[K]=ot})})}else e.exposed||(e.exposed={});y&&e.render===Ye&&(e.render=y),I!=null&&(e.inheritAttrs=I),N&&(e.components=N),Q&&(e.directives=Q)}function _w(e,t,s=Ye){gt(e)&&(e=vc(e));for(const n in e){const i=e[n];let o;Ut(i)?"default"in i?o=ms(i.from||n,i.default,!0):o=ms(i.from||n):o=ms(i),ae(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[n]=o}}function wh(e,t,s){Je(gt(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function om(e,t,s,n){const i=n.includes(".")?bm(s,n):()=>s[n];if(se(e)){const o=t[e];wt(o)&&qn(i,o)}else if(wt(e))qn(i,e.bind(s));else if(Ut(e))if(gt(e))e.forEach(o=>om(o,t,s,n));else{const o=wt(e.handler)?e.handler.bind(s):t[e.handler];wt(o)&&qn(i,o,e)}}function Id(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let l;return a?l=a:!i.length&&!s&&!n?l=t:(l={},i.length&&i.forEach(c=>xa(l,c,r,!0)),xa(l,t,r)),Ut(t)&&o.set(t,l),l}function xa(e,t,s,n=!1){const{mixins:i,extends:o}=t;o&&xa(e,o,s,!0),i&&i.forEach(r=>xa(e,r,s,!0));for(const r in t)if(!(n&&r==="expose")){const a=bw[r]||s&&s[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const bw={data:Eh,props:Sh,emits:Sh,methods:po,computed:po,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:po,directives:po,watch:yw,provide:Eh,inject:vw};function Eh(e,t){return t?e?function(){return ee(wt(e)?e.call(this,this):e,wt(t)?t.call(this,this):t)}:t:e}function vw(e,t){return po(vc(e),vc(t))}function vc(e){if(gt(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function xe(e,t){return e?[...new Set([].concat(e,t))]:t}function po(e,t){return e?ee(Object.create(null),e,t):t}function Sh(e,t){return e?gt(e)&&gt(t)?[...new Set([...e,...t])]:ee(Object.create(null),xh(e),xh(t??{})):t}function yw(e,t){if(!e)return t;if(!t)return e;const s=ee(Object.create(null),e);for(const n in t)s[n]=xe(e[n],t[n]);return s}function rm(){return{app:null,config:{isNativeTag:ax,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let xw=0;function ww(e,t){return function(n,i=null){wt(n)||(n=ee({},n)),i!=null&&!Ut(i)&&(i=null);const o=rm(),r=new WeakSet;let a=!1;const l=o.app={_uid:xw++,_component:n,_props:i,_container:null,_context:o,_instance:null,version:Tm,get config(){return o.config},set config(c){},use(c,...d){return r.has(c)||(c&&wt(c.install)?(r.add(c),c.install(l,...d)):wt(c)&&(r.add(c),c(l,...d))),l},mixin(c){return o.mixins.includes(c)||o.mixins.push(c),l},component(c,d){return d?(o.components[c]=d,l):o.components[c]},directive(c,d){return d?(o.directives[c]=d,l):o.directives[c]},mount(c,d,u){if(!a){const f=dt(n,i);return f.appContext=o,u===!0?u="svg":u===!1&&(u=void 0),d&&t?t(f,c):e(f,c,u),a=!0,l._container=c,c.__vue_app__=l,tl(f.component)}},unmount(){a&&(e(null,l._container),delete l._container.__vue_app__)},provide(c,d){return o.provides[c]=d,l},runWithContext(c){const d=Si;Si=l;try{return c()}finally{Si=d}}};return l}}let Si=null;function na(e,t){if(ce){let s=ce.provides;const n=ce.parent&&ce.parent.provides;n===s&&(s=ce.provides=Object.create(n)),s[e]=t}}function ms(e,t,s=!1){const n=ce||Ee;if(n||Si){const i=n?n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:Si._context.provides;if(i&&e in i)return i[e];if(arguments.length>1)return s&&wt(t)?t.call(n&&n.proxy):t}}function Ew(){return!!(ce||Ee||Si)}const am={},lm=()=>Object.create(am),cm=e=>Object.getPrototypeOf(e)===am;function Sw(e,t,s,n=!1){const i={},o=lm();e.propsDefaults=Object.create(null),dm(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);s?e.props=n?i:zg(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function Aw(e,t,s,n){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,a=Tt(i),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let u=0;u<d.length;u++){let f=d[u];if(Ka(e.emitsOptions,f))continue;const g=t[f];if(l)if(Nt(o,f))g!==o[f]&&(o[f]=g,c=!0);else{const m=vs(f);i[m]=yc(l,a,m,g,e,!1)}else g!==o[f]&&(o[f]=g,c=!0)}}}else{dm(e,t,i,o)&&(c=!0);let d;for(const u in a)(!t||!Nt(t,u)&&((d=Gi(u))===u||!Nt(t,d)))&&(l?s&&(s[u]!==void 0||s[d]!==void 0)&&(i[u]=yc(l,a,u,void 0,e,!0)):delete i[u]);if(o!==a)for(const u in o)(!t||!Nt(t,u))&&(delete o[u],c=!0)}c&&Ls(e.attrs,"set","")}function dm(e,t,s,n){const[i,o]=e.propsOptions;let r=!1,a;if(t)for(let l in t){if(So(l))continue;const c=t[l];let d;i&&Nt(i,d=vs(l))?!o||!o.includes(d)?s[d]=c:(a||(a={}))[d]=c:Ka(e.emitsOptions,l)||(!(l in n)||c!==n[l])&&(n[l]=c,r=!0)}if(o){const l=Tt(s),c=a||Yt;for(let d=0;d<o.length;d++){const u=o[d];s[u]=yc(i,l,u,c[u],e,!Nt(c,u))}}return r}function yc(e,t,s,n,i,o){const r=e[s];if(r!=null){const a=Nt(r,"default");if(a&&n===void 0){const l=r.default;if(r.type!==Function&&!r.skipFactory&&wt(l)){const{propsDefaults:c}=i;if(s in c)n=c[s];else{const d=ir(i);n=c[s]=l.call(null,t),d()}}else n=l}r[0]&&(o&&!a?n=!1:r[1]&&(n===""||n===Gi(s))&&(n=!0))}return n}function um(e,t,s=!1){const n=t.propsCache,i=n.get(e);if(i)return i;const o=e.props,r={},a=[];let l=!1;if(!wt(e)){const d=u=>{l=!0;const[f,g]=um(u,t,!0);ee(r,f),g&&a.push(...g)};!s&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!l)return Ut(e)&&n.set(e,yi),yi;if(gt(o))for(let d=0;d<o.length;d++){const u=vs(o[d]);Ah(u)&&(r[u]=Yt)}else if(o)for(const d in o){const u=vs(d);if(Ah(u)){const f=o[d],g=r[u]=gt(f)||wt(f)?{type:f}:ee({},f);if(g){const m=Ph(Boolean,g.type),b=Ph(String,g.type);g[0]=m>-1,g[1]=b<0||m<b,(m>-1||Nt(g,"default"))&&a.push(u)}}}const c=[r,a];return Ut(e)&&n.set(e,c),c}function Ah(e){return e[0]!=="$"&&!So(e)}function Ch(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function $h(e,t){return Ch(e)===Ch(t)}function Ph(e,t){return gt(t)?t.findIndex(s=>$h(s,e)):wt(t)&&$h(t,e)?0:-1}const hm=e=>e[0]==="_"||e==="$stable",Ld=e=>gt(e)?e.map(ss):[ss(e)],Cw=(e,t,s)=>{if(t._n)return t;const n=Bt((...i)=>Ld(t(...i)),s);return n._c=!1,n},fm=(e,t,s)=>{const n=e._ctx;for(const i in e){if(hm(i))continue;const o=e[i];if(wt(o))t[i]=Cw(i,o,n);else if(o!=null){const r=Ld(o);t[i]=()=>r}}},pm=(e,t)=>{const s=Ld(t);e.slots.default=()=>s},$w=(e,t)=>{const s=e.slots=lm();if(e.vnode.shapeFlag&32){const n=t._;n?(ee(s,t),Ag(s,"_",n,!0)):fm(t,s)}else t&&pm(e,t)},Pw=(e,t,s)=>{const{vnode:n,slots:i}=e;let o=!0,r=Yt;if(n.shapeFlag&32){const a=t._;a?s&&a===1?o=!1:(ee(i,t),!s&&a===1&&delete i._):(o=!t.$stable,fm(t,i)),r=t}else t&&(pm(e,t),r={default:1});if(o)for(const a in i)!hm(a)&&r[a]==null&&delete i[a]};function xc(e,t,s,n,i=!1){if(gt(e)){e.forEach((f,g)=>xc(f,t&&(gt(t)?t[g]:t),s,n,i));return}if(sa(n)&&!i)return;const o=n.shapeFlag&4?tl(n.component):n.el,r=i?null:o,{i:a,r:l}=e,c=t&&t.r,d=a.refs===Yt?a.refs={}:a.refs,u=a.setupState;if(c!=null&&c!==l&&(se(c)?(d[c]=null,Nt(u,c)&&(u[c]=null)):ae(c)&&(c.value=null)),wt(l))hn(l,a,12,[r,d]);else{const f=se(l),g=ae(l);if(f||g){const m=()=>{if(e.f){const b=f?Nt(u,l)?u[l]:d[l]:l.value;i?gt(b)&&pd(b,o):gt(b)?b.includes(o)||b.push(o):f?(d[l]=[o],Nt(u,l)&&(u[l]=d[l])):(l.value=[o],e.k&&(d[e.k]=l.value))}else f?(d[l]=r,Nt(u,l)&&(u[l]=r)):g&&(l.value=r,e.k&&(d[e.k]=r))};r?(m.id=-1,ke(m,s)):m()}}}const ke=aw;function kw(e){return Tw(e)}function Tw(e,t){const s=$g();s.__VUE__=!0;const{insert:n,remove:i,patchProp:o,createElement:r,createText:a,createComment:l,setText:c,setElementText:d,parentNode:u,nextSibling:f,setScopeId:g=Ye,insertStaticContent:m}=e,b=(A,D,R,Y=null,z=null,J=null,rt=void 0,F=null,Z=!!D.dynamicChildren)=>{if(A===D)return;A&&!fs(A,D)&&(Y=j(A),_t(A,z,J,!0),A=null),D.patchFlag===-2&&(Z=!1,D.dynamicChildren=null);const{type:X,ref:ct,shapeFlag:pt}=D;switch(X){case Qa:v(A,D,R,Y);break;case we:w(A,D,R,Y);break;case Rl:A==null&&E(D,R,Y,rt);break;case Ht:N(A,D,R,Y,z,J,rt,F,Z);break;default:pt&1?y(A,D,R,Y,z,J,rt,F,Z):pt&6?Q(A,D,R,Y,z,J,rt,F,Z):(pt&64||pt&128)&&X.process(A,D,R,Y,z,J,rt,F,Z,at)}ct!=null&&z&&xc(ct,A&&A.ref,J,D||A,!D)},v=(A,D,R,Y)=>{if(A==null)n(D.el=a(D.children),R,Y);else{const z=D.el=A.el;D.children!==A.children&&c(z,D.children)}},w=(A,D,R,Y)=>{A==null?n(D.el=l(D.children||""),R,Y):D.el=A.el},E=(A,D,R,Y)=>{[A.el,A.anchor]=m(A.children,D,R,Y,A.el,A.anchor)},$=({el:A,anchor:D},R,Y)=>{let z;for(;A&&A!==D;)z=f(A),n(A,R,Y),A=z;n(D,R,Y)},T=({el:A,anchor:D})=>{let R;for(;A&&A!==D;)R=f(A),i(A),A=R;i(D)},y=(A,D,R,Y,z,J,rt,F,Z)=>{D.type==="svg"?rt="svg":D.type==="math"&&(rt="mathml"),A==null?x(D,R,Y,z,J,rt,F,Z):P(A,D,z,J,rt,F,Z)},x=(A,D,R,Y,z,J,rt,F)=>{let Z,X;const{props:ct,shapeFlag:pt,transition:ft,dirs:vt}=A;if(Z=A.el=r(A.type,J,ct&&ct.is,ct),pt&8?d(Z,A.children):pt&16&&S(A.children,Z,null,Y,z,Il(A,J),rt,F),vt&&Dn(A,null,Y,"created"),C(Z,A,A.scopeId,rt,Y),ct){for(const jt in ct)jt!=="value"&&!So(jt)&&o(Z,jt,null,ct[jt],J,A.children,Y,z,Ct);"value"in ct&&o(Z,"value",null,ct.value,J),(X=ct.onVnodeBeforeMount)&&cs(X,Y,A)}vt&&Dn(A,null,Y,"beforeMount");const Et=Mw(z,ft);Et&&ft.beforeEnter(Z),n(Z,D,R),((X=ct&&ct.onVnodeMounted)||Et||vt)&&ke(()=>{X&&cs(X,Y,A),Et&&ft.enter(Z),vt&&Dn(A,null,Y,"mounted")},z)},C=(A,D,R,Y,z)=>{if(R&&g(A,R),Y)for(let J=0;J<Y.length;J++)g(A,Y[J]);if(z){let J=z.subTree;if(D===J){const rt=z.vnode;C(A,rt,rt.scopeId,rt.slotScopeIds,z.parent)}}},S=(A,D,R,Y,z,J,rt,F,Z=0)=>{for(let X=Z;X<A.length;X++){const ct=A[X]=F?tn(A[X]):ss(A[X]);b(null,ct,D,R,Y,z,J,rt,F)}},P=(A,D,R,Y,z,J,rt)=>{const F=D.el=A.el;let{patchFlag:Z,dynamicChildren:X,dirs:ct}=D;Z|=A.patchFlag&16;const pt=A.props||Yt,ft=D.props||Yt;let vt;if(R&&In(R,!1),(vt=ft.onVnodeBeforeUpdate)&&cs(vt,R,D,A),ct&&Dn(D,A,R,"beforeUpdate"),R&&In(R,!0),X?M(A.dynamicChildren,X,F,R,Y,Il(D,z),J):rt||K(A,D,F,null,R,Y,Il(D,z),J,!1),Z>0){if(Z&16)I(F,D,pt,ft,R,Y,z);else if(Z&2&&pt.class!==ft.class&&o(F,"class",null,ft.class,z),Z&4&&o(F,"style",pt.style,ft.style,z),Z&8){const Et=D.dynamicProps;for(let jt=0;jt<Et.length;jt++){const Ot=Et[jt],ne=pt[Ot],He=ft[Ot];(He!==ne||Ot==="value")&&o(F,Ot,ne,He,z,A.children,R,Y,Ct)}}Z&1&&A.children!==D.children&&d(F,D.children)}else!rt&&X==null&&I(F,D,pt,ft,R,Y,z);((vt=ft.onVnodeUpdated)||ct)&&ke(()=>{vt&&cs(vt,R,D,A),ct&&Dn(D,A,R,"updated")},Y)},M=(A,D,R,Y,z,J,rt)=>{for(let F=0;F<D.length;F++){const Z=A[F],X=D[F],ct=Z.el&&(Z.type===Ht||!fs(Z,X)||Z.shapeFlag&70)?u(Z.el):R;b(Z,X,ct,null,Y,z,J,rt,!0)}},I=(A,D,R,Y,z,J,rt)=>{if(R!==Y){if(R!==Yt)for(const F in R)!So(F)&&!(F in Y)&&o(A,F,R[F],null,rt,D.children,z,J,Ct);for(const F in Y){if(So(F))continue;const Z=Y[F],X=R[F];Z!==X&&F!=="value"&&o(A,F,X,Z,rt,D.children,z,J,Ct)}"value"in Y&&o(A,"value",R.value,Y.value,rt)}},N=(A,D,R,Y,z,J,rt,F,Z)=>{const X=D.el=A?A.el:a(""),ct=D.anchor=A?A.anchor:a("");let{patchFlag:pt,dynamicChildren:ft,slotScopeIds:vt}=D;vt&&(F=F?F.concat(vt):vt),A==null?(n(X,R,Y),n(ct,R,Y),S(D.children||[],R,ct,z,J,rt,F,Z)):pt>0&&pt&64&&ft&&A.dynamicChildren?(M(A.dynamicChildren,ft,R,z,J,rt,F),(D.key!=null||z&&D===z.subTree)&&gm(A,D,!0)):K(A,D,R,ct,z,J,rt,F,Z)},Q=(A,D,R,Y,z,J,rt,F,Z)=>{D.slotScopeIds=F,A==null?D.shapeFlag&512?z.ctx.activate(D,R,Y,rt,Z):G(D,R,Y,z,J,rt,Z):V(A,D,Z)},G=(A,D,R,Y,z,J,rt)=>{const F=A.component=Yw(A,Y,z);if(Ja(A)&&(F.ctx.renderer=at),qw(F),F.asyncDep){if(z&&z.registerDep(F,L,rt),!A.el){const Z=F.subTree=dt(we);w(null,Z,D,R)}}else L(F,A,D,R,z,J,rt)},V=(A,D,R)=>{const Y=D.component=A.component;if(tw(A,D,R))if(Y.asyncDep&&!Y.asyncResolved){W(Y,D,R);return}else Y.next=D,qx(Y.update),Y.effect.dirty=!0,Y.update();else D.el=A.el,Y.vnode=D},L=(A,D,R,Y,z,J,rt)=>{const F=()=>{if(A.isMounted){let{next:ct,bu:pt,u:ft,parent:vt,vnode:Et}=A;{const Ws=mm(A);if(Ws){ct&&(ct.el=Et.el,W(A,ct,rt)),Ws.asyncDep.then(()=>{A.isUnmounted||F()});return}}let jt=ct,Ot;In(A,!1),ct?(ct.el=Et.el,W(A,ct,rt)):ct=Et,pt&&ta(pt),(Ot=ct.props&&ct.props.onVnodeBeforeUpdate)&&cs(Ot,vt,ct,Et),In(A,!0);const ne=Ol(A),He=A.subTree;A.subTree=ne,b(He,ne,u(He.el),j(He),A,z,J),ct.el=ne.el,jt===null&&Pd(A,ne.el),ft&&ke(ft,z),(Ot=ct.props&&ct.props.onVnodeUpdated)&&ke(()=>cs(Ot,vt,ct,Et),z)}else{let ct;const{el:pt,props:ft}=D,{bm:vt,m:Et,parent:jt}=A,Ot=sa(D);if(In(A,!1),vt&&ta(vt),!Ot&&(ct=ft&&ft.onVnodeBeforeMount)&&cs(ct,jt,D),In(A,!0),pt&&Mt){const ne=()=>{A.subTree=Ol(A),Mt(pt,A.subTree,A,z,null)};Ot?D.type.__asyncLoader().then(()=>!A.isUnmounted&&ne()):ne()}else{const ne=A.subTree=Ol(A);b(null,ne,R,Y,A,z,J),D.el=ne.el}if(Et&&ke(Et,z),!Ot&&(ct=ft&&ft.onVnodeMounted)){const ne=D;ke(()=>cs(ct,jt,ne),z)}(D.shapeFlag&256||jt&&sa(jt.vnode)&&jt.vnode.shapeFlag&256)&&A.a&&ke(A.a,z),A.isMounted=!0,D=R=Y=null}},Z=A.effect=new bd(F,Ye,()=>$d(X),A.scope),X=A.update=()=>{Z.dirty&&Z.run()};X.id=A.uid,In(A,!0),X()},W=(A,D,R)=>{D.component=A;const Y=A.vnode.props;A.vnode=D,A.next=null,Aw(A,D.props,Y,R),Pw(A,D.children,R),yn(),_h(A),xn()},K=(A,D,R,Y,z,J,rt,F,Z=!1)=>{const X=A&&A.children,ct=A?A.shapeFlag:0,pt=D.children,{patchFlag:ft,shapeFlag:vt}=D;if(ft>0){if(ft&128){ut(X,pt,R,Y,z,J,rt,F,Z);return}else if(ft&256){ot(X,pt,R,Y,z,J,rt,F,Z);return}}vt&8?(ct&16&&Ct(X,z,J),pt!==X&&d(R,pt)):ct&16?vt&16?ut(X,pt,R,Y,z,J,rt,F,Z):Ct(X,z,J,!0):(ct&8&&d(R,""),vt&16&&S(pt,R,Y,z,J,rt,F,Z))},ot=(A,D,R,Y,z,J,rt,F,Z)=>{A=A||yi,D=D||yi;const X=A.length,ct=D.length,pt=Math.min(X,ct);let ft;for(ft=0;ft<pt;ft++){const vt=D[ft]=Z?tn(D[ft]):ss(D[ft]);b(A[ft],vt,R,null,z,J,rt,F,Z)}X>ct?Ct(A,z,J,!0,!1,pt):S(D,R,Y,z,J,rt,F,Z,pt)},ut=(A,D,R,Y,z,J,rt,F,Z)=>{let X=0;const ct=D.length;let pt=A.length-1,ft=ct-1;for(;X<=pt&&X<=ft;){const vt=A[X],Et=D[X]=Z?tn(D[X]):ss(D[X]);if(fs(vt,Et))b(vt,Et,R,null,z,J,rt,F,Z);else break;X++}for(;X<=pt&&X<=ft;){const vt=A[pt],Et=D[ft]=Z?tn(D[ft]):ss(D[ft]);if(fs(vt,Et))b(vt,Et,R,null,z,J,rt,F,Z);else break;pt--,ft--}if(X>pt){if(X<=ft){const vt=ft+1,Et=vt<ct?D[vt].el:Y;for(;X<=ft;)b(null,D[X]=Z?tn(D[X]):ss(D[X]),R,Et,z,J,rt,F,Z),X++}}else if(X>ft)for(;X<=pt;)_t(A[X],z,J,!0),X++;else{const vt=X,Et=X,jt=new Map;for(X=Et;X<=ft;X++){const ye=D[X]=Z?tn(D[X]):ss(D[X]);ye.key!=null&&jt.set(ye.key,X)}let Ot,ne=0;const He=ft-Et+1;let Ws=!1,hr=0;const An=new Array(He);for(X=0;X<He;X++)An[X]=0;for(X=vt;X<=pt;X++){const ye=A[X];if(ne>=He){_t(ye,z,J,!0);continue}let pe;if(ye.key!=null)pe=jt.get(ye.key);else for(Ot=Et;Ot<=ft;Ot++)if(An[Ot-Et]===0&&fs(ye,D[Ot])){pe=Ot;break}pe===void 0?_t(ye,z,J,!0):(An[pe-Et]=X+1,pe>=hr?hr=pe:Ws=!0,b(ye,D[pe],R,null,z,J,rt,F,Z),ne++)}const to=Ws?Ow(An):yi;for(Ot=to.length-1,X=He-1;X>=0;X--){const ye=Et+X,pe=D[ye],fr=ye+1<ct?D[ye+1].el:Y;An[X]===0?b(null,pe,R,fr,z,J,rt,F,Z):Ws&&(Ot<0||X!==to[Ot]?bt(pe,R,fr,2):Ot--)}}},bt=(A,D,R,Y,z=null)=>{const{el:J,type:rt,transition:F,children:Z,shapeFlag:X}=A;if(X&6){bt(A.component.subTree,D,R,Y);return}if(X&128){A.suspense.move(D,R,Y);return}if(X&64){rt.move(A,D,R,at);return}if(rt===Ht){n(J,D,R);for(let pt=0;pt<Z.length;pt++)bt(Z[pt],D,R,Y);n(A.anchor,D,R);return}if(rt===Rl){$(A,D,R);return}if(Y!==2&&X&1&&F)if(Y===0)F.beforeEnter(J),n(J,D,R),ke(()=>F.enter(J),z);else{const{leave:pt,delayLeave:ft,afterLeave:vt}=F,Et=()=>n(J,D,R),jt=()=>{pt(J,()=>{Et(),vt&&vt()})};ft?ft(J,Et,jt):jt()}else n(J,D,R)},_t=(A,D,R,Y=!1,z=!1)=>{const{type:J,props:rt,ref:F,children:Z,dynamicChildren:X,shapeFlag:ct,patchFlag:pt,dirs:ft,memoIndex:vt}=A;if(F!=null&&xc(F,null,R,A,!0),vt!=null&&(D.renderCache[vt]=void 0),ct&256){D.ctx.deactivate(A);return}const Et=ct&1&&ft,jt=!sa(A);let Ot;if(jt&&(Ot=rt&&rt.onVnodeBeforeUnmount)&&cs(Ot,D,A),ct&6)Lt(A.component,R,Y);else{if(ct&128){A.suspense.unmount(R,Y);return}Et&&Dn(A,null,D,"beforeUnmount"),ct&64?A.type.remove(A,D,R,z,at,Y):X&&(J!==Ht||pt>0&&pt&64)?Ct(X,D,R,!1,!0):(J===Ht&&pt&384||!z&&ct&16)&&Ct(Z,D,R),Y&&Pt(A)}(jt&&(Ot=rt&&rt.onVnodeUnmounted)||Et)&&ke(()=>{Ot&&cs(Ot,D,A),Et&&Dn(A,null,D,"unmounted")},R)},Pt=A=>{const{type:D,el:R,anchor:Y,transition:z}=A;if(D===Ht){At(R,Y);return}if(D===Rl){T(A);return}const J=()=>{i(R),z&&!z.persisted&&z.afterLeave&&z.afterLeave()};if(A.shapeFlag&1&&z&&!z.persisted){const{leave:rt,delayLeave:F}=z,Z=()=>rt(R,J);F?F(A.el,J,Z):Z()}else J()},At=(A,D)=>{let R;for(;A!==D;)R=f(A),i(A),A=R;i(D)},Lt=(A,D,R)=>{const{bum:Y,scope:z,update:J,subTree:rt,um:F,m:Z,a:X}=A;kh(Z),kh(X),Y&&ta(Y),z.stop(),J&&(J.active=!1,_t(rt,A,D,R)),F&&ke(F,D),ke(()=>{A.isUnmounted=!0},D),D&&D.pendingBranch&&!D.isUnmounted&&A.asyncDep&&!A.asyncResolved&&A.suspenseId===D.pendingId&&(D.deps--,D.deps===0&&D.resolve())},Ct=(A,D,R,Y=!1,z=!1,J=0)=>{for(let rt=J;rt<A.length;rt++)_t(A[rt],D,R,Y,z)},j=A=>A.shapeFlag&6?j(A.component.subTree):A.shapeFlag&128?A.suspense.next():f(A.anchor||A.el);let st=!1;const tt=(A,D,R)=>{A==null?D._vnode&&_t(D._vnode,null,null,!0):b(D._vnode||null,A,D,null,null,null,R),st||(st=!0,_h(),Qg(),st=!1),D._vnode=A},at={p:b,um:_t,m:bt,r:Pt,mt:G,mc:S,pc:K,pbc:M,n:j,o:e};let B,Mt;return t&&([B,Mt]=t(at)),{render:tt,hydrate:B,createApp:ww(tt,B)}}function Il({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function In({effect:e,update:t},s){e.allowRecurse=t.allowRecurse=s}function Mw(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function gm(e,t,s=!1){const n=e.children,i=t.children;if(gt(n)&&gt(i))for(let o=0;o<n.length;o++){const r=n[o];let a=i[o];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[o]=tn(i[o]),a.el=r.el),!s&&a.patchFlag!==-2&&gm(r,a)),a.type===Qa&&(a.el=r.el)}}function Ow(e){const t=e.slice(),s=[0];let n,i,o,r,a;const l=e.length;for(n=0;n<l;n++){const c=e[n];if(c!==0){if(i=s[s.length-1],e[i]<c){t[n]=i,s.push(n);continue}for(o=0,r=s.length-1;o<r;)a=o+r>>1,e[s[a]]<c?o=a+1:r=a;c<e[s[o]]&&(o>0&&(t[n]=s[o-1]),s[o]=n)}}for(o=s.length,r=s[o-1];o-- >0;)s[o]=r,r=t[r];return s}function mm(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:mm(t)}function kh(e){if(e)for(let t=0;t<e.length;t++)e[t].active=!1}const Dw=Symbol.for("v-scx"),Iw=()=>ms(Dw),Or={};function qn(e,t,s){return _m(e,t,s)}function _m(e,t,{immediate:s,deep:n,flush:i,once:o,onTrack:r,onTrigger:a}=Yt){if(t&&o){const x=t;t=(...C)=>{x(...C),y()}}const l=ce,c=x=>n===!0?x:sn(x,n===!1?1:void 0);let d,u=!1,f=!1;if(ae(e)?(d=()=>e.value,u=va(e)):Yn(e)?(d=()=>c(e),u=!0):gt(e)?(f=!0,u=e.some(x=>Yn(x)||va(x)),d=()=>e.map(x=>{if(ae(x))return x.value;if(Yn(x))return c(x);if(wt(x))return hn(x,l,2)})):wt(e)?t?d=()=>hn(e,l,2):d=()=>(g&&g(),Je(e,l,3,[m])):d=Ye,t&&n){const x=d;d=()=>sn(x())}let g,m=x=>{g=$.onStop=()=>{hn(x,l,4),g=$.onStop=void 0}},b;if(Za)if(m=Ye,t?s&&Je(t,l,3,[d(),f?[]:void 0,m]):d(),i==="sync"){const x=Iw();b=x.__watcherHandles||(x.__watcherHandles=[])}else return Ye;let v=f?new Array(e.length).fill(Or):Or;const w=()=>{if(!(!$.active||!$.dirty))if(t){const x=$.run();(n||u||(f?x.some((C,S)=>pn(C,v[S])):pn(x,v)))&&(g&&g(),Je(t,l,3,[x,v===Or?void 0:f&&v[0]===Or?[]:v,m]),v=x)}else $.run()};w.allowRecurse=!!t;let E;i==="sync"?E=w:i==="post"?E=()=>ke(w,l&&l.suspense):(w.pre=!0,l&&(w.id=l.uid),E=()=>$d(w));const $=new bd(d,Ye,E),T=_d(),y=()=>{$.stop(),T&&pd(T.effects,$)};return t?s?w():v=$.run():i==="post"?ke($.run.bind($),l&&l.suspense):$.run(),b&&b.push(y),y}function Lw(e,t,s){const n=this.proxy,i=se(e)?e.includes(".")?bm(n,e):()=>n[e]:e.bind(n,n);let o;wt(t)?o=t:(o=t.handler,s=t);const r=ir(this),a=_m(i,o.bind(n),s);return r(),a}function bm(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;i<s.length&&n;i++)n=n[s[i]];return n}}function sn(e,t=1/0,s){if(t<=0||!Ut(e)||e.__v_skip||(s=s||new Set,s.has(e)))return e;if(s.add(e),t--,ae(e))sn(e.value,t,s);else if(gt(e))for(let n=0;n<e.length;n++)sn(e[n],t,s);else if(qi(e)||xi(e))e.forEach(n=>{sn(n,t,s)});else if(Sg(e)){for(const n in e)sn(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&sn(e[n],t,s)}return e}const Ja=e=>e.type.__isKeepAlive;function Rw(e,t){vm(e,"a",t)}function Nw(e,t){vm(e,"da",t)}function vm(e,t,s=ce){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Ga(t,n,s),s){let i=s.parent;for(;i&&i.parent;)Ja(i.parent.vnode)&&Fw(n,t,s,i),i=i.parent}}function Fw(e,t,s,n){const i=Ga(t,e,n,!0);im(()=>{pd(n[t],i)},s)}const Zs=Symbol("_leaveCb"),Dr=Symbol("_enterCb");function ym(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Od(()=>{e.isMounted=!0}),Dd(()=>{e.isUnmounting=!0}),e}const ze=[Function,Array],xm={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ze,onEnter:ze,onAfterEnter:ze,onEnterCancelled:ze,onBeforeLeave:ze,onLeave:ze,onAfterLeave:ze,onLeaveCancelled:ze,onBeforeAppear:ze,onAppear:ze,onAfterAppear:ze,onAppearCancelled:ze},wm=e=>{const t=e.subTree;return t.component?wm(t.component):t},Bw={name:"BaseTransition",props:xm,setup(e,{slots:t}){const s=$m(),n=ym();return()=>{const i=t.default&&Rd(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const f of i)if(f.type!==we){o=f;break}}const r=Tt(e),{mode:a}=r;if(n.isLeaving)return Ll(o);const l=Th(o);if(!l)return Ll(o);let c=jo(l,r,n,s,f=>c=f);Di(l,c);const d=s.subTree,u=d&&Th(d);if(u&&u.type!==we&&!fs(l,u)&&wm(s).type!==we){const f=jo(u,r,n,s);if(Di(u,f),a==="out-in"&&l.type!==we)return n.isLeaving=!0,f.afterLeave=()=>{n.isLeaving=!1,s.update.active!==!1&&(s.effect.dirty=!0,s.update())},Ll(o);a==="in-out"&&l.type!==we&&(f.delayLeave=(g,m,b)=>{const v=Em(n,u);v[String(u.key)]=u,g[Zs]=()=>{m(),g[Zs]=void 0,delete c.delayedLeave},c.delayedLeave=b})}return o}}},Vw=Bw;function Em(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function jo(e,t,s,n,i){const{appear:o,mode:r,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:d,onEnterCancelled:u,onBeforeLeave:f,onLeave:g,onAfterLeave:m,onLeaveCancelled:b,onBeforeAppear:v,onAppear:w,onAfterAppear:E,onAppearCancelled:$}=t,T=String(e.key),y=Em(s,e),x=(P,M)=>{P&&Je(P,n,9,M)},C=(P,M)=>{const I=M[1];x(P,M),gt(P)?P.every(N=>N.length<=1)&&I():P.length<=1&&I()},S={mode:r,persisted:a,beforeEnter(P){let M=l;if(!s.isMounted)if(o)M=v||l;else return;P[Zs]&&P[Zs](!0);const I=y[T];I&&fs(e,I)&&I.el[Zs]&&I.el[Zs](),x(M,[P])},enter(P){let M=c,I=d,N=u;if(!s.isMounted)if(o)M=w||c,I=E||d,N=$||u;else return;let Q=!1;const G=P[Dr]=V=>{Q||(Q=!0,V?x(N,[P]):x(I,[P]),S.delayedLeave&&S.delayedLeave(),P[Dr]=void 0)};M?C(M,[P,G]):G()},leave(P,M){const I=String(e.key);if(P[Dr]&&P[Dr](!0),s.isUnmounting)return M();x(f,[P]);let N=!1;const Q=P[Zs]=G=>{N||(N=!0,M(),G?x(b,[P]):x(m,[P]),P[Zs]=void 0,y[I]===e&&delete y[I])};y[I]=e,g?C(g,[P,Q]):Q()},clone(P){const M=jo(P,t,s,n,i);return i&&i(M),M}};return S}function Ll(e){if(Ja(e))return e=gn(e),e.children=null,e}function Th(e){if(!Ja(e))return e;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&wt(s.default))return s.default()}}function Di(e,t){e.shapeFlag&6&&e.component?Di(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Rd(e,t=!1,s){let n=[],i=0;for(let o=0;o<e.length;o++){let r=e[o];const a=s==null?r.key:String(s)+String(r.key!=null?r.key:o);r.type===Ht?(r.patchFlag&128&&i++,n=n.concat(Rd(r.children,t,a))):(t||r.type!==we)&&n.push(a!=null?gn(r,{key:a}):r)}if(i>1)for(let o=0;o<n.length;o++)n[o].patchFlag=-2;return n}const Hw=e=>e.__isTeleport,Ht=Symbol.for("v-fgt"),Qa=Symbol.for("v-txt"),we=Symbol.for("v-cmt"),Rl=Symbol.for("v-stc"),Co=[];let qe=null;function H(e=!1){Co.push(qe=e?null:[])}function Sm(){Co.pop(),qe=Co[Co.length-1]||null}let Ii=1;function Mh(e){Ii+=e}function Am(e){return e.dynamicChildren=Ii>0?qe||yi:null,Sm(),Ii>0&&qe&&qe.push(e),e}function q(e,t,s,n,i,o){return Am(p(e,t,s,n,i,o,!0))}function oe(e,t,s,n,i){return Am(dt(e,t,s,n,i,!0))}function wa(e){return e?e.__v_isVNode===!0:!1}function fs(e,t){return e.type===t.type&&e.key===t.key}const Cm=({key:e})=>e??null,ia=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||ae(e)||wt(e)?{i:Ee,r:e,k:t,f:!!s}:e:null);function p(e,t=null,s=null,n=0,i=null,o=e===Ht?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Cm(t),ref:t&&ia(t),scopeId:Ya,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ee};return a?(Nd(l,s),o&128&&e.normalize(l)):s&&(l.shapeFlag|=se(s)?8:16),Ii>0&&!r&&qe&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&qe.push(l),l}const dt=jw;function jw(e,t=null,s=null,n=0,i=null,o=!1){if((!e||e===em)&&(e=we),wa(e)){const a=gn(e,t,!0);return s&&Nd(a,s),Ii>0&&!o&&qe&&(a.shapeFlag&6?qe[qe.indexOf(e)]=a:qe.push(a)),a.patchFlag=-2,a}if(Zw(e)&&(e=e.__vccOpts),t){t=Ww(t);let{class:a,style:l}=t;a&&!se(a)&&(t.class=Rt(a)),Ut(l)&&(za(l)&&!gt(l)&&(l=ee({},l)),t.style=Mi(l))}const r=se(e)?1:ew(e)?128:Hw(e)?64:Ut(e)?4:wt(e)?2:0;return p(e,t,s,n,i,r,o,!0)}function Ww(e){return e?za(e)||cm(e)?ee({},e):e:null}function gn(e,t,s=!1,n=!1){const{props:i,ref:o,patchFlag:r,children:a,transition:l}=e,c=t?zw(i||{},t):i,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Cm(c),ref:t&&t.ref?s&&o?gt(o)?o.concat(ia(t)):[o,ia(t)]:ia(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ht?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&gn(e.ssContent),ssFallback:e.ssFallback&&gn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Di(d,l.clone(d)),d}function ht(e=" ",t=0){return dt(Qa,null,e,t)}function Vt(e="",t=!1){return t?(H(),oe(we,null,e)):dt(we,null,e)}function ss(e){return e==null||typeof e=="boolean"?dt(we):gt(e)?dt(Ht,null,e.slice()):typeof e=="object"?tn(e):dt(Qa,null,String(e))}function tn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:gn(e)}function Nd(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(gt(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),Nd(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!cm(t)?t._ctx=Ee:i===3&&Ee&&(Ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else wt(t)?(t={default:t,_ctx:Ee},s=32):(t=String(t),n&64?(s=16,t=[ht(t)]):s=8);e.children=t,e.shapeFlag|=s}function zw(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const i in n)if(i==="class")t.class!==n.class&&(t.class=Rt([t.class,n.class]));else if(i==="style")t.style=Mi([t.style,n.style]);else if(Va(i)){const o=t[i],r=n[i];r&&o!==r&&!(gt(o)&&o.includes(r))&&(t[i]=o?[].concat(o,r):r)}else i!==""&&(t[i]=n[i])}return t}function cs(e,t,s,n=null){Je(e,t,7,[s,n])}const Uw=rm();let Kw=0;function Yw(e,t,s){const n=e.type,i=(t?t.appContext:e.appContext)||Uw,o={uid:Kw++,vnode:e,type:n,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,scope:new Tg(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:um(n,i),emitsOptions:tm(n,i),emit:null,emitted:null,propsDefaults:Yt,inheritAttrs:n.inheritAttrs,ctx:Yt,data:Yt,props:Yt,attrs:Yt,slots:Yt,refs:Yt,setupState:Yt,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Xx.bind(null,o),e.ce&&e.ce(o),o}let ce=null;const $m=()=>ce||Ee;let Ea,wc;{const e=$g(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),o=>{i.length>1?i.forEach(r=>r(o)):i[0](o)}};Ea=t("__VUE_INSTANCE_SETTERS__",s=>ce=s),wc=t("__VUE_SSR_SETTERS__",s=>Za=s)}const ir=e=>{const t=ce;return Ea(e),e.scope.on(),()=>{e.scope.off(),Ea(t)}},Oh=()=>{ce&&ce.scope.off(),Ea(null)};function Pm(e){return e.vnode.shapeFlag&4}let Za=!1;function qw(e,t=!1){t&&wc(t);const{props:s,children:n}=e.vnode,i=Pm(e);Sw(e,s,i,t),$w(e,n);const o=i?Gw(e,t):void 0;return t&&wc(!1),o}function Gw(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,gw);const{setup:n}=s;if(n){const i=e.setupContext=n.length>1?Jw(e):null,o=ir(e);yn();const r=hn(n,e,0,[e.props,i]);if(xn(),o(),wg(r)){if(r.then(Oh,Oh),t)return r.then(a=>{Ec(e,a,t)}).catch(a=>{sr(a,e,0)});e.asyncDep=r}else Ec(e,r,t)}else km(e,t)}function Ec(e,t,s){wt(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ut(t)&&(e.setupState=Gg(t)),km(e,s)}let Dh;function km(e,t,s){const n=e.type;if(!e.render){if(!t&&Dh&&!n.render){const i=n.template||Id(e).template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:l}=n,c=ee(ee({isCustomElement:o,delimiters:a},r),l);n.render=Dh(i,c)}}e.render=n.render||Ye}{const i=ir(e);yn();try{mw(e)}finally{xn(),i()}}}const Xw={get(e,t){return Me(e,"get",""),e[t]}};function Jw(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Xw),slots:e.slots,emit:e.emit,expose:t}}function tl(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Gg(Ua(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Ao)return Ao[s](e)},has(t,s){return s in t||s in Ao}})):e.proxy}function Qw(e,t=!0){return wt(e)?e.displayName||e.name:e.name||t&&e.__name}function Zw(e){return wt(e)&&"__vccOpts"in e}const Ke=(e,t)=>Vx(e,t,Za);function Li(e,t,s){const n=arguments.length;return n===2?Ut(t)&&!gt(t)?wa(t)?dt(e,null,[t]):dt(e,t):dt(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&wa(s)&&(s=[s]),dt(e,t,s))}const Tm="3.4.29";/**
* @vue/runtime-dom v3.4.29
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/const tE="http://www.w3.org/2000/svg",eE="http://www.w3.org/1998/Math/MathML",ks=typeof document<"u"?document:null,Ih=ks&&ks.createElement("template"),sE={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?ks.createElementNS(tE,e):t==="mathml"?ks.createElementNS(eE,e):s?ks.createElement(e,{is:s}):ks.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>ks.createTextNode(e),createComment:e=>ks.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ks.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,o){const r=s?s.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===o||!(i=i.nextSibling)););else{Ih.innerHTML=n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e;const a=Ih.content;if(n==="svg"||n==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Ys="transition",ro="animation",Ri=Symbol("_vtc"),is=(e,{slots:t})=>Li(Vw,Om(e),t);is.displayName="Transition";const Mm={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},nE=is.props=ee({},xm,Mm),Ln=(e,t=[])=>{gt(e)?e.forEach(s=>s(...t)):e&&e(...t)},Lh=e=>e?gt(e)?e.some(t=>t.length>1):e.length>1:!1;function Om(e){const t={};for(const N in e)N in Mm||(t[N]=e[N]);if(e.css===!1)return t;const{name:s="v",type:n,duration:i,enterFromClass:o=`${s}-enter-from`,enterActiveClass:r=`${s}-enter-active`,enterToClass:a=`${s}-enter-to`,appearFromClass:l=o,appearActiveClass:c=r,appearToClass:d=a,leaveFromClass:u=`${s}-leave-from`,leaveActiveClass:f=`${s}-leave-active`,leaveToClass:g=`${s}-leave-to`}=e,m=iE(i),b=m&&m[0],v=m&&m[1],{onBeforeEnter:w,onEnter:E,onEnterCancelled:$,onLeave:T,onLeaveCancelled:y,onBeforeAppear:x=w,onAppear:C=E,onAppearCancelled:S=$}=t,P=(N,Q,G)=>{Xs(N,Q?d:a),Xs(N,Q?c:r),G&&G()},M=(N,Q)=>{N._isLeaving=!1,Xs(N,u),Xs(N,g),Xs(N,f),Q&&Q()},I=N=>(Q,G)=>{const V=N?C:E,L=()=>P(Q,N,G);Ln(V,[Q,L]),Rh(()=>{Xs(Q,N?l:o),Cs(Q,N?d:a),Lh(V)||Nh(Q,n,b,L)})};return ee(t,{onBeforeEnter(N){Ln(w,[N]),Cs(N,o),Cs(N,r)},onBeforeAppear(N){Ln(x,[N]),Cs(N,l),Cs(N,c)},onEnter:I(!1),onAppear:I(!0),onLeave(N,Q){N._isLeaving=!0;const G=()=>M(N,Q);Cs(N,u),Cs(N,f),Im(),Rh(()=>{N._isLeaving&&(Xs(N,u),Cs(N,g),Lh(T)||Nh(N,n,v,G))}),Ln(T,[N,G])},onEnterCancelled(N){P(N,!1),Ln($,[N])},onAppearCancelled(N){P(N,!0),Ln(S,[N])},onLeaveCancelled(N){M(N),Ln(y,[N])}})}function iE(e){if(e==null)return null;if(Ut(e))return[Nl(e.enter),Nl(e.leave)];{const t=Nl(e);return[t,t]}}function Nl(e){return Cg(e)}function Cs(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[Ri]||(e[Ri]=new Set)).add(t)}function Xs(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[Ri];s&&(s.delete(t),s.size||(e[Ri]=void 0))}function Rh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let oE=0;function Nh(e,t,s,n){const i=e._endId=++oE,o=()=>{i===e._endId&&n()};if(s)return setTimeout(o,s);const{type:r,timeout:a,propCount:l}=Dm(e,t);if(!r)return n();const c=r+"end";let d=0;const u=()=>{e.removeEventListener(c,f),o()},f=g=>{g.target===e&&++d>=l&&u()};setTimeout(()=>{d<l&&u()},a+1),e.addEventListener(c,f)}function Dm(e,t){const s=window.getComputedStyle(e),n=m=>(s[m]||"").split(", "),i=n(`${Ys}Delay`),o=n(`${Ys}Duration`),r=Fh(i,o),a=n(`${ro}Delay`),l=n(`${ro}Duration`),c=Fh(a,l);let d=null,u=0,f=0;t===Ys?r>0&&(d=Ys,u=r,f=o.length):t===ro?c>0&&(d=ro,u=c,f=l.length):(u=Math.max(r,c),d=u>0?r>c?Ys:ro:null,f=d?d===Ys?o.length:l.length:0);const g=d===Ys&&/\b(transform|all)(,|$)/.test(n(`${Ys}Property`).toString());return{type:d,timeout:u,propCount:f,hasTransform:g}}function Fh(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((s,n)=>Bh(s)+Bh(e[n])))}function Bh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Im(){return document.body.offsetHeight}function rE(e,t,s){const n=e[Ri];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Vh=Symbol("_vod"),aE=Symbol("_vsh"),lE=Symbol(""),cE=/(^|;)\s*display\s*:/;function dE(e,t,s){const n=e.style,i=se(s);let o=!1;if(s&&!i){if(t)if(se(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();s[a]==null&&oa(n,a,"")}else for(const r in t)s[r]==null&&oa(n,r,"");for(const r in s)r==="display"&&(o=!0),oa(n,r,s[r])}else if(i){if(t!==s){const r=n[lE];r&&(s+=";"+r),n.cssText=s,o=cE.test(s)}}else t&&e.removeAttribute("style");Vh in e&&(e[Vh]=o?n.display:"",e[aE]&&(n.display="none"))}const Hh=/\s*!important$/;function oa(e,t,s){if(gt(s))s.forEach(n=>oa(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=uE(e,t);Hh.test(s)?e.setProperty(Gi(n),s.replace(Hh,""),"important"):e[n]=s}}const jh=["Webkit","Moz","ms"],Fl={};function uE(e,t){const s=Fl[t];if(s)return s;let n=vs(t);if(n!=="filter"&&n in e)return Fl[t]=n;n=ja(n);for(let i=0;i<jh.length;i++){const o=jh[i]+n;if(o in e)return Fl[t]=o}return t}const Wh="http://www.w3.org/1999/xlink";function zh(e,t,s,n,i,o=_x(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Wh,t.slice(6,t.length)):e.setAttributeNS(Wh,t,s):s==null||o&&!Pg(s)?e.removeAttribute(t):e.setAttribute(t,o?"":String(s))}function hE(e,t,s,n,i,o,r){if(t==="innerHTML"||t==="textContent"){n&&r(n,i,o),e[t]=s??"";return}const a=e.tagName;if(t==="value"&&a!=="PROGRESS"&&!a.includes("-")){const c=a==="OPTION"?e.getAttribute("value")||"":e.value,d=s==null?"":String(s);(c!==d||!("_value"in e))&&(e.value=d),s==null&&e.removeAttribute(t),e._value=s;return}let l=!1;if(s===""||s==null){const c=typeof e[t];c==="boolean"?s=Pg(s):s==null&&c==="string"?(s="",l=!0):c==="number"&&(s=0,l=!0)}try{e[t]=s}catch{}l&&e.removeAttribute(t)}function Ms(e,t,s,n){e.addEventListener(t,s,n)}function fE(e,t,s,n){e.removeEventListener(t,s,n)}const Uh=Symbol("_vei");function pE(e,t,s,n,i=null){const o=e[Uh]||(e[Uh]={}),r=o[t];if(n&&r)r.value=n;else{const[a,l]=gE(t);if(n){const c=o[t]=bE(n,i);Ms(e,a,c,l)}else r&&(fE(e,a,r,l),o[t]=void 0)}}const Kh=/(?:Once|Passive|Capture)$/;function gE(e){let t;if(Kh.test(e)){t={};let n;for(;n=e.match(Kh);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Gi(e.slice(2)),t]}let Bl=0;const mE=Promise.resolve(),_E=()=>Bl||(mE.then(()=>Bl=0),Bl=Date.now());function bE(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Je(vE(n,s.value),t,5,[n])};return s.value=e,s.attached=_E(),s}function vE(e,t){if(gt(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const Yh=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,yE=(e,t,s,n,i,o,r,a,l)=>{const c=i==="svg";t==="class"?rE(e,n,c):t==="style"?dE(e,s,n):Va(t)?fd(t)||pE(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xE(e,t,n,c))?(hE(e,t,n,o,r,a,l),(t==="value"||t==="checked"||t==="selected")&&zh(e,t,n,c,r,t!=="value")):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),zh(e,t,n,c))};function xE(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Yh(t)&&wt(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Yh(t)&&se(s)?!1:t in e}const Lm=new WeakMap,Rm=new WeakMap,Sa=Symbol("_moveCb"),qh=Symbol("_enterCb"),Nm={name:"TransitionGroup",props:ee({},nE,{tag:String,moveClass:String}),setup(e,{slots:t}){const s=$m(),n=ym();let i,o;return nm(()=>{if(!i.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!CE(i[0].el,s.vnode.el,r))return;i.forEach(EE),i.forEach(SE);const a=i.filter(AE);Im(),a.forEach(l=>{const c=l.el,d=c.style;Cs(c,r),d.transform=d.webkitTransform=d.transitionDuration="";const u=c[Sa]=f=>{f&&f.target!==c||(!f||/transform$/.test(f.propertyName))&&(c.removeEventListener("transitionend",u),c[Sa]=null,Xs(c,r))};c.addEventListener("transitionend",u)})}),()=>{const r=Tt(e),a=Om(r);let l=r.tag||Ht;if(i=[],o)for(let c=0;c<o.length;c++){const d=o[c];d.el&&d.el instanceof Element&&(i.push(d),Di(d,jo(d,a,n,s)),Lm.set(d,d.el.getBoundingClientRect()))}o=t.default?Rd(t.default()):[];for(let c=0;c<o.length;c++){const d=o[c];d.key!=null&&Di(d,jo(d,a,n,s))}return dt(l,null,o)}}},wE=e=>delete e.mode;Nm.props;const or=Nm;function EE(e){const t=e.el;t[Sa]&&t[Sa](),t[qh]&&t[qh]()}function SE(e){Rm.set(e,e.el.getBoundingClientRect())}function AE(e){const t=Lm.get(e),s=Rm.get(e),n=t.left-s.left,i=t.top-s.top;if(n||i){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${n}px,${i}px)`,o.transitionDuration="0s",e}}function CE(e,t,s){const n=e.cloneNode(),i=e[Ri];i&&i.forEach(a=>{a.split(/\s+/).forEach(l=>l&&n.classList.remove(l))}),s.split(/\s+/).forEach(a=>a&&n.classList.add(a)),n.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(n);const{hasTransform:r}=Dm(n);return o.removeChild(n),r}const mn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return gt(t)?s=>ta(t,s):t};function $E(e){e.target.composing=!0}function Gh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qe=Symbol("_assign"),yt={created(e,{modifiers:{lazy:t,trim:s,number:n}},i){e[Qe]=mn(i);const o=n||i.props&&i.props.type==="number";Ms(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;s&&(a=a.trim()),o&&(a=_a(a)),e[Qe](a)}),s&&Ms(e,"change",()=>{e.value=e.value.trim()}),t||(Ms(e,"compositionstart",$E),Ms(e,"compositionend",Gh),Ms(e,"change",Gh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:i,number:o}},r){if(e[Qe]=mn(r),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?_a(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||i&&e.value.trim()===l)||(e.value=l))}},Xi={deep:!0,created(e,t,s){e[Qe]=mn(s),Ms(e,"change",()=>{const n=e._modelValue,i=Ni(e),o=e.checked,r=e[Qe];if(gt(n)){const a=md(n,i),l=a!==-1;if(o&&!l)r(n.concat(i));else if(!o&&l){const c=[...n];c.splice(a,1),r(c)}}else if(qi(n)){const a=new Set(n);o?a.add(i):a.delete(i),r(a)}else r(Fm(e,o))})},mounted:Xh,beforeUpdate(e,t,s){e[Qe]=mn(s),Xh(e,t,s)}};function Xh(e,{value:t,oldValue:s},n){e._modelValue=t,gt(t)?e.checked=md(t,n.props.value)>-1:qi(t)?e.checked=t.has(n.props.value):t!==s&&(e.checked=Zn(t,Fm(e,!0)))}const PE={created(e,{value:t},s){e.checked=Zn(t,s.props.value),e[Qe]=mn(s),Ms(e,"change",()=>{e[Qe](Ni(e))})},beforeUpdate(e,{value:t,oldValue:s},n){e[Qe]=mn(n),t!==s&&(e.checked=Zn(t,n.props.value))}},ra={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const i=qi(t);Ms(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>s?_a(Ni(r)):Ni(r));e[Qe](e.multiple?i?new Set(o):o:o[0]),e._assigning=!0,nr(()=>{e._assigning=!1})}),e[Qe]=mn(n)},mounted(e,{value:t,modifiers:{number:s}}){Jh(e,t)},beforeUpdate(e,t,s){e[Qe]=mn(s)},updated(e,{value:t,modifiers:{number:s}}){e._assigning||Jh(e,t)}};function Jh(e,t,s){const n=e.multiple,i=gt(t);if(!(n&&!i&&!qi(t))){for(let o=0,r=e.options.length;o<r;o++){const a=e.options[o],l=Ni(a);if(n)if(i){const c=typeof l;c==="string"||c==="number"?a.selected=t.some(d=>String(d)===String(l)):a.selected=md(t,l)>-1}else a.selected=t.has(l);else if(Zn(Ni(a),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ni(e){return"_value"in e?e._value:e.value}function Fm(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const kE={created(e,t,s){Ir(e,t,s,null,"created")},mounted(e,t,s){Ir(e,t,s,null,"mounted")},beforeUpdate(e,t,s,n){Ir(e,t,s,n,"beforeUpdate")},updated(e,t,s,n){Ir(e,t,s,n,"updated")}};function TE(e,t){switch(e){case"SELECT":return ra;case"TEXTAREA":return yt;default:switch(t){case"checkbox":return Xi;case"radio":return PE;default:return yt}}}function Ir(e,t,s,n,i){const r=TE(e.tagName,s.props&&s.props.type)[i];r&&r(e,t,s,n)}const ME=ee({patchProp:yE},sE);let Qh;function OE(){return Qh||(Qh=kw(ME))}const DE=(...e)=>{const t=OE().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=LE(n);if(!i)return;const o=t._component;!wt(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML="";const r=s(i,!1,IE(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function IE(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function LE(e){return se(e)?document.querySelector(e):e}var RE=!1;/*!
* pinia v2.1.7
* (c) 2023 Eduardo San Martin Morote
* @license MIT
*/let Bm;const el=e=>Bm=e,Vm=Symbol();function Sc(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var $o;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})($o||($o={}));function NE(){const e=Mg(!0),t=e.run(()=>Oi({}));let s=[],n=[];const i=Ua({install(o){el(i),i._a=o,o.provide(Vm,i),o.config.globalProperties.$pinia=i,n.forEach(r=>s.push(r)),n=[]},use(o){return!this._a&&!RE?n.push(o):s.push(o),this},_p:s,_a:null,_e:e,_s:new Map,state:t});return i}const Hm=()=>{};function Zh(e,t,s,n=Hm){e.push(t);const i=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),n())};return!s&&_d()&&Og(i),i}function fi(e,...t){e.slice().forEach(s=>{s(...t)})}const FE=e=>e();function Ac(e,t){e instanceof Map&&t instanceof Map&&t.forEach((s,n)=>e.set(n,s)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const s in t){if(!t.hasOwnProperty(s))continue;const n=t[s],i=e[s];Sc(i)&&Sc(n)&&e.hasOwnProperty(s)&&!ae(n)&&!Yn(n)?e[s]=Ac(i,n):e[s]=n}return e}const BE=Symbol();function VE(e){return!Sc(e)||!e.hasOwnProperty(BE)}const{assign:Js}=Object;function HE(e){return!!(ae(e)&&e.effect)}function jE(e,t,s,n){const{state:i,actions:o,getters:r}=t,a=s.state.value[e];let l;function c(){a||(s.state.value[e]=i?i():{});const d=Wx(s.state.value[e]);return Js(d,o,Object.keys(r||{}).reduce((u,f)=>(u[f]=Ua(Ke(()=>{el(s);const g=s._s.get(e);return r[f].call(g,g)})),u),{}))}return l=jm(e,c,t,s,n,!0),l}function jm(e,t,s={},n,i,o){let r;const a=Js({actions:{}},s),l={deep:!0};let c,d,u=[],f=[],g;const m=n.state.value[e];!o&&!m&&(n.state.value[e]={}),Oi({});let b;function v(S){let P;c=d=!1,typeof S=="function"?(S(n.state.value[e]),P={type:$o.patchFunction,storeId:e,events:g}):(Ac(n.state.value[e],S),P={type:$o.patchObject,payload:S,storeId:e,events:g});const M=b=Symbol();nr().then(()=>{b===M&&(c=!0)}),d=!0,fi(u,P,n.state.value[e])}const w=o?function(){const{state:P}=s,M=P?P():{};this.$patch(I=>{Js(I,M)})}:Hm;function E(){r.stop(),u=[],f=[],n._s.delete(e)}function $(S,P){return function(){el(n);const M=Array.from(arguments),I=[],N=[];function Q(L){I.push(L)}function G(L){N.push(L)}fi(f,{args:M,name:S,store:y,after:Q,onError:G});let V;try{V=P.apply(this&&this.$id===e?this:y,M)}catch(L){throw fi(N,L),L}return V instanceof Promise?V.then(L=>(fi(I,L),L)).catch(L=>(fi(N,L),Promise.reject(L))):(fi(I,V),V)}}const T={_p:n,$id:e,$onAction:Zh.bind(null,f),$patch:v,$reset:w,$subscribe(S,P={}){const M=Zh(u,S,P.detached,()=>I()),I=r.run(()=>qn(()=>n.state.value[e],N=>{(P.flush==="sync"?d:c)&&S({storeId:e,type:$o.direct,events:g},N)},Js({},l,P)));return M},$dispose:E},y=er(T);n._s.set(e,y);const C=(n._a&&n._a.runWithContext||FE)(()=>n._e.run(()=>(r=Mg()).run(t)));for(const S in C){const P=C[S];if(ae(P)&&!HE(P)||Yn(P))o||(m&&VE(P)&&(ae(P)?P.value=m[S]:Ac(P,m[S])),n.state.value[e][S]=P);else if(typeof P=="function"){const M=$(S,P);C[S]=M,a.actions[S]=P}}return Js(y,C),Js(Tt(y),C),Object.defineProperty(y,"$state",{get:()=>n.state.value[e],set:S=>{v(P=>{Js(P,S)})}}),n._p.forEach(S=>{Js(y,r.run(()=>S({store:y,app:n._a,pinia:n,options:a})))}),m&&o&&s.hydrate&&s.hydrate(y.$state,m),c=!0,d=!0,y}function Fd(e,t,s){let n,i;const o=typeof t=="function";typeof e=="string"?(n=e,i=o?s:t):(i=e,n=e.id);function r(a,l){const c=Ew();return a=a||(c?ms(Vm,null):null),a&&el(a),a=Bm,a._s.has(n)||(o?jm(n,t,i,a):jE(n,i,a)),a._s.get(n)}return r.$id=n,r}/*!
* vue-router v4.2.5
* (c) 2023 Eduardo San Martin Morote
* @license MIT
*/const bi=typeof window<"u";function WE(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Wt=Object.assign;function Vl(e,t){const s={};for(const n in t){const i=t[n];s[n]=rs(i)?i.map(e):e(i)}return s}const Po=()=>{},rs=Array.isArray,zE=/\/$/,UE=e=>e.replace(zE,"");function Hl(e,t,s="/"){let n,i={},o="",r="";const a=t.indexOf("#");let l=t.indexOf("?");return a<l&&a>=0&&(l=-1),l>-1&&(n=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),i=e(o)),a>-1&&(n=n||t.slice(0,a),r=t.slice(a,t.length)),n=GE(n??t,s),{fullPath:n+(o&&"?")+o+r,path:n,query:i,hash:r}}function KE(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function tf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function YE(e,t,s){const n=t.matched.length-1,i=s.matched.length-1;return n>-1&&n===i&&Fi(t.matched[n],s.matched[i])&&Wm(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function Fi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Wm(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(!qE(e[s],t[s]))return!1;return!0}function qE(e,t){return rs(e)?ef(e,t):rs(t)?ef(t,e):e===t}function ef(e,t){return rs(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function GE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),n=e.split("/"),i=n[n.length-1];(i===".."||i===".")&&n.push("");let o=s.length-1,r,a;for(r=0;r<n.length;r++)if(a=n[r],a!==".")if(a==="..")o>1&&o--;else break;return s.slice(0,o).join("/")+"/"+n.slice(r-(r===n.length?1:0)).join("/")}var Wo;(function(e){e.pop="pop",e.push="push"})(Wo||(Wo={}));var ko;(function(e){e.back="back",e.forward="forward",e.unknown=""})(ko||(ko={}));function XE(e){if(!e)if(bi){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),UE(e)}const JE=/^[^#]+#/;function QE(e,t){return e.replace(JE,"#")+t}function ZE(e,t){const s=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-s.left-(t.left||0),top:n.top-s.top-(t.top||0)}}const sl=()=>({left:window.pageXOffset,top:window.pageYOffset});function tS(e){let t;if("el"in e){const s=e.el,n=typeof s=="string"&&s.startsWith("#"),i=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!i)return;t=ZE(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function sf(e,t){return(history.state?history.state.position-t:-1)+e}const Cc=new Map;function eS(e,t){Cc.set(e,t)}function sS(e){const t=Cc.get(e);return Cc.delete(e),t}let nS=()=>location.protocol+"//"+location.host;function zm(e,t){const{pathname:s,search:n,hash:i}=t,o=e.indexOf("#");if(o>-1){let a=i.includes(e.slice(o))?e.slice(o).length:1,l=i.slice(a);return l[0]!=="/"&&(l="/"+l),tf(l,"")}return tf(s,e)+n+i}function iS(e,t,s,n){let i=[],o=[],r=null;const a=({state:f})=>{const g=zm(e,location),m=s.value,b=t.value;let v=0;if(f){if(s.value=g,t.value=f,r&&r===m){r=null;return}v=b?f.position-b.position:0}else n(g);i.forEach(w=>{w(s.value,m,{delta:v,type:Wo.pop,direction:v?v>0?ko.forward:ko.back:ko.unknown})})};function l(){r=s.value}function c(f){i.push(f);const g=()=>{const m=i.indexOf(f);m>-1&&i.splice(m,1)};return o.push(g),g}function d(){const{history:f}=window;f.state&&f.replaceState(Wt({},f.state,{scroll:sl()}),"")}function u(){for(const f of o)f();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",d,{passive:!0}),{pauseListeners:l,listen:c,destroy:u}}function nf(e,t,s,n=!1,i=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:i?sl():null}}function oS(e){const{history:t,location:s}=window,n={value:zm(e,s)},i={value:t.state};i.value||o(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,d){const u=e.indexOf("#"),f=u>-1?(s.host&&document.querySelector("base")?e:e.slice(u))+l:nS()+e+l;try{t[d?"replaceState":"pushState"](c,"",f),i.value=c}catch(g){console.error(g),s[d?"replace":"assign"](f)}}function r(l,c){const d=Wt({},t.state,nf(i.value.back,l,i.value.forward,!0),c,{position:i.value.position});o(l,d,!0),n.value=l}function a(l,c){const d=Wt({},i.value,t.state,{forward:l,scroll:sl()});o(d.current,d,!0);const u=Wt({},nf(n.value,l,null),{position:d.position+1},c);o(l,u,!1),n.value=l}return{location:n,state:i,push:a,replace:r}}function rS(e){e=XE(e);const t=oS(e),s=iS(e,t.state,t.location,t.replace);function n(o,r=!0){r||s.pauseListeners(),history.go(o)}const i=Wt({location:"",base:e,go:n,createHref:QE.bind(null,e)},t,s);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function aS(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),rS(e)}function lS(e){return typeof e=="string"||e&&typeof e=="object"}function Um(e){return typeof e=="string"||typeof e=="symbol"}const qs={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Km=Symbol("");var of;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(of||(of={}));function Bi(e,t){return Wt(new Error,{type:e,[Km]:!0},t)}function Ss(e,t){return e instanceof Error&&Km in e&&(t==null||!!(e.type&t))}const rf="[^/]+?",cS={sensitive:!1,strict:!1,start:!0,end:!0},dS=/[.+*?^${}()[\]/\\]/g;function uS(e,t){const s=Wt({},cS,t),n=[];let i=s.start?"^":"";const o=[];for(const c of e){const d=c.length?[]:[90];s.strict&&!c.length&&(i+="/");for(let u=0;u<c.length;u++){const f=c[u];let g=40+(s.sensitive?.25:0);if(f.type===0)u||(i+="/"),i+=f.value.replace(dS,"\\$&"),g+=40;else if(f.type===1){const{value:m,repeatable:b,optional:v,regexp:w}=f;o.push({name:m,repeatable:b,optional:v});const E=w||rf;if(E!==rf){g+=10;try{new RegExp(`(${E})`)}catch(T){throw new Error(`Invalid custom RegExp for param "${m}" (${E}): `+T.message)}}let $=b?`((?:${E})(?:/(?:${E}))*)`:`(${E})`;u||($=v&&c.length<2?`(?:/${$})`:"/"+$),v&&($+="?"),i+=$,g+=20,v&&(g+=-8),b&&(g+=-20),E===".*"&&(g+=-50)}d.push(g)}n.push(d)}if(s.strict&&s.end){const c=n.length-1;n[c][n[c].length-1]+=.7000000000000001}s.strict||(i+="/?"),s.end?i+="$":s.strict&&(i+="(?:/|$)");const r=new RegExp(i,s.sensitive?"":"i");function a(c){const d=c.match(r),u={};if(!d)return null;for(let f=1;f<d.length;f++){const g=d[f]||"",m=o[f-1];u[m.name]=g&&m.repeatable?g.split("/"):g}return u}function l(c){let d="",u=!1;for(const f of e){(!u||!d.endsWith("/"))&&(d+="/"),u=!1;for(const g of f)if(g.type===0)d+=g.value;else if(g.type===1){const{value:m,repeatable:b,optional:v}=g,w=m in c?c[m]:"";if(rs(w)&&!b)throw new Error(`Provided param "${m}" is an array but it is not repeatable (* or + modifiers)`);const E=rs(w)?w.join("/"):w;if(!E)if(v)f.length<2&&(d.endsWith("/")?d=d.slice(0,-1):u=!0);else throw new Error(`Missing required param "${m}"`);d+=E}}return d||"/"}return{re:r,score:n,keys:o,parse:a,stringify:l}}function hS(e,t){let s=0;for(;s<e.length&&s<t.length;){const n=t[s]-e[s];if(n)return n;s++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function fS(e,t){let s=0;const n=e.score,i=t.score;for(;s<n.length&&s<i.length;){const o=hS(n[s],i[s]);if(o)return o;s++}if(Math.abs(i.length-n.length)===1){if(af(n))return 1;if(af(i))return-1}return i.length-n.length}function af(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const pS={type:0,value:""},gS=/[a-zA-Z0-9_]/;function mS(e){if(!e)return[[]];if(e==="/")return[[pS]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${s})/"${c}": ${g}`)}let s=0,n=s;const i=[];let o;function r(){o&&i.push(o),o=[]}let a=0,l,c="",d="";function u(){c&&(s===0?o.push({type:0,value:c}):s===1||s===2||s===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:d,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;a<e.length;){if(l=e[a++],l==="\\"&&s!==2){n=s,s=4;continue}switch(s){case 0:l==="/"?(c&&u(),r()):l===":"?(u(),s=1):f();break;case 4:f(),s=n;break;case 1:l==="("?s=2:gS.test(l)?f():(u(),s=0,l!=="*"&&l!=="?"&&l!=="+"&&a--);break;case 2:l===")"?d[d.length-1]=="\\"?d=d.slice(0,-1)+l:s=3:d+=l;break;case 3:u(),s=0,l!=="*"&&l!=="?"&&l!=="+"&&a--,d="";break;default:t("Unknown state");break}}return s===2&&t(`Unfinished custom RegExp for param "${c}"`),u(),r(),i}function _S(e,t,s){const n=uS(mS(e.path),s),i=Wt(n,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function bS(e,t){const s=[],n=new Map;t=df({strict:!1,end:!0,sensitive:!1},t);function i(d){return n.get(d)}function o(d,u,f){const g=!f,m=vS(d);m.aliasOf=f&&f.record;const b=df(t,d),v=[m];if("alias"in d){const $=typeof d.alias=="string"?[d.alias]:d.alias;for(const T of $)v.push(Wt({},m,{components:f?f.record.components:m.components,path:T,aliasOf:f?f.record:m}))}let w,E;for(const $ of v){const{path:T}=$;if(u&&T[0]!=="/"){const y=u.record.path,x=y[y.length-1]==="/"?"":"/";$.path=u.record.path+(T&&x+T)}if(w=_S($,u,b),f?f.alias.push(w):(E=E||w,E!==w&&E.alias.push(w),g&&d.name&&!cf(w)&&r(d.name)),m.children){const y=m.children;for(let x=0;x<y.length;x++)o(y[x],w,f&&f.children[x])}f=f||w,(w.record.components&&Object.keys(w.record.components).length||w.record.name||w.record.redirect)&&l(w)}return E?()=>{r(E)}:Po}function r(d){if(Um(d)){const u=n.get(d);u&&(n.delete(d),s.splice(s.indexOf(u),1),u.children.forEach(r),u.alias.forEach(r))}else{const u=s.indexOf(d);u>-1&&(s.splice(u,1),d.record.name&&n.delete(d.record.name),d.children.forEach(r),d.alias.forEach(r))}}function a(){return s}function l(d){let u=0;for(;u<s.length&&fS(d,s[u])>=0&&(d.record.path!==s[u].record.path||!Ym(d,s[u]));)u++;s.splice(u,0,d),d.record.name&&!cf(d)&&n.set(d.record.name,d)}function c(d,u){let f,g={},m,b;if("name"in d&&d.name){if(f=n.get(d.name),!f)throw Bi(1,{location:d});b=f.record.name,g=Wt(lf(u.params,f.keys.filter(E=>!E.optional).map(E=>E.name)),d.params&&lf(d.params,f.keys.map(E=>E.name))),m=f.stringify(g)}else if("path"in d)m=d.path,f=s.find(E=>E.re.test(m)),f&&(g=f.parse(m),b=f.record.name);else{if(f=u.name?n.get(u.name):s.find(E=>E.re.test(u.path)),!f)throw Bi(1,{location:d,currentLocation:u});b=f.record.name,g=Wt({},u.params,d.params),m=f.stringify(g)}const v=[];let w=f;for(;w;)v.unshift(w.record),w=w.parent;return{name:b,path:m,params:g,matched:v,meta:xS(v)}}return e.forEach(d=>o(d)),{addRoute:o,resolve:c,removeRoute:r,getRoutes:a,getRecordMatcher:i}}function lf(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function vS(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:yS(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function yS(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const n in e.components)t[n]=typeof s=="object"?s[n]:s;return t}function cf(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function xS(e){return e.reduce((t,s)=>Wt(t,s.meta),{})}function df(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}function Ym(e,t){return t.children.some(s=>s===e||Ym(e,s))}const qm=/#/g,wS=/&/g,ES=/\//g,SS=/=/g,AS=/\?/g,Gm=/\+/g,CS=/%5B/g,$S=/%5D/g,Xm=/%5E/g,PS=/%60/g,Jm=/%7B/g,kS=/%7C/g,Qm=/%7D/g,TS=/%20/g;function Bd(e){return encodeURI(""+e).replace(kS,"|").replace(CS,"[").replace($S,"]")}function MS(e){return Bd(e).replace(Jm,"{").replace(Qm,"}").replace(Xm,"^")}function $c(e){return Bd(e).replace(Gm,"%2B").replace(TS,"+").replace(qm,"%23").replace(wS,"%26").replace(PS,"`").replace(Jm,"{").replace(Qm,"}").replace(Xm,"^")}function OS(e){return $c(e).replace(SS,"%3D")}function DS(e){return Bd(e).replace(qm,"%23").replace(AS,"%3F")}function IS(e){return e==null?"":DS(e).replace(ES,"%2F")}function Aa(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function LS(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;i<n.length;++i){const o=n[i].replace(Gm," "),r=o.indexOf("="),a=Aa(r<0?o:o.slice(0,r)),l=r<0?null:Aa(o.slice(r+1));if(a in t){let c=t[a];rs(c)||(c=t[a]=[c]),c.push(l)}else t[a]=l}return t}function uf(e){let t="";for(let s in e){const n=e[s];if(s=OS(s),n==null){n!==void 0&&(t+=(t.length?"&":"")+s);continue}(rs(n)?n.map(o=>o&&$c(o)):[n&&$c(n)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+s,o!=null&&(t+="="+o))})}return t}function RS(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=rs(n)?n.map(i=>i==null?null:""+i):n==null?n:""+n)}return t}const NS=Symbol(""),hf=Symbol(""),Vd=Symbol(""),Zm=Symbol(""),Pc=Symbol("");function ao(){let e=[];function t(n){return e.push(n),()=>{const i=e.indexOf(n);i>-1&&e.splice(i,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function en(e,t,s,n,i){const o=n&&(n.enterCallbacks[i]=n.enterCallbacks[i]||[]);return()=>new Promise((r,a)=>{const l=u=>{u===!1?a(Bi(4,{from:s,to:t})):u instanceof Error?a(u):lS(u)?a(Bi(2,{from:t,to:u})):(o&&n.enterCallbacks[i]===o&&typeof u=="function"&&o.push(u),r())},c=e.call(n&&n.instances[i],t,s,l);let d=Promise.resolve(c);e.length<3&&(d=d.then(l)),d.catch(u=>a(u))})}function jl(e,t,s,n){const i=[];for(const o of e)for(const r in o.components){let a=o.components[r];if(!(t!=="beforeRouteEnter"&&!o.instances[r]))if(FS(a)){const c=(a.__vccOpts||a)[t];c&&i.push(en(c,s,n,o,r))}else{let l=a();i.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${r}" at "${o.path}"`));const d=WE(c)?c.default:c;o.components[r]=d;const f=(d.__vccOpts||d)[t];return f&&en(f,s,n,o,r)()}))}}return i}function FS(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ff(e){const t=ms(Vd),s=ms(Zm),n=Ke(()=>t.resolve(un(e.to))),i=Ke(()=>{const{matched:l}=n.value,{length:c}=l,d=l[c-1],u=s.matched;if(!d||!u.length)return-1;const f=u.findIndex(Fi.bind(null,d));if(f>-1)return f;const g=pf(l[c-2]);return c>1&&pf(d)===g&&u[u.length-1].path!==g?u.findIndex(Fi.bind(null,l[c-2])):f}),o=Ke(()=>i.value>-1&&jS(s.params,n.value.params)),r=Ke(()=>i.value>-1&&i.value===s.matched.length-1&&Wm(s.params,n.value.params));function a(l={}){return HS(l)?t[un(e.replace)?"replace":"push"](un(e.to)).catch(Po):Promise.resolve()}return{route:n,href:Ke(()=>n.value.href),isActive:o,isExactActive:r,navigate:a}}const BS=Xa({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:ff,setup(e,{slots:t}){const s=er(ff(e)),{options:n}=ms(Vd),i=Ke(()=>({[gf(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[gf(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const o=t.default&&t.default(s);return e.custom?o:Li("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:i.value},o)}}}),VS=BS;function HS(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function jS(e,t){for(const s in t){const n=t[s],i=e[s];if(typeof n=="string"){if(n!==i)return!1}else if(!rs(i)||i.length!==n.length||n.some((o,r)=>o!==i[r]))return!1}return!0}function pf(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const gf=(e,t,s)=>e??t??s,WS=Xa({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const n=ms(Pc),i=Ke(()=>e.route||n.value),o=ms(hf,0),r=Ke(()=>{let c=un(o);const{matched:d}=i.value;let u;for(;(u=d[c])&&!u.components;)c++;return c}),a=Ke(()=>i.value.matched[r.value]);na(hf,Ke(()=>r.value+1)),na(NS,a),na(Pc,i);const l=Oi();return qn(()=>[l.value,a.value,e.name],([c,d,u],[f,g,m])=>{d&&(d.instances[u]=c,g&&g!==d&&c&&c===f&&(d.leaveGuards.size||(d.leaveGuards=g.leaveGuards),d.updateGuards.size||(d.updateGuards=g.updateGuards))),c&&d&&(!g||!Fi(d,g)||!f)&&(d.enterCallbacks[u]||[]).forEach(b=>b(c))},{flush:"post"}),()=>{const c=i.value,d=e.name,u=a.value,f=u&&u.components[d];if(!f)return mf(s.default,{Component:f,route:c});const g=u.props[d],m=g?g===!0?c.params:typeof g=="function"?g(c):g:null,v=Li(f,Wt({},m,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(u.instances[d]=null)},ref:l}));return mf(s.default,{Component:v,route:c})||v}}});function mf(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const t_=WS;function zS(e){const t=bS(e.routes,e),s=e.parseQuery||LS,n=e.stringifyQuery||uf,i=e.history,o=ao(),r=ao(),a=ao(),l=Ad(qs);let c=qs;bi&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Vl.bind(null,j=>""+j),u=Vl.bind(null,IS),f=Vl.bind(null,Aa);function g(j,st){let tt,at;return Um(j)?(tt=t.getRecordMatcher(j),at=st):at=j,t.addRoute(at,tt)}function m(j){const st=t.getRecordMatcher(j);st&&t.removeRoute(st)}function b(){return t.getRoutes().map(j=>j.record)}function v(j){return!!t.getRecordMatcher(j)}function w(j,st){if(st=Wt({},st||l.value),typeof j=="string"){const D=Hl(s,j,st.path),R=t.resolve({path:D.path},st),Y=i.createHref(D.fullPath);return Wt(D,R,{params:f(R.params),hash:Aa(D.hash),redirectedFrom:void 0,href:Y})}let tt;if("path"in j)tt=Wt({},j,{path:Hl(s,j.path,st.path).path});else{const D=Wt({},j.params);for(const R in D)D[R]==null&&delete D[R];tt=Wt({},j,{params:u(D)}),st.params=u(st.params)}const at=t.resolve(tt,st),B=j.hash||"";at.params=d(f(at.params));const Mt=KE(n,Wt({},j,{hash:MS(B),path:at.path})),A=i.createHref(Mt);return Wt({fullPath:Mt,hash:B,query:n===uf?RS(j.query):j.query||{}},at,{redirectedFrom:void 0,href:A})}function E(j){return typeof j=="string"?Hl(s,j,l.value.path):Wt({},j)}function $(j,st){if(c!==j)return Bi(8,{from:st,to:j})}function T(j){return C(j)}function y(j){return T(Wt(E(j),{replace:!0}))}function x(j){const st=j.matched[j.matched.length-1];if(st&&st.redirect){const{redirect:tt}=st;let at=typeof tt=="function"?tt(j):tt;return typeof at=="string"&&(at=at.includes("?")||at.includes("#")?at=E(at):{path:at},at.params={}),Wt({query:j.query,hash:j.hash,params:"path"in at?{}:j.params},at)}}function C(j,st){const tt=c=w(j),at=l.value,B=j.state,Mt=j.force,A=j.replace===!0,D=x(tt);if(D)return C(Wt(E(D),{state:typeof D=="object"?Wt({},B,D.state):B,force:Mt,replace:A}),st||tt);const R=tt;R.redirectedFrom=st;let Y;return!Mt&&YE(n,at,tt)&&(Y=Bi(16,{to:R,from:at}),bt(at,at,!0,!1)),(Y?Promise.resolve(Y):M(R,at)).catch(z=>Ss(z)?Ss(z,2)?z:ut(z):K(z,R,at)).then(z=>{if(z){if(Ss(z,2))return C(Wt({replace:A},E(z.to),{state:typeof z.to=="object"?Wt({},B,z.to.state):B,force:Mt}),st||R)}else z=N(R,at,!0,A,B);return I(R,at,z),z})}function S(j,st){const tt=$(j,st);return tt?Promise.reject(tt):Promise.resolve()}function P(j){const st=At.values().next().value;return st&&typeof st.runWithContext=="function"?st.runWithContext(j):j()}function M(j,st){let tt;const[at,B,Mt]=US(j,st);tt=jl(at.reverse(),"beforeRouteLeave",j,st);for(const D of at)D.leaveGuards.forEach(R=>{tt.push(en(R,j,st))});const A=S.bind(null,j,st);return tt.push(A),Ct(tt).then(()=>{tt=[];for(const D of o.list())tt.push(en(D,j,st));return tt.push(A),Ct(tt)}).then(()=>{tt=jl(B,"beforeRouteUpdate",j,st);for(const D of B)D.updateGuards.forEach(R=>{tt.push(en(R,j,st))});return tt.push(A),Ct(tt)}).then(()=>{tt=[];for(const D of Mt)if(D.beforeEnter)if(rs(D.beforeEnter))for(const R of D.beforeEnter)tt.push(en(R,j,st));else tt.push(en(D.beforeEnter,j,st));return tt.push(A),Ct(tt)}).then(()=>(j.matched.forEach(D=>D.enterCallbacks={}),tt=jl(Mt,"beforeRouteEnter",j,st),tt.push(A),Ct(tt))).then(()=>{tt=[];for(const D of r.list())tt.push(en(D,j,st));return tt.push(A),Ct(tt)}).catch(D=>Ss(D,8)?D:Promise.reject(D))}function I(j,st,tt){a.list().forEach(at=>P(()=>at(j,st,tt)))}function N(j,st,tt,at,B){const Mt=$(j,st);if(Mt)return Mt;const A=st===qs,D=bi?history.state:{};tt&&(at||A?i.replace(j.fullPath,Wt({scroll:A&&D&&D.scroll},B)):i.push(j.fullPath,B)),l.value=j,bt(j,st,tt,A),ut()}let Q;function G(){Q||(Q=i.listen((j,st,tt)=>{if(!Lt.listening)return;const at=w(j),B=x(at);if(B){C(Wt(B,{replace:!0}),at).catch(Po);return}c=at;const Mt=l.value;bi&&eS(sf(Mt.fullPath,tt.delta),sl()),M(at,Mt).catch(A=>Ss(A,12)?A:Ss(A,2)?(C(A.to,at).then(D=>{Ss(D,20)&&!tt.delta&&tt.type===Wo.pop&&i.go(-1,!1)}).catch(Po),Promise.reject()):(tt.delta&&i.go(-tt.delta,!1),K(A,at,Mt))).then(A=>{A=A||N(at,Mt,!1),A&&(tt.delta&&!Ss(A,8)?i.go(-tt.delta,!1):tt.type===Wo.pop&&Ss(A,20)&&i.go(-1,!1)),I(at,Mt,A)}).catch(Po)}))}let V=ao(),L=ao(),W;function K(j,st,tt){ut(j);const at=L.list();return at.length?at.forEach(B=>B(j,st,tt)):console.error(j),Promise.reject(j)}function ot(){return W&&l.value!==qs?Promise.resolve():new Promise((j,st)=>{V.add([j,st])})}function ut(j){return W||(W=!j,G(),V.list().forEach(([st,tt])=>j?tt(j):st()),V.reset()),j}function bt(j,st,tt,at){const{scrollBehavior:B}=e;if(!bi||!B)return Promise.resolve();const Mt=!tt&&sS(sf(j.fullPath,0))||(at||!tt)&&history.state&&history.state.scroll||null;return nr().then(()=>B(j,st,Mt)).then(A=>A&&tS(A)).catch(A=>K(A,j,st))}const _t=j=>i.go(j);let Pt;const At=new Set,Lt={currentRoute:l,listening:!0,addRoute:g,removeRoute:m,hasRoute:v,getRoutes:b,resolve:w,options:e,push:T,replace:y,go:_t,back:()=>_t(-1),forward:()=>_t(1),beforeEach:o.add,beforeResolve:r.add,afterEach:a.add,onError:L.add,isReady:ot,install(j){const st=this;j.component("RouterLink",VS),j.component("RouterView",t_),j.config.globalProperties.$router=st,Object.defineProperty(j.config.globalProperties,"$route",{enumerable:!0,get:()=>un(l)}),bi&&!Pt&&l.value===qs&&(Pt=!0,T(i.location).catch(B=>{}));const tt={};for(const B in qs)Object.defineProperty(tt,B,{get:()=>l.value[B],enumerable:!0});j.provide(Vd,st),j.provide(Zm,zg(tt)),j.provide(Pc,l);const at=j.unmount;At.add(j),j.unmount=function(){At.delete(j),At.size<1&&(c=qs,Q&&Q(),Q=null,l.value=qs,Pt=!1,W=!1),at()}}};function Ct(j){return j.reduce((st,tt)=>st.then(()=>P(tt)),Promise.resolve())}return Lt}function US(e,t){const s=[],n=[],i=[],o=Math.max(t.matched.length,e.matched.length);for(let r=0;r<o;r++){const a=t.matched[r];a&&(e.matched.find(c=>Fi(c,a))?n.push(a):s.push(a));const l=e.matched[r];l&&(t.matched.find(c=>Fi(c,l))||i.push(l))}return[s,n,i]}const he=async(e,t=void 0,s=void 0)=>{const n=new URLSearchParams(t);await fetch(`${e}?${n.toString()}`,{headers:{"content-type":"application/json"}}).then(i=>i.json()).then(i=>s?s(i):void 0).catch(i=>{})},ue=async(e,t,s)=>{await fetch(`${e}`,{headers:{"content-type":"application/json"},method:"POST",body:JSON.stringify(t)}).then(n=>n.json()).then(n=>s?s(n):void 0)};let Lr;const KS=new Uint8Array(16);function YS(){if(!Lr&&(Lr=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Lr))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Lr(KS)}const fe=[];for(let e=0;e<256;++e)fe.push((e+256).toString(16).slice(1));function qS(e,t=0){return fe[e[t+0]]+fe[e[t+1]]+fe[e[t+2]]+fe[e[t+3]]+"-"+fe[e[t+4]]+fe[e[t+5]]+"-"+fe[e[t+6]]+fe[e[t+7]]+"-"+fe[e[t+8]]+fe[e[t+9]]+"-"+fe[e[t+10]]+fe[e[t+11]]+fe[e[t+12]]+fe[e[t+13]]+fe[e[t+14]]+fe[e[t+15]]}const GS=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),_f={randomUUID:GS};function Ji(e,t,s){if(_f.randomUUID&&!t&&!e)return _f.randomUUID();e=e||{};const n=e.random||(e.rng||YS)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){s=s||0;for(let i=0;i<16;++i)t[s+i]=n[i];return t}return qS(n)}const Jt=Fd("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1}}),actions:{async getConfiguration(){await he("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async updateConfiguration(){await ue("/api/updateDashboardConfiguration",{DashboardConfiguration:this.Configuration},e=>{console.log(e)})},async signOut(){await he("/api/signout",{},e=>{this.$router.go("/signin")})},newMessage(e,t,s){this.Messages.push({id:Ji(),from:e,content:t,type:s,show:!0})}}}),XS=p("nav",{class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},[p("div",{class:"container-fluid"},[p("span",{class:"navbar-brand mb-0 h1"},"WGDashboard")])],-1),JS={__name:"App",setup(e){return Jt(),(t,s)=>(H(),q(Ht,null,[XS,(H(),oe(qa,null,{default:Bt(()=>[dt(un(t_),null,{default:Bt(({Component:n})=>[dt(is,{name:"fade",mode:"out-in"},{default:Bt(()=>[(H(),oe(Td(n)))]),_:2},1024)]),_:1})]),_:1}))],64))}},QS={getCookie(e){const s=`; ${document.cookie}`.split(`; ${e}=`);if(s.length===2)return s.pop().split(";").shift()}};Fd("WGDashboardStore",{state:()=>({WireguardConfigurations:void 0,DashboardConfiguration:void 0}),actions:{async getDashboardConfiguration(){await he("/api/getDashboardConfiguration",{},e=>{console.log(e.status),e.status&&(this.DashboardConfiguration=e.data)})}}});const bf="[a-fA-F\\d:]",nn=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${bf})|(?<=${bf})(?=\\s|$))`:"",es="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",ie="[a-fA-F\\d]{1,4}",nl=`
(?:
(?:${ie}:){7}(?:${ie}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
(?:${ie}:){6}(?:${es}|:${ie}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
(?:${ie}:){5}(?::${es}|(?::${ie}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
(?:${ie}:){4}(?:(?::${ie}){0,1}:${es}|(?::${ie}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
(?:${ie}:){3}(?:(?::${ie}){0,2}:${es}|(?::${ie}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
(?:${ie}:){2}(?:(?::${ie}){0,3}:${es}|(?::${ie}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
(?:${ie}:){1}(?:(?::${ie}){0,4}:${es}|(?::${ie}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
(?::(?:(?::${ie}){0,5}:${es}|(?::${ie}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),ZS=new RegExp(`(?:^${es}$)|(?:^${nl}$)`),tA=new RegExp(`^${es}$`),eA=new RegExp(`^${nl}$`),il=e=>e&&e.exact?ZS:new RegExp(`(?:${nn(e)}${es}${nn(e)})|(?:${nn(e)}${nl}${nn(e)})`,"g");il.v4=e=>e&&e.exact?tA:new RegExp(`${nn(e)}${es}${nn(e)}`,"g");il.v6=e=>e&&e.exact?eA:new RegExp(`${nn(e)}${nl}${nn(e)}`,"g");const e_={exact:!1},s_=`${il.v4().source}\\/(3[0-2]|[12]?[0-9])`,n_=`${il.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,sA=new RegExp(`^${s_}$`),nA=new RegExp(`^${n_}$`),iA=({exact:e}=e_)=>e?sA:new RegExp(s_,"g"),oA=({exact:e}=e_)=>e?nA:new RegExp(n_,"g"),i_=iA({exact:!0}),o_=oA({exact:!0}),Hd=e=>i_.test(e)?4:o_.test(e)?6:0;Hd.v4=e=>i_.test(e);Hd.v6=e=>o_.test(e);const as=Fd("WireguardConfigurationsStore",{state:()=>({Configurations:void 0,searchString:""}),actions:{async getConfigurations(){await he("/api/getWireguardConfigurations",{},e=>{e.status&&(this.Configurations=e.data)})},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return Hd(e)!==0}}}),kt=(e,t)=>{const s=e.__vccOpts||e;for(const[n,i]of t)s[n]=i;return s},rA={name:"navbar",setup(){const e=as(),t=Jt();return{wireguardConfigurationsStore:e,dashboardConfigurationStore:t}}},aA={class:"col-md-3 col-lg-2 d-md-block p-3"},lA={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow"},cA={class:"sidebar-sticky pt-3"},dA={class:"nav flex-column"},uA={class:"nav-item"},hA={class:"nav-item"},fA=p("hr",null,null,-1),pA=p("h6",{class:"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted"},[p("span",null,"Configurations")],-1),gA={class:"nav flex-column"},mA={class:"nav-item"},_A=p("hr",null,null,-1),bA=p("h6",{class:"sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted"},[p("span",null,"Tools")],-1),vA={class:"nav flex-column"},yA={class:"nav-item"},xA={class:"nav-item"},wA=p("hr",null,null,-1),EA={class:"nav flex-column"},SA={class:"nav-item"},AA=p("ul",{class:"nav flex-column"},[p("li",{class:"nav-item"},[p("a",{href:"https://github.com/donaldzou/WGDashboard/releases/tag/"},[p("small",{class:"nav-link text-muted"})])])],-1);function CA(e,t,s,n,i,o){const r=Dt("RouterLink");return H(),q("div",aA,[p("nav",lA,[p("div",cA,[p("ul",dA,[p("li",uA,[dt(r,{class:"nav-link",to:"/","exact-active-class":"active"},{default:Bt(()=>[ht("Home")]),_:1})]),p("li",hA,[dt(r,{class:"nav-link",to:"/settings","exact-active-class":"active"},{default:Bt(()=>[ht("Settings")]),_:1})])]),fA,pA,p("ul",gA,[p("li",mA,[(H(!0),q(Ht,null,_e(this.wireguardConfigurationsStore.Configurations,a=>(H(),oe(r,{to:"/configuration/"+a.Name+"/peers",class:"nav-link nav-conf-link","active-class":"active"},{default:Bt(()=>[p("samp",null,lt(a.Name),1)]),_:2},1032,["to"]))),256))])]),_A,bA,p("ul",vA,[p("li",yA,[dt(r,{to:"/ping",class:"nav-link","active-class":"active"},{default:Bt(()=>[ht("Ping")]),_:1})]),p("li",xA,[dt(r,{to:"/traceroute",class:"nav-link","active-class":"active"},{default:Bt(()=>[ht("Traceroute")]),_:1})])]),wA,p("ul",EA,[p("li",SA,[p("a",{class:"nav-link text-danger",onClick:t[0]||(t[0]=a=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},"Sign Out")])]),AA])])])}const $A=kt(rA,[["render",CA]]),PA={name:"message",props:{message:Object},mounted(){setTimeout(()=>{this.message.show=!1},5e3)}},kA=["id"],TA={class:"card-body"},MA={class:"fw-bold d-block",style:{"text-transform":"uppercase"}};function OA(e,t,s,n,i,o){return H(),q("div",{class:Rt(["card shadow rounded-3 position-relative mb-2",{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"}]),id:this.message.id,style:{width:"400px"}},[p("div",TA,[p("small",MA,"FROM "+lt(this.message.from),1),ht(" "+lt(this.message.content),1)])],10,kA)}const DA=kt(PA,[["render",OA]]),IA={name:"index",components:{Message:DA,Navbar:$A},async setup(){return{dashboardConfigurationStore:Jt()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(e=>e.show)}}},LA=["data-bs-theme"],RA={class:"row h-100"},NA={class:"col-md-9 ml-sm-auto col-lg-10 px-md-4 overflow-y-scroll mb-0",style:{height:"calc(100vh - 50px)"}},FA={class:"messageCentre text-body position-fixed"};function BA(e,t,s,n,i,o){const r=Dt("Navbar"),a=Dt("RouterView"),l=Dt("Message");return H(),q("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[p("div",RA,[dt(r),p("main",NA,[(H(),oe(qa,null,{default:Bt(()=>[dt(a,null,{default:Bt(({Component:c})=>[dt(is,{name:"fade2",mode:"out-in"},{default:Bt(()=>[(H(),oe(Td(c)))]),_:2},1024)]),_:1})]),_:1})),p("div",FA,[dt(or,{name:"message",tag:"div",class:"position-relative"},{default:Bt(()=>[(H(!0),q(Ht,null,_e(o.getMessages.slice().reverse(),c=>(H(),oe(l,{message:c,key:c.id},null,8,["message"]))),128))]),_:1})])])])],8,LA)}const VA=kt(IA,[["render",BA],["__scopeId","data-v-54755a4a"]]),HA={name:"signin",async setup(){const e=Jt();let t="",s=!1;return await he("/api/getDashboardTheme",{},n=>{t=n.data}),await he("/api/isTotpEnabled",{},n=>{s=n.data}),{store:e,theme:t,totpEnabled:s}},data(){return{username:"",password:"",totp:"",loginError:!1,loginErrorMessage:"",loading:!1}},methods:{async auth(){this.username&&this.password&&(this.totpEnabled&&this.totp||!this.totpEnabled)?(this.loading=!0,await ue("/api/authenticate",{username:this.username,password:this.password,totp:this.totp},e=>{e.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),e.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.loginError=!0,this.loginErrorMessage=e.message,document.querySelectorAll("input[required]").forEach(t=>{t.classList.remove("is-valid"),t.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(e=>{e.value.length===0?(e.classList.remove("is-valid"),e.classList.add("is-invalid")):(e.classList.remove("is-invalid"),e.classList.add("is-valid"))})}}},jA=["data-bs-theme"],WA={class:"login-box m-auto",style:{width:"500px"}},zA=p("h4",{class:"mb-0 text-body"},"Welcome to",-1),UA=p("span",{class:"dashboardLogo display-3"},"WGDashboard",-1),KA={class:"m-auto"},YA={key:0,class:"alert alert-danger mt-2 mb-0",role:"alert"},qA={class:"form-group text-body"},GA=p("label",{for:"username",class:"text-left",style:{"font-size":"1rem"}},[p("i",{class:"bi bi-person-circle"})],-1),XA={class:"form-group text-body"},JA=p("label",{for:"password",class:"text-left",style:{"font-size":"1rem"}},[p("i",{class:"bi bi-key-fill"})],-1),QA={key:0,class:"form-group text-body"},ZA=p("label",{for:"totp",class:"text-left",style:{"font-size":"1rem"}},[p("i",{class:"bi bi-lock-fill"})],-1),tC={class:"btn btn-lg btn-dark ms-auto mt-4 w-100 d-flex btn-brand shadow signInBtn",ref:"signInBtn"},eC={key:0,class:"d-flex w-100"},sC=p("i",{class:"ms-auto bi bi-chevron-right"},null,-1),nC={key:1,class:"d-flex w-100 align-items-center"},iC=p("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[p("span",{class:"visually-hidden"},"Loading...")],-1),oC=p("small",{class:"text-muted pb-3 d-block w-100 text-center"},[ht(" WGDashboard v4.0 | Developed with ❤️ by "),p("a",{href:"https://github.com/donaldzou",target:"_blank"},[p("strong",null,"Donald Zou")])],-1);function rC(e,t,s,n,i,o){return H(),q("div",{class:"container-fluid login-container-fluid d-flex main flex-column","data-bs-theme":this.theme},[p("div",WA,[zA,UA,p("div",KA,[i.loginError?(H(),q("div",YA,lt(this.loginErrorMessage),1)):Vt("",!0),p("form",{onSubmit:t[3]||(t[3]=r=>{r.preventDefault(),this.auth()})},[p("div",qA,[GA,mt(p("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=r=>i.username=r),class:"form-control",id:"username",name:"username",autocomplete:"on",placeholder:"Username",required:""},null,512),[[yt,i.username]])]),p("div",XA,[JA,mt(p("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=r=>i.password=r),class:"form-control",id:"password",name:"password",autocomplete:"on",placeholder:"Password",required:""},null,512),[[yt,i.password]])]),n.totpEnabled?(H(),q("div",QA,[ZA,mt(p("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:"OTP from your authenticator","onUpdate:modelValue":t[2]||(t[2]=r=>this.totp=r)},null,512),[[yt,this.totp]])])):Vt("",!0),p("button",tC,[this.loading?(H(),q("span",nC,[ht(" Signing In... "),iC])):(H(),q("span",eC,[ht(" Sign In"),sC]))],512)],32)])]),oC],8,jA)}const aC=kt(HA,[["render",rC]]),lC={name:"configurationCard",props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String}},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:Jt()}},methods:{toggle(){this.configurationToggling=!0,he("/api/toggleWireguardConfiguration/",{configurationName:this.c.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} is ${e.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.c.Status=e.data,this.configurationToggling=!1})}}},cC={class:"card conf_card rounded-3 shadow text-decoration-none"},dC={class:"mb-0"},uC={class:"card-title mb-0"},hC=p("h6",{class:"mb-0 ms-auto"},[p("i",{class:"bi bi-chevron-right"})],-1),fC={class:"card-footer d-flex align-items-center"},pC=p("small",{class:"me-2 text-muted"},[p("strong",null,"PUBLIC KEY")],-1),gC={class:"mb-0 d-block d-lg-inline-block"},mC={style:{"line-break":"anywhere"}},_C={class:"form-check form-switch ms-auto"},bC=["for"],vC={key:0,class:"spinner-border spinner-border-sm","aria-hidden":"true"},yC=["disabled","id"];function xC(e,t,s,n,i,o){const r=Dt("RouterLink");return H(),q("div",cC,[dt(r,{to:"/configuration/"+s.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:Bt(()=>[p("h6",dC,[p("span",{class:Rt(["dot",{active:s.c.Status}])},null,2)]),p("h6",uC,[p("samp",null,lt(s.c.Name),1)]),hC]),_:1},8,["to"]),p("div",fC,[pC,p("small",gC,[p("samp",mC,lt(s.c.PublicKey),1)]),p("div",_C,[p("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+s.c.PrivateKey},[ht(lt(this.configurationToggling?"Turning ":"")+" "+lt(s.c.Status?"On":"Off")+" ",1),this.configurationToggling?(H(),q("span",vC)):Vt("",!0)],8,bC),mt(p("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+s.c.PrivateKey,onChange:t[0]||(t[0]=a=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=a=>s.c.Status=a)},null,40,yC),[[Xi,s.c.Status]])])])])}const wC=kt(lC,[["render",xC]]),EC={name:"configurationList",components:{ConfigurationCard:wC},async setup(){return{wireguardConfigurationsStore:as()}},data(){return{configurationLoaded:!1}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),this.configurationLoaded=!0}},SC={class:"mt-5"},AC={class:"container"},CC={class:"d-flex mb-4"},$C=p("h3",{class:"text-body"},"WireGuard Configurations",-1),PC=p("i",{class:"bi bi-plus-circle-fill me-2"},null,-1),kC={key:0},TC={key:0,class:"text-muted"},MC={key:1,class:"d-flex gap-3 flex-column"};function OC(e,t,s,n,i,o){const r=Dt("RouterLink"),a=Dt("ConfigurationCard");return H(),q("div",SC,[p("div",AC,[p("div",CC,[$C,dt(r,{to:"/new_configuration",class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto rounded-3"},{default:Bt(()=>[PC,ht(" Configuration ")]),_:1})]),dt(is,{name:"fade",mode:"out-in"},{default:Bt(()=>[this.configurationLoaded?(H(),q("div",kC,[this.wireguardConfigurationsStore.Configurations.length===0?(H(),q("p",TC,` You don't have any WireGuard configurations yet. Please check the configuration folder or change it in "Settings". By default the folder is "/etc/wireguard". `)):(H(),q("div",MC,[(H(!0),q(Ht,null,_e(this.wireguardConfigurationsStore.Configurations,l=>(H(),oe(a,{key:l.Name,c:l},null,8,["c"]))),128))]))])):Vt("",!0)]),_:1})])])}const DC=kt(EC,[["render",OC]]),IC={props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Jt(),t=`input_${Ji()}`;return{store:e,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},methods:{async useValidation(){this.changed&&await ue("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1})}}},LC={class:"form-group mb-2"},RC=["for"],NC=["id","disabled"],FC={class:"invalid-feedback"},BC={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},VC=p("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),HC=["innerHTML"];function jC(e,t,s,n,i,o){return H(),q("div",LC,[p("label",{for:this.uuid,class:"text-muted mb-1"},[p("strong",null,[p("small",null,lt(this.title),1)])],8,RC),mt(p("input",{type:"text",class:Rt(["form-control",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>o.useValidation()),disabled:this.updating},null,42,NC),[[yt,this.value]]),p("div",FC,lt(this.invalidFeedback),1),s.warning?(H(),q("div",BC,[p("small",null,[VC,p("span",{innerHTML:s.warningText},null,8,HC)])])):Vt("",!0)])}const WC=kt(IC,[["render",jC]]),zC=e=>{},UC={name:"accountSettingsInputUsername",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Jt(),t=`input_${Ji()}`;return{store:e,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await ue("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1}))}}},KC={class:"form-group mb-2"},YC=["for"],qC=["id","disabled"],GC={class:"invalid-feedback"},XC={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},JC=p("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),QC=["innerHTML"];function ZC(e,t,s,n,i,o){return H(),q("div",KC,[p("label",{for:this.uuid,class:"text-muted mb-1"},[p("strong",null,[p("small",null,lt(this.title),1)])],8,YC),mt(p("input",{type:"text",class:Rt(["form-control",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>o.useValidation()),disabled:this.updating},null,42,qC),[[yt,this.value]]),p("div",GC,lt(this.invalidFeedback),1),s.warning?(H(),q("div",XC,[p("small",null,[JC,p("span",{innerHTML:s.warningText},null,8,QC)])])):Vt("",!0)])}const t$=kt(UC,[["render",ZC]]),e$={name:"accountSettingsInputPassword",props:{targetData:String,warning:!1,warningText:""},setup(){const e=Jt(),t=`input_${Ji()}`;return{store:e,uuid:t}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(e=>e.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await ue("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}}},s$={class:"row"},n$={class:"col-sm"},i$={class:"form-group mb-2"},o$=["for"],r$=p("strong",null,[p("small",null,"Current Password")],-1),a$=[r$],l$=["id"],c$={key:0,class:"invalid-feedback d-block"},d$={class:"col-sm"},u$={class:"form-group mb-2"},h$=["for"],f$=p("strong",null,[p("small",null,"New Password")],-1),p$=[f$],g$=["id"],m$={class:"col-sm"},_$={class:"form-group mb-2"},b$=["for"],v$=p("strong",null,[p("small",null,"Repeat New Password")],-1),y$=[v$],x$=["id"],w$=p("i",{class:"bi bi-key-fill me-2"},null,-1);function E$(e,t,s,n,i,o){return H(),q("div",null,[p("div",s$,[p("div",n$,[p("div",i$,[p("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},a$,8,o$),mt(p("input",{type:"password",class:Rt(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[0]||(t[0]=r=>this.value.currentPassword=r),id:"currentPassword_"+this.uuid},null,10,l$),[[yt,this.value.currentPassword]]),i.showInvalidFeedback?(H(),q("div",c$,lt(this.invalidFeedback),1)):Vt("",!0)])]),p("div",d$,[p("div",u$,[p("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},p$,8,h$),mt(p("input",{type:"password",class:Rt(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[1]||(t[1]=r=>this.value.newPassword=r),id:"newPassword_"+this.uuid},null,10,g$),[[yt,this.value.newPassword]])])]),p("div",m$,[p("div",_$,[p("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},y$,8,b$),mt(p("input",{type:"password",class:Rt(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[2]||(t[2]=r=>this.value.repeatNewPassword=r),id:"repeatNewPassword_"+this.uuid},null,10,x$),[[yt,this.value.repeatNewPassword]])])])]),p("button",{class:"btn btn-success btn-sm fw-bold rounded-3",onClick:t[3]||(t[3]=r=>this.useValidation())},[w$,ht("Update Password ")])])}const S$=kt(e$,[["render",E$]]),A$={name:"dashboardSettingsInputWireguardConfigurationPath",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=Jt(),t=`input_${Ji()}`;return{store:e,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&await ue("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1})}}},C$={class:"form-group mb-2"},$$=["for"],P$=["id","disabled"],k$={class:"invalid-feedback"},T$={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},M$=p("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),O$=["innerHTML"];function D$(e,t,s,n,i,o){return H(),q("div",C$,[p("label",{for:this.uuid,class:"text-muted mb-1"},[p("strong",null,[p("small",null,lt(this.title),1)])],8,$$),mt(p("input",{type:"text",class:Rt(["form-control",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>this.useValidation()),disabled:this.updating},null,42,P$),[[yt,this.value]]),p("div",k$,lt(this.invalidFeedback),1),s.warning?(H(),q("div",T$,[p("small",null,[M$,p("span",{innerHTML:s.warningText},null,8,O$)])])):Vt("",!0)])}const I$=kt(A$,[["render",D$]]),L$={name:"dashboardTheme",setup(){return{dashboardConfigurationStore:Jt()}},methods:{async switchTheme(e){await ue("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:e},t=>{t.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=e)})}}},R$={class:"card mb-4 shadow rounded-3"},N$=p("p",{class:"card-header"},"Dashboard Theme",-1),F$={class:"card-body d-flex gap-2"},B$=p("i",{class:"bi bi-sun-fill"},null,-1),V$=p("i",{class:"bi bi-moon-fill"},null,-1);function H$(e,t,s,n,i,o){return H(),q("div",R$,[N$,p("div",F$,[p("button",{class:Rt(["btn btn-outline-primary flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:t[0]||(t[0]=r=>this.switchTheme("light"))},[B$,ht(" Light ")],2),p("button",{class:Rt(["btn btn-outline-primary flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:t[1]||(t[1]=r=>this.switchTheme("dark"))},[V$,ht(" Dark ")],2)])])}const j$=kt(L$,[["render",H$]]),W$={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=Jt(),t=`input_${Ji()}`;return{store:e,uuid:t}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await ue("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)})}}},z$={class:"invalid-feedback d-block mt-0"},U$={class:"row"},K$={class:"form-group mb-2 col-sm"},Y$=["for"],q$=p("strong",null,[p("small",null,"Dashboard IP Address")],-1),G$=[q$],X$=["id"],J$=p("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[p("small",null,[p("i",{class:"bi bi-exclamation-triangle-fill me-2"}),p("code",null,"0.0.0.0"),ht(" means it can be access by anyone with your server IP Address.")])],-1),Q$={class:"form-group col-sm"},Z$=["for"],tP=p("strong",null,[p("small",null,"Dashboard Port")],-1),eP=[tP],sP=["id"],nP=p("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[p("i",{class:"bi bi-floppy-fill me-2"}),ht("Update Dashboard Settings & Restart ")],-1);function iP(e,t,s,n,i,o){return H(),q("div",null,[p("div",z$,lt(this.invalidFeedback),1),p("div",U$,[p("div",K$,[p("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},G$,8,Y$),mt(p("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.app_ip=r)},null,8,X$),[[yt,this.app_ip]]),J$]),p("div",Q$,[p("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},eP,8,Z$),mt(p("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":t[1]||(t[1]=r=>this.app_port=r)},null,8,sP),[[yt,this.app_port]])])]),nP])}const oP=kt(W$,[["render",iP]]),rP={name:"settings",methods:{ipV46RegexCheck:zC},components:{DashboardSettingsInputIPAddressAndPort:oP,DashboardTheme:j$,DashboardSettingsInputWireguardConfigurationPath:I$,AccountSettingsInputPassword:S$,AccountSettingsInputUsername:t$,PeersDefaultSettingsInput:WC},setup(){return{dashboardConfigurationStore:Jt()}},watch:{}},aP={class:"mt-5"},lP={class:"container"},cP=p("h3",{class:"mb-3 text-body"},"Settings",-1),dP={class:"card mb-4 shadow rounded-3"},uP=p("p",{class:"card-header"},"Peers Default Settings",-1),hP={class:"card-body"},fP={class:"card mb-4 shadow rounded-3"},pP=p("p",{class:"card-header"},"WireGuard Configurations Settings",-1),gP={class:"card-body"},mP={class:"card mb-4 shadow rounded-3"},_P=p("p",{class:"card-header"},"Account Settings",-1),bP={class:"card-body"},vP=p("hr",null,null,-1);function yP(e,t,s,n,i,o){const r=Dt("DashboardTheme"),a=Dt("PeersDefaultSettingsInput"),l=Dt("DashboardSettingsInputWireguardConfigurationPath"),c=Dt("AccountSettingsInputUsername"),d=Dt("AccountSettingsInputPassword");return H(),q("div",aP,[p("div",lP,[cP,dt(r),p("div",dP,[uP,p("div",hP,[dt(a,{targetData:"peer_global_dns",title:"DNS"}),dt(a,{targetData:"peer_endpoint_allowed_ip",title:"Peer Endpoint Allowed IPs"}),dt(a,{targetData:"peer_mtu",title:"MTU (Max Transmission Unit)"}),dt(a,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),dt(a,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be change globally, and will be apply to all peer's QR code and configuration file."})])]),p("div",fP,[pP,p("div",gP,[dt(l,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove <code>/</code> at the end of your path. e.g <code>/etc/wireguard</code>"})])]),p("div",mP,[_P,p("div",bP,[dt(c,{targetData:"username",title:"Username"}),vP,dt(d,{targetData:"password"})])])])])}const xP=kt(rP,[["render",yP]]);var Qi={},wP=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},r_={},Be={};let jd;const EP=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];Be.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};Be.getSymbolTotalCodewords=function(t){return EP[t]};Be.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};Be.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');jd=t};Be.isKanjiModeEnabled=function(){return typeof jd<"u"};Be.toSJIS=function(t){return jd(t)};var ol={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(s){if(typeof s!="string")throw new Error("Param is not a string");switch(s.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+s)}}e.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},e.from=function(n,i){if(e.isValid(n))return n;try{return t(n)}catch{return i}}})(ol);function a_(){this.buffer=[],this.length=0}a_.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let s=0;s<t;s++)this.putBit((e>>>t-s-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var SP=a_;function rr(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}rr.prototype.set=function(e,t,s,n){const i=e*this.size+t;this.data[i]=s,n&&(this.reservedBit[i]=!0)};rr.prototype.get=function(e,t){return this.data[e*this.size+t]};rr.prototype.xor=function(e,t,s){this.data[e*this.size+t]^=s};rr.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var AP=rr,l_={};(function(e){const t=Be.getSymbolSize;e.getRowColCoords=function(n){if(n===1)return[];const i=Math.floor(n/7)+2,o=t(n),r=o===145?26:Math.ceil((o-13)/(2*i-2))*2,a=[o-7];for(let l=1;l<i-1;l++)a[l]=a[l-1]-r;return a.push(6),a.reverse()},e.getPositions=function(n){const i=[],o=e.getRowColCoords(n),r=o.length;for(let a=0;a<r;a++)for(let l=0;l<r;l++)a===0&&l===0||a===0&&l===r-1||a===r-1&&l===0||i.push([o[a],o[l]]);return i}})(l_);var c_={};const CP=Be.getSymbolSize,vf=7;c_.getPositions=function(t){const s=CP(t);return[[0,0],[s-vf,0],[0,s-vf]]};var d_={};(function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(i){return i!=null&&i!==""&&!isNaN(i)&&i>=0&&i<=7},e.from=function(i){return e.isValid(i)?parseInt(i,10):void 0},e.getPenaltyN1=function(i){const o=i.size;let r=0,a=0,l=0,c=null,d=null;for(let u=0;u<o;u++){a=l=0,c=d=null;for(let f=0;f<o;f++){let g=i.get(u,f);g===c?a++:(a>=5&&(r+=t.N1+(a-5)),c=g,a=1),g=i.get(f,u),g===d?l++:(l>=5&&(r+=t.N1+(l-5)),d=g,l=1)}a>=5&&(r+=t.N1+(a-5)),l>=5&&(r+=t.N1+(l-5))}return r},e.getPenaltyN2=function(i){const o=i.size;let r=0;for(let a=0;a<o-1;a++)for(let l=0;l<o-1;l++){const c=i.get(a,l)+i.get(a,l+1)+i.get(a+1,l)+i.get(a+1,l+1);(c===4||c===0)&&r++}return r*t.N2},e.getPenaltyN3=function(i){const o=i.size;let r=0,a=0,l=0;for(let c=0;c<o;c++){a=l=0;for(let d=0;d<o;d++)a=a<<1&2047|i.get(c,d),d>=10&&(a===1488||a===93)&&r++,l=l<<1&2047|i.get(d,c),d>=10&&(l===1488||l===93)&&r++}return r*t.N3},e.getPenaltyN4=function(i){let o=0;const r=i.data.length;for(let l=0;l<r;l++)o+=i.data[l];return Math.abs(Math.ceil(o*100/r/5)-10)*t.N4};function s(n,i,o){switch(n){case e.Patterns.PATTERN000:return(i+o)%2===0;case e.Patterns.PATTERN001:return i%2===0;case e.Patterns.PATTERN010:return o%3===0;case e.Patterns.PATTERN011:return(i+o)%3===0;case e.Patterns.PATTERN100:return(Math.floor(i/2)+Math.floor(o/3))%2===0;case e.Patterns.PATTERN101:return i*o%2+i*o%3===0;case e.Patterns.PATTERN110:return(i*o%2+i*o%3)%2===0;case e.Patterns.PATTERN111:return(i*o%3+(i+o)%2)%2===0;default:throw new Error("bad maskPattern:"+n)}}e.applyMask=function(i,o){const r=o.size;for(let a=0;a<r;a++)for(let l=0;l<r;l++)o.isReserved(l,a)||o.xor(l,a,s(i,l,a))},e.getBestMask=function(i,o){const r=Object.keys(e.Patterns).length;let a=0,l=1/0;for(let c=0;c<r;c++){o(c),e.applyMask(c,i);const d=e.getPenaltyN1(i)+e.getPenaltyN2(i)+e.getPenaltyN3(i)+e.getPenaltyN4(i);e.applyMask(c,i),d<l&&(l=d,a=c)}return a}})(d_);var rl={};const on=ol,Rr=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],Nr=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];rl.getBlocksCount=function(t,s){switch(s){case on.L:return Rr[(t-1)*4+0];case on.M:return Rr[(t-1)*4+1];case on.Q:return Rr[(t-1)*4+2];case on.H:return Rr[(t-1)*4+3];default:return}};rl.getTotalCodewordsCount=function(t,s){switch(s){case on.L:return Nr[(t-1)*4+0];case on.M:return Nr[(t-1)*4+1];case on.Q:return Nr[(t-1)*4+2];case on.H:return Nr[(t-1)*4+3];default:return}};var u_={},al={};const To=new Uint8Array(512),Ca=new Uint8Array(256);(function(){let t=1;for(let s=0;s<255;s++)To[s]=t,Ca[t]=s,t<<=1,t&256&&(t^=285);for(let s=255;s<512;s++)To[s]=To[s-255]})();al.log=function(t){if(t<1)throw new Error("log("+t+")");return Ca[t]};al.exp=function(t){return To[t]};al.mul=function(t,s){return t===0||s===0?0:To[Ca[t]+Ca[s]]};(function(e){const t=al;e.mul=function(n,i){const o=new Uint8Array(n.length+i.length-1);for(let r=0;r<n.length;r++)for(let a=0;a<i.length;a++)o[r+a]^=t.mul(n[r],i[a]);return o},e.mod=function(n,i){let o=new Uint8Array(n);for(;o.length-i.length>=0;){const r=o[0];for(let l=0;l<i.length;l++)o[l]^=t.mul(i[l],r);let a=0;for(;a<o.length&&o[a]===0;)a++;o=o.slice(a)}return o},e.generateECPolynomial=function(n){let i=new Uint8Array([1]);for(let o=0;o<n;o++)i=e.mul(i,new Uint8Array([1,t.exp(o)]));return i}})(u_);const h_=u_;function Wd(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}Wd.prototype.initialize=function(t){this.degree=t,this.genPoly=h_.generateECPolynomial(this.degree)};Wd.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");const s=new Uint8Array(t.length+this.degree);s.set(t);const n=h_.mod(s,this.genPoly),i=this.degree-n.length;if(i>0){const o=new Uint8Array(this.degree);return o.set(n,i),o}return n};var $P=Wd,f_={},wn={},zd={};zd.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var ys={};const p_="[0-9]+",PP="[A-Z $%*+\\-./:]+";let zo="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";zo=zo.replace(/u/g,"\\u");const kP="(?:(?![A-Z0-9 $%*+\\-./:]|"+zo+`)(?:.|[\r
]))+`;ys.KANJI=new RegExp(zo,"g");ys.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");ys.BYTE=new RegExp(kP,"g");ys.NUMERIC=new RegExp(p_,"g");ys.ALPHANUMERIC=new RegExp(PP,"g");const TP=new RegExp("^"+zo+"$"),MP=new RegExp("^"+p_+"$"),OP=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");ys.testKanji=function(t){return TP.test(t)};ys.testNumeric=function(t){return MP.test(t)};ys.testAlphanumeric=function(t){return OP.test(t)};(function(e){const t=zd,s=ys;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(o,r){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!t.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?o.ccBits[0]:r<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return s.testNumeric(o)?e.NUMERIC:s.testAlphanumeric(o)?e.ALPHANUMERIC:s.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function n(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+i)}}e.from=function(o,r){if(e.isValid(o))return o;try{return n(o)}catch{return r}}})(wn);(function(e){const t=Be,s=rl,n=ol,i=wn,o=zd,r=7973,a=t.getBCHDigit(r);function l(f,g,m){for(let b=1;b<=40;b++)if(g<=e.getCapacity(b,m,f))return b}function c(f,g){return i.getCharCountIndicator(f,g)+4}function d(f,g){let m=0;return f.forEach(function(b){const v=c(b.mode,g);m+=v+b.getBitsLength()}),m}function u(f,g){for(let m=1;m<=40;m++)if(d(f,m)<=e.getCapacity(m,g,i.MIXED))return m}e.from=function(g,m){return o.isValid(g)?parseInt(g,10):m},e.getCapacity=function(g,m,b){if(!o.isValid(g))throw new Error("Invalid QR Code version");typeof b>"u"&&(b=i.BYTE);const v=t.getSymbolTotalCodewords(g),w=s.getTotalCodewordsCount(g,m),E=(v-w)*8;if(b===i.MIXED)return E;const $=E-c(b,g);switch(b){case i.NUMERIC:return Math.floor($/10*3);case i.ALPHANUMERIC:return Math.floor($/11*2);case i.KANJI:return Math.floor($/13);case i.BYTE:default:return Math.floor($/8)}},e.getBestVersionForData=function(g,m){let b;const v=n.from(m,n.M);if(Array.isArray(g)){if(g.length>1)return u(g,v);if(g.length===0)return 1;b=g[0]}else b=g;return l(b.mode,b.getLength(),v)},e.getEncodedBits=function(g){if(!o.isValid(g)||g<7)throw new Error("Invalid QR Code version");let m=g<<12;for(;t.getBCHDigit(m)-a>=0;)m^=r<<t.getBCHDigit(m)-a;return g<<12|m}})(f_);var g_={};const kc=Be,m_=1335,DP=21522,yf=kc.getBCHDigit(m_);g_.getEncodedBits=function(t,s){const n=t.bit<<3|s;let i=n<<10;for(;kc.getBCHDigit(i)-yf>=0;)i^=m_<<kc.getBCHDigit(i)-yf;return(n<<10|i)^DP};var __={};const IP=wn;function Vi(e){this.mode=IP.NUMERIC,this.data=e.toString()}Vi.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)};Vi.prototype.getLength=function(){return this.data.length};Vi.prototype.getBitsLength=function(){return Vi.getBitsLength(this.data.length)};Vi.prototype.write=function(t){let s,n,i;for(s=0;s+3<=this.data.length;s+=3)n=this.data.substr(s,3),i=parseInt(n,10),t.put(i,10);const o=this.data.length-s;o>0&&(n=this.data.substr(s),i=parseInt(n,10),t.put(i,o*3+1))};var LP=Vi;const RP=wn,Wl=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function Hi(e){this.mode=RP.ALPHANUMERIC,this.data=e}Hi.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};Hi.prototype.getLength=function(){return this.data.length};Hi.prototype.getBitsLength=function(){return Hi.getBitsLength(this.data.length)};Hi.prototype.write=function(t){let s;for(s=0;s+2<=this.data.length;s+=2){let n=Wl.indexOf(this.data[s])*45;n+=Wl.indexOf(this.data[s+1]),t.put(n,11)}this.data.length%2&&t.put(Wl.indexOf(this.data[s]),6)};var NP=Hi,FP=function(t){for(var s=[],n=t.length,i=0;i<n;i++){var o=t.charCodeAt(i);if(o>=55296&&o<=56319&&n>i+1){var r=t.charCodeAt(i+1);r>=56320&&r<=57343&&(o=(o-55296)*1024+r-56320+65536,i+=1)}if(o<128){s.push(o);continue}if(o<2048){s.push(o>>6|192),s.push(o&63|128);continue}if(o<55296||o>=57344&&o<65536){s.push(o>>12|224),s.push(o>>6&63|128),s.push(o&63|128);continue}if(o>=65536&&o<=1114111){s.push(o>>18|240),s.push(o>>12&63|128),s.push(o>>6&63|128),s.push(o&63|128);continue}s.push(239,191,189)}return new Uint8Array(s).buffer};const BP=FP,VP=wn;function ji(e){this.mode=VP.BYTE,typeof e=="string"&&(e=BP(e)),this.data=new Uint8Array(e)}ji.getBitsLength=function(t){return t*8};ji.prototype.getLength=function(){return this.data.length};ji.prototype.getBitsLength=function(){return ji.getBitsLength(this.data.length)};ji.prototype.write=function(e){for(let t=0,s=this.data.length;t<s;t++)e.put(this.data[t],8)};var HP=ji;const jP=wn,WP=Be;function Wi(e){this.mode=jP.KANJI,this.data=e}Wi.getBitsLength=function(t){return t*13};Wi.prototype.getLength=function(){return this.data.length};Wi.prototype.getBitsLength=function(){return Wi.getBitsLength(this.data.length)};Wi.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let s=WP.toSJIS(this.data[t]);if(s>=33088&&s<=40956)s-=33088;else if(s>=57408&&s<=60351)s-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
Make sure your charset is UTF-8`);s=(s>>>8&255)*192+(s&255),e.put(s,13)}};var zP=Wi,b_={exports:{}};(function(e){var t={single_source_shortest_paths:function(s,n,i){var o={},r={};r[n]=0;var a=t.PriorityQueue.make();a.push(n,0);for(var l,c,d,u,f,g,m,b,v;!a.empty();){l=a.pop(),c=l.value,u=l.cost,f=s[c]||{};for(d in f)f.hasOwnProperty(d)&&(g=f[d],m=u+g,b=r[d],v=typeof r[d]>"u",(v||b>m)&&(r[d]=m,a.push(d,m),o[d]=c))}if(typeof i<"u"&&typeof r[i]>"u"){var w=["Could not find a path from ",n," to ",i,"."].join("");throw new Error(w)}return o},extract_shortest_path_from_predecessor_list:function(s,n){for(var i=[],o=n;o;)i.push(o),s[o],o=s[o];return i.reverse(),i},find_path:function(s,n,i){var o=t.single_source_shortest_paths(s,n,i);return t.extract_shortest_path_from_predecessor_list(o,i)},PriorityQueue:{make:function(s){var n=t.PriorityQueue,i={},o;s=s||{};for(o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);return i.queue=[],i.sorter=s.sorter||n.default_sorter,i},default_sorter:function(s,n){return s.cost-n.cost},push:function(s,n){var i={value:s,cost:n};this.queue.push(i),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(b_);var UP=b_.exports;(function(e){const t=wn,s=LP,n=NP,i=HP,o=zP,r=ys,a=Be,l=UP;function c(w){return unescape(encodeURIComponent(w)).length}function d(w,E,$){const T=[];let y;for(;(y=w.exec($))!==null;)T.push({data:y[0],index:y.index,mode:E,length:y[0].length});return T}function u(w){const E=d(r.NUMERIC,t.NUMERIC,w),$=d(r.ALPHANUMERIC,t.ALPHANUMERIC,w);let T,y;return a.isKanjiModeEnabled()?(T=d(r.BYTE,t.BYTE,w),y=d(r.KANJI,t.KANJI,w)):(T=d(r.BYTE_KANJI,t.BYTE,w),y=[]),E.concat($,T,y).sort(function(C,S){return C.index-S.index}).map(function(C){return{data:C.data,mode:C.mode,length:C.length}})}function f(w,E){switch(E){case t.NUMERIC:return s.getBitsLength(w);case t.ALPHANUMERIC:return n.getBitsLength(w);case t.KANJI:return o.getBitsLength(w);case t.BYTE:return i.getBitsLength(w)}}function g(w){return w.reduce(function(E,$){const T=E.length-1>=0?E[E.length-1]:null;return T&&T.mode===$.mode?(E[E.length-1].data+=$.data,E):(E.push($),E)},[])}function m(w){const E=[];for(let $=0;$<w.length;$++){const T=w[$];switch(T.mode){case t.NUMERIC:E.push([T,{data:T.data,mode:t.ALPHANUMERIC,length:T.length},{data:T.data,mode:t.BYTE,length:T.length}]);break;case t.ALPHANUMERIC:E.push([T,{data:T.data,mode:t.BYTE,length:T.length}]);break;case t.KANJI:E.push([T,{data:T.data,mode:t.BYTE,length:c(T.data)}]);break;case t.BYTE:E.push([{data:T.data,mode:t.BYTE,length:c(T.data)}])}}return E}function b(w,E){const $={},T={start:{}};let y=["start"];for(let x=0;x<w.length;x++){const C=w[x],S=[];for(let P=0;P<C.length;P++){const M=C[P],I=""+x+P;S.push(I),$[I]={node:M,lastCount:0},T[I]={};for(let N=0;N<y.length;N++){const Q=y[N];$[Q]&&$[Q].node.mode===M.mode?(T[Q][I]=f($[Q].lastCount+M.length,M.mode)-f($[Q].lastCount,M.mode),$[Q].lastCount+=M.length):($[Q]&&($[Q].lastCount=M.length),T[Q][I]=f(M.length,M.mode)+4+t.getCharCountIndicator(M.mode,E))}}y=S}for(let x=0;x<y.length;x++)T[y[x]].end=0;return{map:T,table:$}}function v(w,E){let $;const T=t.getBestModeForData(w);if($=t.from(E,T),$!==t.BYTE&&$.bit<T.bit)throw new Error('"'+w+'" cannot be encoded with mode '+t.toString($)+`.
Suggested mode is: `+t.toString(T));switch($===t.KANJI&&!a.isKanjiModeEnabled()&&($=t.BYTE),$){case t.NUMERIC:return new s(w);case t.ALPHANUMERIC:return new n(w);case t.KANJI:return new o(w);case t.BYTE:return new i(w)}}e.fromArray=function(E){return E.reduce(function($,T){return typeof T=="string"?$.push(v(T,null)):T.data&&$.push(v(T.data,T.mode)),$},[])},e.fromString=function(E,$){const T=u(E,a.isKanjiModeEnabled()),y=m(T),x=b(y,$),C=l.find_path(x.map,"start","end"),S=[];for(let P=1;P<C.length-1;P++)S.push(x.table[C[P]].node);return e.fromArray(g(S))},e.rawSplit=function(E){return e.fromArray(u(E,a.isKanjiModeEnabled()))}})(__);const ll=Be,zl=ol,KP=SP,YP=AP,qP=l_,GP=c_,Tc=d_,Mc=rl,XP=$P,$a=f_,JP=g_,QP=wn,Ul=__;function ZP(e,t){const s=e.size,n=GP.getPositions(t);for(let i=0;i<n.length;i++){const o=n[i][0],r=n[i][1];for(let a=-1;a<=7;a++)if(!(o+a<=-1||s<=o+a))for(let l=-1;l<=7;l++)r+l<=-1||s<=r+l||(a>=0&&a<=6&&(l===0||l===6)||l>=0&&l<=6&&(a===0||a===6)||a>=2&&a<=4&&l>=2&&l<=4?e.set(o+a,r+l,!0,!0):e.set(o+a,r+l,!1,!0))}}function tk(e){const t=e.size;for(let s=8;s<t-8;s++){const n=s%2===0;e.set(s,6,n,!0),e.set(6,s,n,!0)}}function ek(e,t){const s=qP.getPositions(t);for(let n=0;n<s.length;n++){const i=s[n][0],o=s[n][1];for(let r=-2;r<=2;r++)for(let a=-2;a<=2;a++)r===-2||r===2||a===-2||a===2||r===0&&a===0?e.set(i+r,o+a,!0,!0):e.set(i+r,o+a,!1,!0)}}function sk(e,t){const s=e.size,n=$a.getEncodedBits(t);let i,o,r;for(let a=0;a<18;a++)i=Math.floor(a/3),o=a%3+s-8-3,r=(n>>a&1)===1,e.set(i,o,r,!0),e.set(o,i,r,!0)}function Kl(e,t,s){const n=e.size,i=JP.getEncodedBits(t,s);let o,r;for(o=0;o<15;o++)r=(i>>o&1)===1,o<6?e.set(o,8,r,!0):o<8?e.set(o+1,8,r,!0):e.set(n-15+o,8,r,!0),o<8?e.set(8,n-o-1,r,!0):o<9?e.set(8,15-o-1+1,r,!0):e.set(8,15-o-1,r,!0);e.set(n-8,8,1,!0)}function nk(e,t){const s=e.size;let n=-1,i=s-1,o=7,r=0;for(let a=s-1;a>0;a-=2)for(a===6&&a--;;){for(let l=0;l<2;l++)if(!e.isReserved(i,a-l)){let c=!1;r<t.length&&(c=(t[r]>>>o&1)===1),e.set(i,a-l,c),o--,o===-1&&(r++,o=7)}if(i+=n,i<0||s<=i){i-=n,n=-n;break}}}function ik(e,t,s){const n=new KP;s.forEach(function(l){n.put(l.mode.bit,4),n.put(l.getLength(),QP.getCharCountIndicator(l.mode,e)),l.write(n)});const i=ll.getSymbolTotalCodewords(e),o=Mc.getTotalCodewordsCount(e,t),r=(i-o)*8;for(n.getLengthInBits()+4<=r&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);const a=(r-n.getLengthInBits())/8;for(let l=0;l<a;l++)n.put(l%2?17:236,8);return ok(n,e,t)}function ok(e,t,s){const n=ll.getSymbolTotalCodewords(t),i=Mc.getTotalCodewordsCount(t,s),o=n-i,r=Mc.getBlocksCount(t,s),a=n%r,l=r-a,c=Math.floor(n/r),d=Math.floor(o/r),u=d+1,f=c-d,g=new XP(f);let m=0;const b=new Array(r),v=new Array(r);let w=0;const E=new Uint8Array(e.buffer);for(let C=0;C<r;C++){const S=C<l?d:u;b[C]=E.slice(m,m+S),v[C]=g.encode(b[C]),m+=S,w=Math.max(w,S)}const $=new Uint8Array(n);let T=0,y,x;for(y=0;y<w;y++)for(x=0;x<r;x++)y<b[x].length&&($[T++]=b[x][y]);for(y=0;y<f;y++)for(x=0;x<r;x++)$[T++]=v[x][y];return $}function rk(e,t,s,n){let i;if(Array.isArray(e))i=Ul.fromArray(e);else if(typeof e=="string"){let c=t;if(!c){const d=Ul.rawSplit(e);c=$a.getBestVersionForData(d,s)}i=Ul.fromString(e,c||40)}else throw new Error("Invalid data");const o=$a.getBestVersionForData(i,s);if(!o)throw new Error("The amount of data is too big to be stored in a QR Code");if(!t)t=o;else if(t<o)throw new Error(`
The chosen QR Code version cannot contain this amount of data.
Minimum version required to store current data is: `+o+`.
`);const r=ik(t,s,i),a=ll.getSymbolSize(t),l=new YP(a);return ZP(l,t),tk(l),ek(l,t),Kl(l,s,0),t>=7&&sk(l,t),nk(l,r),isNaN(n)&&(n=Tc.getBestMask(l,Kl.bind(null,l,s))),Tc.applyMask(n,l),Kl(l,s,n),{modules:l,version:t,errorCorrectionLevel:s,maskPattern:n,segments:i}}r_.create=function(t,s){if(typeof t>"u"||t==="")throw new Error("No input text");let n=zl.M,i,o;return typeof s<"u"&&(n=zl.from(s.errorCorrectionLevel,zl.M),i=$a.from(s.version),o=Tc.from(s.maskPattern),s.toSJISFunc&&ll.setToSJISFunction(s.toSJISFunc)),rk(t,i,n,o)};var v_={},Ud={};(function(e){function t(s){if(typeof s=="number"&&(s=s.toString()),typeof s!="string")throw new Error("Color should be defined as hex string");let n=s.slice().replace("#","").split("");if(n.length<3||n.length===5||n.length>8)throw new Error("Invalid hex color: "+s);(n.length===3||n.length===4)&&(n=Array.prototype.concat.apply([],n.map(function(o){return[o,o]}))),n.length===6&&n.push("F","F");const i=parseInt(n.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:i&255,hex:"#"+n.slice(0,6).join("")}}e.getOptions=function(n){n||(n={}),n.color||(n.color={});const i=typeof n.margin>"u"||n.margin===null||n.margin<0?4:n.margin,o=n.width&&n.width>=21?n.width:void 0,r=n.scale||4;return{width:o,scale:o?4:r,margin:i,color:{dark:t(n.color.dark||"#000000ff"),light:t(n.color.light||"#ffffffff")},type:n.type,rendererOpts:n.rendererOpts||{}}},e.getScale=function(n,i){return i.width&&i.width>=n+i.margin*2?i.width/(n+i.margin*2):i.scale},e.getImageWidth=function(n,i){const o=e.getScale(n,i);return Math.floor((n+i.margin*2)*o)},e.qrToImageData=function(n,i,o){const r=i.modules.size,a=i.modules.data,l=e.getScale(r,o),c=Math.floor((r+o.margin*2)*l),d=o.margin*l,u=[o.color.light,o.color.dark];for(let f=0;f<c;f++)for(let g=0;g<c;g++){let m=(f*c+g)*4,b=o.color.light;if(f>=d&&g>=d&&f<c-d&&g<c-d){const v=Math.floor((f-d)/l),w=Math.floor((g-d)/l);b=u[a[v*r+w]?1:0]}n[m++]=b.r,n[m++]=b.g,n[m++]=b.b,n[m]=b.a}}})(Ud);(function(e){const t=Ud;function s(i,o,r){i.clearRect(0,0,o.width,o.height),o.style||(o.style={}),o.height=r,o.width=r,o.style.height=r+"px",o.style.width=r+"px"}function n(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(o,r,a){let l=a,c=r;typeof l>"u"&&(!r||!r.getContext)&&(l=r,r=void 0),r||(c=n()),l=t.getOptions(l);const d=t.getImageWidth(o.modules.size,l),u=c.getContext("2d"),f=u.createImageData(d,d);return t.qrToImageData(f.data,o,l),s(u,c,d),u.putImageData(f,0,0),c},e.renderToDataURL=function(o,r,a){let l=a;typeof l>"u"&&(!r||!r.getContext)&&(l=r,r=void 0),l||(l={});const c=e.render(o,r,l),d=l.type||"image/png",u=l.rendererOpts||{};return c.toDataURL(d,u.quality)}})(v_);var y_={};const ak=Ud;function xf(e,t){const s=e.a/255,n=t+'="'+e.hex+'"';return s<1?n+" "+t+'-opacity="'+s.toFixed(2).slice(1)+'"':n}function Yl(e,t,s){let n=e+t;return typeof s<"u"&&(n+=" "+s),n}function lk(e,t,s){let n="",i=0,o=!1,r=0;for(let a=0;a<e.length;a++){const l=Math.floor(a%t),c=Math.floor(a/t);!l&&!o&&(o=!0),e[a]?(r++,a>0&&l>0&&e[a-1]||(n+=o?Yl("M",l+s,.5+c+s):Yl("m",i,0),i=0,o=!1),l+1<t&&e[a+1]||(n+=Yl("h",r),r=0)):i++}return n}y_.render=function(t,s,n){const i=ak.getOptions(s),o=t.modules.size,r=t.modules.data,a=o+i.margin*2,l=i.color.light.a?"<path "+xf(i.color.light,"fill")+' d="M0 0h'+a+"v"+a+'H0z"/>':"",c="<path "+xf(i.color.dark,"stroke")+' d="'+lk(r,o,i.margin)+'"/>',d='viewBox="0 0 '+a+" "+a+'"',f='<svg xmlns="http://www.w3.org/2000/svg" '+(i.width?'width="'+i.width+'" height="'+i.width+'" ':"")+d+' shape-rendering="crispEdges">'+l+c+`</svg>
`;return typeof n=="function"&&n(null,f),f};const ck=wP,Oc=r_,x_=v_,dk=y_;function Kd(e,t,s,n,i){const o=[].slice.call(arguments,1),r=o.length,a=typeof o[r-1]=="function";if(!a&&!ck())throw new Error("Callback required as last argument");if(a){if(r<2)throw new Error("Too few arguments provided");r===2?(i=s,s=t,t=n=void 0):r===3&&(t.getContext&&typeof i>"u"?(i=n,n=void 0):(i=n,n=s,s=t,t=void 0))}else{if(r<1)throw new Error("Too few arguments provided");return r===1?(s=t,t=n=void 0):r===2&&!t.getContext&&(n=s,s=t,t=void 0),new Promise(function(l,c){try{const d=Oc.create(s,n);l(e(d,t,n))}catch(d){c(d)}})}try{const l=Oc.create(s,n);i(null,e(l,t,n))}catch(l){i(l)}}Qi.create=Oc.create;Qi.toCanvas=Kd.bind(null,x_.render);Qi.toDataURL=Kd.bind(null,x_.renderToDataURL);Qi.toString=Kd.bind(null,function(e,t,s){return dk.render(e,s)});const uk={name:"totp",async setup(){let e="";return await he("/api/Welcome_GetTotpLink",{},t=>{t.status&&(e=t.data)}),{l:e}},mounted(){this.l&&Qi.toCanvas(document.getElementById("qrcode"),this.l,function(e){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(e){const t=document.querySelector("#totp");t.classList.remove("is-invalid","is-valid"),e.length===6&&(console.log(e),/[0-9]{6}/.test(e)?ue("/api/Welcome_VerifyTotpLink",{totp:e},s=>{s.status?(this.verified=!0,t.classList.add("is-valid"),this.$emit("verified")):(t.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(t.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},hk={class:"mb-3"},fk=p("p",{class:"mb-2"},[p("small",{class:"text-muted"},"1. Please scan the following QR Code to generate TOTP")],-1),pk=p("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1),gk={class:"p-3 bg-body-secondary rounded-3 border mb-3"},mk=p("p",{class:"text-muted mb-0"},[p("small",null,"Or you can click the link below:")],-1),_k=["href"],bk={style:{"line-break":"anywhere"}},vk=p("label",{for:"totp",class:"mb-2"},[p("small",{class:"text-muted"},"2. Enter the TOTP generated by your authenticator to verify")],-1),yk={class:"form-group"},xk=["disabled"],wk={class:"invalid-feedback"},Ek=p("div",{class:"valid-feedback"}," TOTP verified! ",-1);function Sk(e,t,s,n,i,o){return H(),q("div",hk,[fk,pk,p("div",gk,[mk,p("a",{href:this.l},[p("code",bk,lt(this.l),1)],8,_k)]),vk,p("div",yk,[mt(p("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":t[0]||(t[0]=r=>this.totp=r),disabled:this.verified},null,8,xk),[[yt,this.totp]]),p("div",wk,lt(this.totpInvalidMessage),1),Ek])])}const Ak=kt(uk,[["render",Sk]]),Ck={name:"setup",components:{Totp:Ak},setup(){return{store:Jt()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!1,verified_totp:!1},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword&&(this.setup.enable_totp&&this.setup.verified_totp||!this.setup.enable_totp)}},methods:{submit(){this.loading=!0,ue("/api/Welcome_Finish",this.setup,e=>{e.status?(this.done=!0,setTimeout(()=>{this.$router.push("/")},500)):(document.querySelectorAll("#createAccount input").forEach(t=>t.classList.add("is-invalid")),this.errorMessage=e.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},$k=["data-bs-theme"],Pk={class:"mx-auto text-body",style:{width:"500px"}},kk=p("span",{class:"dashboardLogo display-4"},"Nice to meet you!",-1),Tk=p("p",{class:"mb-5"},"Please fill in the following fields to finish setup 😊",-1),Mk=p("h3",null,"Create an account",-1),Ok={key:0,class:"alert alert-danger"},Dk={class:"d-flex flex-column gap-3"},Ik={id:"createAccount",class:"d-flex flex-column gap-2"},Lk={class:"form-group text-body"},Rk=p("label",{for:"username",class:"mb-1 text-muted"},[p("small",null,"Pick an username you like")],-1),Nk={class:"form-group text-body"},Fk=p("label",{for:"password",class:"mb-1 text-muted"},[p("small",null,"Create a password (at least 8 characters)")],-1),Bk={class:"form-group text-body"},Vk=p("label",{for:"confirmPassword",class:"mb-1 text-muted"},[p("small",null,"Confirm password")],-1),Hk=p("hr",null,null,-1),jk={class:"form-check form-switch"},Wk=p("label",{class:"form-check-label",for:"enable_totp"},[ht("Enable 2 Factor Authentication? "),p("strong",null,"Strongly recommended")],-1),zk=["disabled"],Uk={key:0,class:"d-flex align-items-center w-100"},Kk=p("i",{class:"bi bi-chevron-right ms-auto"},null,-1),Yk={key:1,class:"d-flex align-items-center w-100"},qk={key:2,class:"d-flex align-items-center w-100"},Gk=p("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[p("span",{class:"visually-hidden"},"Loading...")],-1);function Xk(e,t,s,n,i,o){const r=Dt("Totp");return H(),q("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[p("div",Pk,[kk,Tk,p("div",null,[Mk,this.errorMessage?(H(),q("div",Ok,lt(this.errorMessage),1)):Vt("",!0),p("div",Dk,[p("div",Ik,[p("div",Lk,[Rk,mt(p("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",placeholder:"Maybe something like 'wiredragon'?",required:""},null,512),[[yt,this.setup.username]])]),p("div",Nk,[Fk,mt(p("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",placeholder:"Make sure is strong enough",required:""},null,512),[[yt,this.setup.newPassword]])]),p("div",Bk,[Vk,mt(p("input",{type:"password","onUpdate:modelValue":t[2]||(t[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",placeholder:"and you can remember it :)",required:""},null,512),[[yt,this.setup.repeatNewPassword]])])]),Hk,p("div",jk,[mt(p("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"enable_totp","onUpdate:modelValue":t[3]||(t[3]=a=>this.setup.enable_totp=a)},null,512),[[Xi,this.setup.enable_totp]]),Wk]),(H(),oe(qa,null,{default:Bt(()=>[dt(is,{name:"fade"},{default:Bt(()=>[this.setup.enable_totp?(H(),oe(r,{key:0,onVerified:t[4]||(t[4]=a=>this.setup.verified_totp=!0)})):Vt("",!0)]),_:1})]),_:1})),p("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:t[5]||(t[5]=a=>this.submit())},[!this.loading&&!this.done?(H(),q("span",Uk,[ht(" Finish"),Kk])):this.done?(H(),q("span",Yk," Welcome to WGDashboard!")):(H(),q("span",qk,[ht(" Saving..."),Gk]))],8,zk)])])])],8,$k)}const Jk=kt(Ck,[["render",Xk]]);function Yd(e){return e.includes(":")?6:e.includes(".")?4:0}function Qk(e){const t=Yd(e);if(!t)throw new Error(`Invalid IP address: ${e}`);let s=0n,n=0n;const i=Object.create(null);if(t===4)for(const o of e.split(".").map(BigInt).reverse())s+=o*2n**n,n+=8n;else{if(e.includes(".")&&(i.ipv4mapped=!0,e=e.split(":").map(a=>{if(a.includes(".")){const[l,c,d,u]=a.split(".").map(f=>Number(f).toString(16).padStart(2,"0"));return`${l}${c}:${d}${u}`}else return a}).join(":")),e.includes("%")){let a;[,e,a]=/(.+)%(.+)/.exec(e),i.scopeid=a}const o=e.split(":"),r=o.indexOf("");if(r!==-1)for(;o.length<8;)o.splice(r,0,"");for(const a of o.map(l=>BigInt(parseInt(l||0,16))).reverse())s+=a*2n**n,n+=16n}return i.number=s,i.version=t,i}const wf={4:32,6:128},Zk=e=>e.includes("/")?Yd(e):0;function tT(e){const t=Zk(e),s=Object.create(null);if(s.single=!1,t)s.cidr=e,s.version=t;else{const u=Yd(e);if(u)s.cidr=`${e}/${wf[u]}`,s.version=u,s.single=!0;else throw new Error(`Network is not a CIDR or IP: ${e}`)}const[n,i]=s.cidr.split("/");s.prefix=i;const{number:o,version:r}=Qk(n),a=wf[r],l=o.toString(2).padStart(a,"0"),c=Number(a-i),d=l.substring(0,a-c);return s.start=BigInt(`0b${d}${"0".repeat(c)}`),s.end=BigInt(`0b${d}${"1".repeat(c)}`),s}/*! SPDX-License-Identifier: GPL-2.0
*
* Copyright (C) 2015-2020 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
*/(function(){function e(y){var x=new Float64Array(16);if(y)for(var C=0;C<y.length;++C)x[C]=y[C];return x}function t(y,x){for(var C,S=e(),P=e(),M=0;M<16;++M)P[M]=x[M];s(P),s(P),s(P);for(var I=0;I<2;++I){S[0]=P[0]-65517;for(var M=1;M<15;++M)S[M]=P[M]-65535-(S[M-1]>>16&1),S[M-1]&=65535;S[15]=P[15]-32767-(S[14]>>16&1),C=S[15]>>16&1,S[14]&=65535,n(P,S,1-C)}for(var M=0;M<16;++M)y[2*M]=P[M]&255,y[2*M+1]=P[M]>>8}function s(y){for(var x=0;x<16;++x)y[(x+1)%16]+=(x<15?1:38)*Math.floor(y[x]/65536),y[x]&=65535}function n(y,x,C){for(var S,P=~(C-1),M=0;M<16;++M)S=P&(y[M]^x[M]),y[M]^=S,x[M]^=S}function i(y,x,C){for(var S=0;S<16;++S)y[S]=x[S]+C[S]|0}function o(y,x,C){for(var S=0;S<16;++S)y[S]=x[S]-C[S]|0}function r(y,x,C){for(var S=new Float64Array(31),P=0;P<16;++P)for(var M=0;M<16;++M)S[P+M]+=x[P]*C[M];for(var P=0;P<15;++P)S[P]+=38*S[P+16];for(var P=0;P<16;++P)y[P]=S[P];s(y),s(y)}function a(y,x){for(var C=e(),S=0;S<16;++S)C[S]=x[S];for(var S=253;S>=0;--S)r(C,C,C),S!==2&&S!==4&&r(C,C,x);for(var S=0;S<16;++S)y[S]=C[S]}function l(y){y[31]=y[31]&127|64,y[0]&=248}function c(y){for(var x,C=new Uint8Array(32),S=e([1]),P=e([9]),M=e(),I=e([1]),N=e(),Q=e(),G=e([56129,1]),V=e([9]),L=0;L<32;++L)C[L]=y[L];l(C);for(var L=254;L>=0;--L)x=C[L>>>3]>>>(L&7)&1,n(S,P,x),n(M,I,x),i(N,S,M),o(S,S,M),i(M,P,I),o(P,P,I),r(I,N,N),r(Q,S,S),r(S,M,S),r(M,P,N),i(N,S,M),o(S,S,M),r(P,S,S),o(M,I,Q),r(S,M,G),i(S,S,I),r(M,M,S),r(S,I,Q),r(I,P,V),r(P,N,N),n(S,P,x),n(M,I,x);return a(M,M),r(S,S,M),t(C,S),C}function d(){var y=new Uint8Array(32);return window.crypto.getRandomValues(y),y}function u(){var y=d();return l(y),y}function f(y,x){for(var C=Uint8Array.from([x[0]>>2&63,(x[0]<<4|x[1]>>4)&63,(x[1]<<2|x[2]>>6)&63,x[2]&63]),S=0;S<4;++S)y[S]=C[S]+65+(25-C[S]>>8&6)-(51-C[S]>>8&75)-(61-C[S]>>8&15)+(62-C[S]>>8&3)}function g(y){var x,C=new Uint8Array(44);for(x=0;x<32/3;++x)f(C.subarray(x*4),y.subarray(x*3));return f(C.subarray(x*4),Uint8Array.from([y[x*3+0],y[x*3+1],0])),C[43]=61,String.fromCharCode.apply(null,C)}function m(y){let x=window.atob(y),C=x.length,S=new Uint8Array(C);for(let M=0;M<C;M++)S[M]=x.charCodeAt(M);return new Uint8Array(S.buffer)}function b(y,x){y.push(x&255,x>>>8&255,x>>>16&255,x>>>24&255)}function v(y,x){y.push(x&255,x>>>8&255)}function w(y,x){for(var C=0;C<x.length;++C)y.push(x[C]&255)}function E(y){for(var x=unescape(encodeURIComponent(y)),C=new Uint8Array(x.length),S=0;S<x.length;++S)C[S]=x.charCodeAt(S);return C}function $(y){if(!$.table){$.table=[];for(var x=0,C=0;C<256;x=++C){for(var S=0;S<8;++S)x=x&1?3988292384^x>>>1:x>>>1;$.table[C]=x}}for(var P=-1,M=0;M<y.length;++M)P=P>>>8^$.table[(P^y[M])&255];return(P^-1)>>>0}function T(y){for(var x=[],C=[],S=0,P=0;P<y.length;++P){var M=E(y[P].fileName),I=E(y[P].file),N=$(I);b(x,67324752),v(x,20),v(x,0),v(x,0),v(x,0),v(x,0),b(x,N),b(x,I.length),b(x,I.length),v(x,M.length),v(x,0),w(x,M),w(x,I),b(C,33639248),v(C,0),v(C,20),v(C,0),v(C,0),v(C,0),v(C,0),b(C,N),b(C,I.length),b(C,I.length),v(C,M.length),v(C,0),v(C,0),v(C,0),v(C,0),b(C,32),b(C,S),w(C,M),S+=30+I.length+M.length}return w(x,C),b(x,101010256),v(x,0),v(x,0),v(x,y.length),v(x,y.length),b(x,C.length),b(x,S),v(x,0),Uint8Array.from(x)}window.wireguard={generateKeypair:function(){var y=u(),x=c(y),C=d();return{publicKey:g(x),privateKey:g(y),presharedKey:g(C)}},generatePublicKey:function(y){return y=m(y),g(c(y))},generateZipFiles:function(y,x){var C=y.data,S=T(C),P=new Blob([S],{type:"application/zip"}),M=document.createElement("a");M.download=x,M.href=URL.createObjectURL(P),M.style.display="none",document.body.appendChild(M),M.click(),document.body.removeChild(M)}}})();const eT={name:"newConfiguration",setup(){return{store:as()}},data(){return{newConfiguration:{ConfigurationName:"",Address:"",ListenPort:"",PrivateKey:"",PublicKey:"",PresharedKey:"",PreUp:"",PreDown:"",PostUp:"",PostDown:""},numberOfAvailableIPs:"0",error:!1,errorMessage:"",success:!1,loading:!1}},created(){this.wireguardGenerateKeypair()},methods:{wireguardGenerateKeypair(){const e=window.wireguard.generateKeypair();this.newConfiguration.PrivateKey=e.privateKey,this.newConfiguration.PublicKey=e.publicKey,this.newConfiguration.PresharedKey=e.presharedKey},async saveNewConfiguration(){this.goodToSubmit&&(this.loading=!0,await ue("/api/addWireguardConfiguration",this.newConfiguration,async e=>{e.status?(this.success=!0,await this.store.getConfigurations(),setTimeout(()=>{this.$router.push("/")},1e3)):(this.error=!0,this.errorMessage=e.message,document.querySelector(`#${e.data}`).classList.remove("is-valid"),document.querySelector(`#${e.data}`).classList.add("is-invalid"))}))}},computed:{goodToSubmit(){let e=["ConfigurationName","Address","ListenPort","PrivateKey"],t=[...document.querySelectorAll("input[required]")];return e.find(s=>this.newConfiguration[s].length===0)===void 0&&t.find(s=>s.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(e){let t=document.querySelector("#Address");t.classList.remove("is-invalid","is-valid");try{if(e.trim().split("/").filter(i=>i.length>0).length!==2)throw Error();let s=tT(e),n=s.end-s.start;this.numberOfAvailableIPs=n.toLocaleString(),t.classList.add("is-valid")}catch{this.numberOfAvailableIPs="0",t.classList.add("is-invalid")}},"newConfiguration.ListenPort"(e){let t=document.querySelector("#ListenPort");t.classList.remove("is-invalid","is-valid"),e<0||e>65353||!Number.isInteger(e)?t.classList.add("is-invalid"):t.classList.add("is-valid")},"newConfiguration.ConfigurationName"(e){let t=document.querySelector("#ConfigurationName");t.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(e)||e.length===0||this.store.Configurations.find(s=>s.Name===e)?t.classList.add("is-invalid"):t.classList.add("is-valid")},"newConfiguration.PrivateKey"(e){let t=document.querySelector("#PrivateKey");t.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(e),t.classList.add("is-valid")}catch{t.classList.add("is-invalid")}}}},sT={class:"mt-4"},nT={class:"container mb-4"},iT={class:"mb-4 d-flex align-items-center gap-4"},oT=p("h3",{class:"mb-0 text-body"},[p("i",{class:"bi bi-chevron-left"})],-1),rT=p("h3",{class:"text-body mb-0"},"New Configuration",-1),aT={class:"card rounded-3 shadow"},lT=p("div",{class:"card-header"},"Configuration Name",-1),cT={class:"card-body"},dT=["disabled"],uT={class:"invalid-feedback"},hT={key:0},fT={key:1},pT=p("ul",{class:"mb-0"},[p("li",null,"Configuration name already exist."),p("li",null,'Configuration name can only contain 15 lower/uppercase alphabet, numbers, "_"(underscore), "="(equal), "+"(plus), "."(period/dot), "-"(dash/hyphen)')],-1),gT={class:"card rounded-3 shadow"},mT=p("div",{class:"card-header"},"Private Key / Public Key / Pre-Shared Key",-1),_T={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},bT={class:"mb-2"},vT=p("label",{class:"text-muted fw-bold mb-1"},[p("small",null,"PRIVATE KEY")],-1),yT={class:"input-group"},xT=["disabled"],wT=p("i",{class:"bi bi-arrow-repeat"},null,-1),ET=[wT],ST=p("label",{class:"text-muted fw-bold mb-1"},[p("small",null,"PUBLIC KEY")],-1),AT={class:"card rounded-3 shadow"},CT=p("div",{class:"card-header"},"Listen Port",-1),$T={class:"card-body"},PT=["disabled"],kT={class:"invalid-feedback"},TT={key:0},MT={key:1},OT={class:"card rounded-3 shadow"},DT={class:"card-header d-flex align-items-center"},IT={class:"badge rounded-pill text-bg-success ms-auto"},LT={class:"card-body"},RT=["disabled"],NT={class:"invalid-feedback"},FT={key:0},BT={key:1},VT=p("hr",null,null,-1),HT={class:"accordion",id:"newConfigurationOptionalAccordion"},jT={class:"accordion-item"},WT=p("h2",{class:"accordion-header"},[p("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"}," Optional Settings ")],-1),zT={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},UT={class:"accordion-body d-flex flex-column gap-3"},KT={class:"card rounded-3"},YT=p("div",{class:"card-header"},"PreUp",-1),qT={class:"card-body"},GT={class:"card rounded-3"},XT=p("div",{class:"card-header"},"PreDown",-1),JT={class:"card-body"},QT={class:"card rounded-3"},ZT=p("div",{class:"card-header"},"PostUp",-1),tM={class:"card-body"},eM={class:"card rounded-3"},sM=p("div",{class:"card-header"},"PostDown",-1),nM={class:"card-body"},iM=["disabled"],oM={key:0,class:"d-flex w-100"},rM=p("i",{class:"bi bi-check-circle-fill ms-2"},null,-1),aM={key:1,class:"d-flex w-100"},lM=p("i",{class:"bi bi-save-fill ms-2"},null,-1),cM={key:2,class:"d-flex w-100 align-items-center"},dM=p("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1);function uM(e,t,s,n,i,o){const r=Dt("RouterLink");return H(),q("div",sT,[p("div",nT,[p("div",iT,[dt(r,{to:"/"},{default:Bt(()=>[oT]),_:1}),rT]),p("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[10]||(t[10]=a=>{a.preventDefault(),this.saveNewConfiguration()})},[p("div",aT,[lT,p("div",cT,[mt(p("input",{type:"text",class:"form-control",placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":t[0]||(t[0]=a=>this.newConfiguration.ConfigurationName=a),disabled:this.loading,required:""},null,8,dT),[[yt,this.newConfiguration.ConfigurationName]]),p("div",uT,[this.error?(H(),q("div",hT,lt(this.errorMessage),1)):(H(),q("div",fT,[ht(" Configuration name is invalid. Possible reasons: "),pT]))])])]),p("div",gT,[mT,p("div",_T,[p("div",bT,[vT,p("div",yT,[mt(p("input",{type:"text",class:"form-control",id:"PrivateKey",required:"",disabled:this.loading,"onUpdate:modelValue":t[1]||(t[1]=a=>this.newConfiguration.PrivateKey=a)},null,8,xT),[[yt,this.newConfiguration.PrivateKey]]),p("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[2]||(t[2]=a=>o.wireguardGenerateKeypair())},ET)])]),p("div",null,[ST,mt(p("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[3]||(t[3]=a=>this.newConfiguration.PublicKey=a),disabled:""},null,512),[[yt,this.newConfiguration.PublicKey]])])])]),p("div",AT,[CT,p("div",$T,[mt(p("input",{type:"number",class:"form-control",placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":t[4]||(t[4]=a=>this.newConfiguration.ListenPort=a),disabled:this.loading,required:""},null,8,PT),[[yt,this.newConfiguration.ListenPort]]),p("div",kT,[this.error?(H(),q("div",TT,lt(this.errorMessage),1)):(H(),q("div",MT," Invalid port "))])])]),p("div",OT,[p("div",DT,[ht(" IP Address & Range "),p("span",IT,lt(i.numberOfAvailableIPs)+" Available IPs",1)]),p("div",LT,[mt(p("input",{type:"text",class:"form-control",placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":t[5]||(t[5]=a=>this.newConfiguration.Address=a),disabled:this.loading,required:""},null,8,RT),[[yt,this.newConfiguration.Address]]),p("div",NT,[this.error?(H(),q("div",FT,lt(this.errorMessage),1)):(H(),q("div",BT," IP address & range is invalid. "))])])]),VT,p("div",HT,[p("div",jT,[WT,p("div",zT,[p("div",UT,[p("div",KT,[YT,p("div",qT,[mt(p("input",{type:"text",class:"form-control",id:"preUp","onUpdate:modelValue":t[6]||(t[6]=a=>this.newConfiguration.PreUp=a)},null,512),[[yt,this.newConfiguration.PreUp]])])]),p("div",GT,[XT,p("div",JT,[mt(p("input",{type:"text",class:"form-control",id:"preDown","onUpdate:modelValue":t[7]||(t[7]=a=>this.newConfiguration.PreDown=a)},null,512),[[yt,this.newConfiguration.PreDown]])])]),p("div",QT,[ZT,p("div",tM,[mt(p("input",{type:"text",class:"form-control",id:"postUp","onUpdate:modelValue":t[8]||(t[8]=a=>this.newConfiguration.PostUp=a)},null,512),[[yt,this.newConfiguration.PostUp]])])]),p("div",eM,[sM,p("div",nM,[mt(p("input",{type:"text",class:"form-control",id:"postDown","onUpdate:modelValue":t[9]||(t[9]=a=>this.newConfiguration.PostDown=a)},null,512),[[yt,this.newConfiguration.PostDown]])])])])])])]),p("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit},[this.success?(H(),q("span",oM,[ht(" Success! "),rM])):this.loading?(H(),q("span",cM,[ht(" Saving... "),dM])):(H(),q("span",aM,[ht(" Save Configuration "),lM]))],8,iM)],32)])])}const hM=kt(eT,[["render",uM]]),fM={name:"configuration"},pM={class:"mt-5 text-body"};function gM(e,t,s,n,i,o){const r=Dt("RouterView");return H(),q("div",pM,[dt(r,null,{default:Bt(({Component:a,route:l})=>[dt(is,{name:"fade2",mode:"out-in"},{default:Bt(()=>[(H(),oe(qa,null,{default:Bt(()=>[(H(),oe(Td(a),{key:l.path}))]),_:2},1024))]),_:2},1024)]),_:1})])}const mM=kt(fM,[["render",gM]]),_M={name:"peerSettings",props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:Jt()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,ue(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,e=>{this.saving=!1,e.status?this.dashboardConfigurationStore.newMessage("Server","Peer Updated!","success"):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(e=>{e.addEventListener("keyup",()=>{this.dataChanged=!0})})}},Ce=e=>(Bs("data-v-658dbebe"),e=e(),Vs(),e),bM={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},vM={class:"container d-flex h-100 w-100"},yM={class:"card m-auto rounded-3 shadow",style:{width:"700px"}},xM={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},wM=Ce(()=>p("h4",{class:"mb-0"},"Peer Settings",-1)),EM={key:0,class:"card-body px-4 pb-4"},SM={class:"d-flex flex-column gap-2 mb-4"},AM=Ce(()=>p("small",{class:"text-muted"},"Public Key",-1)),CM=Ce(()=>p("br",null,null,-1)),$M=Ce(()=>p("label",{for:"peer_name_textbox",class:"form-label"},[p("small",{class:"text-muted"},"Name")],-1)),PM=["disabled"],kM={class:"d-flex position-relative"},TM=Ce(()=>p("label",{for:"peer_private_key_textbox",class:"form-label"},[p("small",{class:"text-muted"},[ht("Private Key "),p("code",null,"(Required for QR Code and Download)")])],-1)),MM=["type","disabled"],OM=Ce(()=>p("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[p("small",{class:"text-muted"},[ht("Allowed IPs "),p("code",null,"(Required)")])],-1)),DM=["disabled"],IM=Ce(()=>p("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[p("small",{class:"text-muted"},[ht("Endpoint Allowed IPs "),p("code",null,"(Required)")])],-1)),LM=["disabled"],RM=Ce(()=>p("label",{for:"peer_DNS_textbox",class:"form-label"},[p("small",{class:"text-muted"},"DNS")],-1)),NM=["disabled"],FM=Ce(()=>p("hr",null,null,-1)),BM={class:"accordion mt-2",id:"peerSettingsAccordion"},VM={class:"accordion-item"},HM=Ce(()=>p("h2",{class:"accordion-header"},[p("button",{class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"}," Optional Settings ")],-1)),jM={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},WM={class:"accordion-body d-flex flex-column gap-2 mb-2"},zM=Ce(()=>p("label",{for:"peer_preshared_key_textbox",class:"form-label"},[p("small",{class:"text-muted"},"Pre-Shared Key")],-1)),UM=["disabled"],KM=Ce(()=>p("label",{for:"peer_mtu",class:"form-label"},[p("small",{class:"text-muted"},"MTU")],-1)),YM=["disabled"],qM=Ce(()=>p("label",{for:"peer_keep_alive",class:"form-label"},[p("small",{class:"text-muted"},"Persistent Keepalive")],-1)),GM=["disabled"],XM={class:"d-flex align-items-center gap-2"},JM=["disabled"],QM=Ce(()=>p("i",{class:"bi bi-arrow-clockwise ms-2"},null,-1)),ZM=["disabled"],tO=Ce(()=>p("i",{class:"bi bi-save-fill ms-2"},null,-1));function eO(e,t,s,n,i,o){return H(),q("div",bM,[p("div",vM,[p("div",yM,[p("div",xM,[wM,p("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),this.data?(H(),q("div",EM,[p("div",SM,[p("div",null,[AM,CM,p("small",null,[p("samp",null,lt(this.data.id),1)])]),p("div",null,[$M,mt(p("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=r=>this.data.name=r),id:"peer_name_textbox",placeholder:""},null,8,PM),[[yt,this.data.name]])]),p("div",null,[p("div",kM,[TM,p("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=r=>this.showKey=!this.showKey)},[p("i",{class:Rt(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),mt(p("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=r=>this.data.private_key=r),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,MM),[[kE,this.data.private_key]])]),p("div",null,[OM,mt(p("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=r=>this.data.allowed_ip=r),id:"peer_allowed_ip_textbox"},null,8,DM),[[yt,this.data.allowed_ip]])]),p("div",null,[IM,mt(p("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=r=>this.data.endpoint_allowed_ip=r),id:"peer_endpoint_allowed_ips"},null,8,LM),[[yt,this.data.endpoint_allowed_ip]])]),p("div",null,[RM,mt(p("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=r=>this.data.DNS=r),id:"peer_DNS_textbox"},null,8,NM),[[yt,this.data.DNS]])]),FM,p("div",BM,[p("div",VM,[HM,p("div",jM,[p("div",WM,[p("div",null,[zM,mt(p("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=r=>this.data.preshared_key=r),id:"peer_preshared_key_textbox"},null,8,UM),[[yt,this.data.preshared_key]])]),p("div",null,[KM,mt(p("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=r=>this.data.mtu=r),id:"peer_mtu"},null,8,YM),[[yt,this.data.mtu]])]),p("div",null,[qM,mt(p("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=r=>this.data.keepalive=r),id:"peer_keep_alive"},null,8,GM),[[yt,this.data.keepalive]])])])])])])]),p("div",XM,[p("button",{class:"btn btn-secondary rounded-3 shadow",onClick:t[10]||(t[10]=r=>this.reset()),disabled:!this.dataChanged||this.saving},[ht(" Reset "),QM],8,JM),p("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[11]||(t[11]=r=>this.savePeer())},[ht(" Save Peer"),tO],8,ZM)])])):Vt("",!0)])])])}const sO=kt(_M,[["render",eO],["__scopeId","data-v-658dbebe"]]),nO={name:"peerSearch",setup(){const e=Jt(),t=as();return{store:e,wireguardConfigurationStore:t}},props:{searchString:String,configuration:Object},data(){return{sort:{status:"Status",name:"Name",allowed_ip:"Allowed IP",restricted:"Restricted"},interval:{5e3:"5 Seconds",1e4:"10 Seconds",3e4:"30 Seconds",6e4:"1 Minutes"}}},methods:{updateSort(e){ue("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:e},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(e){ue("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:e},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){he(`/api/downloadAllPeers/${this.configuration.Name}`,{},e=>{console.log(e),window.wireguard.generateZipFiles(e,this.configuration.Name)})}},mounted(){}},iO={class:"d-flex gap-2 mb-3 z-3"},oO=p("i",{class:"bi bi-plus-lg me-2"},null,-1),rO=p("i",{class:"bi bi-download me-2"},null,-1),aO={class:"dropdown ms-auto"},lO=p("button",{class:"btn btn-secondary btn-sm dropdown-toggle rounded-3",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[p("i",{class:"bi bi-filter-circle me-2"}),ht(" Sort ")],-1),cO={class:"dropdown-menu mt-2 shadow rounded-3"},dO=["onClick"],uO={class:"me-auto"},hO={key:0,class:"bi bi-check text-primary"},fO={class:"dropdown"},pO=p("button",{class:"btn btn-secondary btn-sm dropdown-toggle rounded-3",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[p("i",{class:"bi bi-arrow-repeat me-2"}),ht("Refresh Interval ")],-1),gO={class:"dropdown-menu shadow mt-2 rounded-3"},mO=["onClick"],_O={class:"me-auto"},bO={key:0,class:"bi bi-check text-primary"},vO={class:"d-flex align-items-center"};function yO(e,t,s,n,i,o){const r=Dt("RouterLink");return H(),q("div",null,[p("div",iO,[dt(r,{to:"create",class:"text-decoration-none btn btn-primary rounded-3 btn-sm"},{default:Bt(()=>[oO,ht("Peers ")]),_:1}),p("button",{class:"btn btn-sm btn-primary rounded-3",onClick:t[0]||(t[0]=a=>this.downloadAllPeer())},[rO,ht(" Download All ")]),p("div",aO,[lO,p("ul",cO,[(H(!0),q(Ht,null,_e(this.sort,(a,l)=>(H(),q("li",null,[p("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>this.updateSort(l)},[p("span",uO,lt(a),1),n.store.Configuration.Server.dashboard_sort===l?(H(),q("i",hO)):Vt("",!0)],8,dO)]))),256))])]),p("div",fO,[pO,p("ul",gO,[(H(!0),q(Ht,null,_e(this.interval,(a,l)=>(H(),q("li",null,[p("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>o.updateRefreshInterval(l)},[p("span",_O,lt(a),1),n.store.Configuration.Server.dashboard_refresh_interval===l?(H(),q("i",bO)):Vt("",!0)],8,mO)]))),256))])]),p("div",vO,[mt(p("input",{class:"form-control form-control-sm rounded-3",placeholder:"Search...",id:"searchPeers","onUpdate:modelValue":t[1]||(t[1]=a=>this.wireguardConfigurationStore.searchString=a)},null,512),[[yt,this.wireguardConfigurationStore.searchString]])])])])}const xO=kt(nO,[["render",yO]]);function wO(e){return _d()?(Og(e),!0):!1}function w_(e){return typeof e=="function"?e():un(e)}const E_=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const EO=Object.prototype.toString,SO=e=>EO.call(e)==="[object Object]",aa=()=>{},AO=CO();function CO(){var e,t;return E_&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function go(e){var t;const s=w_(e);return(t=s==null?void 0:s.$el)!=null?t:s}const S_=E_?window:void 0;function ql(...e){let t,s,n,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([s,n,i]=e,t=S_):[t,s,n,i]=e,!t)return aa;Array.isArray(s)||(s=[s]),Array.isArray(n)||(n=[n]);const o=[],r=()=>{o.forEach(d=>d()),o.length=0},a=(d,u,f,g)=>(d.addEventListener(u,f,g),()=>d.removeEventListener(u,f,g)),l=qn(()=>[go(t),w_(i)],([d,u])=>{if(r(),!d)return;const f=SO(u)?{...u}:u;o.push(...s.flatMap(g=>n.map(m=>a(d,g,m,f))))},{immediate:!0,flush:"post"}),c=()=>{l(),r()};return wO(c),c}let Ef=!1;function $O(e,t,s={}){const{window:n=S_,ignore:i=[],capture:o=!0,detectIframe:r=!1}=s;if(!n)return aa;AO&&!Ef&&(Ef=!0,Array.from(n.document.body.children).forEach(f=>f.addEventListener("click",aa)),n.document.documentElement.addEventListener("click",aa));let a=!0;const l=f=>i.some(g=>{if(typeof g=="string")return Array.from(n.document.querySelectorAll(g)).some(m=>m===f.target||f.composedPath().includes(m));{const m=go(g);return m&&(f.target===m||f.composedPath().includes(m))}}),d=[ql(n,"click",f=>{const g=go(e);if(!(!g||g===f.target||f.composedPath().includes(g))){if(f.detail===0&&(a=!l(f)),!a){a=!0;return}t(f)}},{passive:!0,capture:o}),ql(n,"pointerdown",f=>{const g=go(e);a=!l(f)&&!!(g&&!f.composedPath().includes(g))},{passive:!0}),r&&ql(n,"blur",f=>{setTimeout(()=>{var g;const m=go(e);((g=n.document.activeElement)==null?void 0:g.tagName)==="IFRAME"&&!(m!=null&&m.contains(n.document.activeElement))&&t(f)},0)})].filter(Boolean);return()=>d.forEach(f=>f())}const PO={name:"peerSettingsDropdown",setup(){return{dashboardStore:Jt()}},props:{Peer:Object},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1}},methods:{downloadPeer(){he("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{if(e.status){const t=new Blob([e.data.file],{type:"text/plain"}),s=URL.createObjectURL(t),n=`${e.data.fileName}.conf`,i=document.createElement("a");i.href=s,i.download=n,i.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",e.message,"danger")})},downloadQRCode(){he("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{e.status?this.$emit("qrcode",e.data.file):this.dashboardStore.newMessage("Server",e.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,ue(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,ue(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,ue(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},xs=e=>(Bs("data-v-efcc2294"),e=e(),Vs(),e),kO={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},TO=xs(()=>p("li",null,[p("small",{class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},[ht("Download & QR Code is not available due to no "),p("code",null,"private key"),ht(" set for this peer ")])],-1)),MO=xs(()=>p("li",null,[p("hr",{class:"dropdown-divider"})],-1)),OO=xs(()=>p("i",{class:"me-auto bi bi-pen"},null,-1)),DO=xs(()=>p("i",{class:"me-auto bi bi-app-indicator"},null,-1)),IO=xs(()=>p("i",{class:"me-auto bi bi-download"},null,-1)),LO=xs(()=>p("i",{class:"me-auto bi bi-qr-code"},null,-1)),RO=xs(()=>p("li",null,[p("hr",{class:"dropdown-divider"})],-1)),NO=xs(()=>p("i",{class:"me-auto bi bi-lock"},null,-1)),FO=xs(()=>p("i",{class:"me-auto bi bi-trash"},null,-1)),BO={key:1},VO=xs(()=>p("i",{class:"me-auto bi bi-unlock"},null,-1));function HO(e,t,s,n,i,o){return H(),q("ul",kO,[this.Peer.restricted?(H(),q("li",BO,[p("a",{class:Rt(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[6]||(t[6]=r=>this.allowAccessPeer()),role:"button"},[VO,ht(" "+lt(this.allowAccessBtnDisabled?"Allowing...":"Allow Access"),1)],2)])):(H(),q(Ht,{key:0},[this.Peer.private_key?Vt("",!0):(H(),q(Ht,{key:0},[TO,MO],64)),p("li",null,[p("a",{class:"dropdown-item d-flex",role:"button",onClick:t[0]||(t[0]=r=>this.$emit("setting"))},[OO,ht(" Edit ")])]),p("li",null,[p("a",{class:"dropdown-item d-flex",role:"button",onClick:t[1]||(t[1]=r=>this.$emit("jobs"))},[DO,ht(" Schedule Jobs ")])]),this.Peer.private_key?(H(),q(Ht,{key:1},[p("li",null,[p("a",{class:"dropdown-item d-flex",role:"button",onClick:t[2]||(t[2]=r=>this.downloadPeer())},[IO,ht(" Download ")])]),p("li",null,[p("a",{class:"dropdown-item d-flex",role:"button",onClick:t[3]||(t[3]=r=>this.downloadQRCode())},[LO,ht(" QR Code ")])])],64)):Vt("",!0),RO,p("li",null,[p("a",{class:Rt(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[4]||(t[4]=r=>this.restrictPeer()),role:"button"},[NO,ht(" "+lt(this.restrictBtnDisabled?"Restricting...":"Restrict Access"),1)],2)]),p("li",null,[p("a",{class:Rt(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[5]||(t[5]=r=>this.deletePeer()),role:"button"},[FO,ht(" "+lt(this.deleteBtnDisabled?"Deleting...":"Delete"),1)],2)])],64))])}const jO=kt(PO,[["render",HO],["__scopeId","data-v-efcc2294"]]),WO={name:"peer",components:{PeerSettingsDropdown:jO},props:{Peer:Object},data(){return{}},setup(){const e=Oi(null),t=Oi(!1);return $O(e,s=>{t.value=!1}),{target:e,subMenuOpened:t}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake}}},si=e=>(Bs("data-v-7be8a1d5"),e=e(),Vs(),e),zO={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},UO={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},KO={class:"text-primary"},YO=si(()=>p("i",{class:"bi bi-arrow-down"},null,-1)),qO={class:"text-success"},GO=si(()=>p("i",{class:"bi bi-arrow-up"},null,-1)),XO={key:0,class:"text-secondary"},JO=si(()=>p("i",{class:"bi bi-arrows-angle-contract"},null,-1)),QO={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},ZO=si(()=>p("i",{class:"bi-lock-fill me-2"},null,-1)),tD={class:"card-body pt-1",style:{"font-size":"0.9rem"}},eD={class:"mb-2"},sD=si(()=>p("small",{class:"text-muted"},"Public Key",-1)),nD={class:"mb-0"},iD={class:"d-flex align-items-end"},oD=si(()=>p("small",{class:"text-muted"},"Allowed IP",-1)),rD={class:"mb-0"},aD=si(()=>p("h5",{class:"mb-0"},[p("i",{class:"bi bi-three-dots"})],-1)),lD=[aD];function cD(e,t,s,n,i,o){const r=Dt("PeerSettingsDropdown");return H(),q("div",{class:Rt(["card shadow-sm rounded-3",{"border-warning":s.Peer.restricted}])},[p("div",null,[s.Peer.restricted?(H(),q("div",QO,[ZO,ht(" Access Restricted ")])):(H(),q("div",zO,[p("div",{class:Rt(["dot ms-0",{active:s.Peer.status==="running"}])},null,2),p("div",UO,[p("span",KO,[YO,p("strong",null,lt((s.Peer.cumu_receive+s.Peer.total_receive).toFixed(4)),1),ht(" GB ")]),p("span",qO,[GO,p("strong",null,lt((s.Peer.cumu_sent+s.Peer.total_sent).toFixed(4)),1),ht(" GB ")]),s.Peer.latest_handshake!=="No Handshake"?(H(),q("span",XO,[JO,ht(" "+lt(o.getLatestHandshake)+" ago ",1)])):Vt("",!0)])]))]),p("div",tD,[p("h5",null,lt(s.Peer.name?s.Peer.name:"Untitled Peer"),1),p("div",eD,[sD,p("p",nD,[p("samp",null,lt(s.Peer.id),1)])]),p("div",iD,[p("div",null,[oD,p("p",rD,[p("samp",null,lt(s.Peer.allowed_ip),1)])]),p("div",{class:Rt(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[p("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=a=>this.subMenuOpened=!0)},lD),dt(is,{name:"slide-fade"},{default:Bt(()=>[this.subMenuOpened?(H(),oe(r,{key:0,onQrcode:t[1]||(t[1]=a=>this.$emit("qrcode",a)),onSetting:t[2]||(t[2]=a=>this.$emit("setting")),onJobs:t[3]||(t[3]=a=>this.$emit("jobs")),onRefresh:t[4]||(t[4]=a=>this.$emit("refresh")),Peer:s.Peer,ref:"target"},null,8,["Peer"])):Vt("",!0)]),_:1})],2)])])],2)}const dD=kt(WO,[["render",cD],["__scopeId","data-v-7be8a1d5"]]);/*!
* @kurkle/color v0.3.2
* https://github.com/kurkle/color#readme
* (c) 2023 Jukka Kurkela
* Released under the MIT License
*/function ar(e){return e+.5|0}const rn=(e,t,s)=>Math.max(Math.min(e,s),t);function mo(e){return rn(ar(e*2.55),0,255)}function fn(e){return rn(ar(e*255),0,255)}function Ts(e){return rn(ar(e/2.55)/100,0,1)}function Sf(e){return rn(ar(e*100),0,100)}const Ue={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Dc=[..."0123456789ABCDEF"],uD=e=>Dc[e&15],hD=e=>Dc[(e&240)>>4]+Dc[e&15],Fr=e=>(e&240)>>4===(e&15),fD=e=>Fr(e.r)&&Fr(e.g)&&Fr(e.b)&&Fr(e.a);function pD(e){var t=e.length,s;return e[0]==="#"&&(t===4||t===5?s={r:255&Ue[e[1]]*17,g:255&Ue[e[2]]*17,b:255&Ue[e[3]]*17,a:t===5?Ue[e[4]]*17:255}:(t===7||t===9)&&(s={r:Ue[e[1]]<<4|Ue[e[2]],g:Ue[e[3]]<<4|Ue[e[4]],b:Ue[e[5]]<<4|Ue[e[6]],a:t===9?Ue[e[7]]<<4|Ue[e[8]]:255})),s}const gD=(e,t)=>e<255?t(e):"";function mD(e){var t=fD(e)?uD:hD;return e?"#"+t(e.r)+t(e.g)+t(e.b)+gD(e.a,t):void 0}const _D=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function A_(e,t,s){const n=t*Math.min(s,1-s),i=(o,r=(o+e/30)%12)=>s-n*Math.max(Math.min(r-3,9-r,1),-1);return[i(0),i(8),i(4)]}function bD(e,t,s){const n=(i,o=(i+e/60)%6)=>s-s*t*Math.max(Math.min(o,4-o,1),0);return[n(5),n(3),n(1)]}function vD(e,t,s){const n=A_(e,1,.5);let i;for(t+s>1&&(i=1/(t+s),t*=i,s*=i),i=0;i<3;i++)n[i]*=1-t-s,n[i]+=t;return n}function yD(e,t,s,n,i){return e===i?(t-s)/n+(t<s?6:0):t===i?(s-e)/n+2:(e-t)/n+4}function qd(e){const s=e.r/255,n=e.g/255,i=e.b/255,o=Math.max(s,n,i),r=Math.min(s,n,i),a=(o+r)/2;let l,c,d;return o!==r&&(d=o-r,c=a>.5?d/(2-o-r):d/(o+r),l=yD(s,n,i,d,o),l=l*60+.5),[l|0,c||0,a]}function Gd(e,t,s,n){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,s,n)).map(fn)}function Xd(e,t,s){return Gd(A_,e,t,s)}function xD(e,t,s){return Gd(vD,e,t,s)}function wD(e,t,s){return Gd(bD,e,t,s)}function C_(e){return(e%360+360)%360}function ED(e){const t=_D.exec(e);let s=255,n;if(!t)return;t[5]!==n&&(s=t[6]?mo(+t[5]):fn(+t[5]));const i=C_(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?n=xD(i,o,r):t[1]==="hsv"?n=wD(i,o,r):n=Xd(i,o,r),{r:n[0],g:n[1],b:n[2],a:s}}function SD(e,t){var s=qd(e);s[0]=C_(s[0]+t),s=Xd(s),e.r=s[0],e.g=s[1],e.b=s[2]}function AD(e){if(!e)return;const t=qd(e),s=t[0],n=Sf(t[1]),i=Sf(t[2]);return e.a<255?`hsla(${s}, ${n}%, ${i}%, ${Ts(e.a)})`:`hsl(${s}, ${n}%, ${i}%)`}const Af={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Cf={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function CD(){const e={},t=Object.keys(Cf),s=Object.keys(Af);let n,i,o,r,a;for(n=0;n<t.length;n++){for(r=a=t[n],i=0;i<s.length;i++)o=s[i],a=a.replace(o,Af[o]);o=parseInt(Cf[r],16),e[a]=[o>>16&255,o>>8&255,o&255]}return e}let Br;function $D(e){Br||(Br=CD(),Br.transparent=[0,0,0,0]);const t=Br[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const PD=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function kD(e){const t=PD.exec(e);let s=255,n,i,o;if(t){if(t[7]!==n){const r=+t[7];s=t[8]?mo(r):rn(r*255,0,255)}return n=+t[1],i=+t[3],o=+t[5],n=255&(t[2]?mo(n):rn(n,0,255)),i=255&(t[4]?mo(i):rn(i,0,255)),o=255&(t[6]?mo(o):rn(o,0,255)),{r:n,g:i,b:o,a:s}}}function TD(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ts(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Gl=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,pi=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function MD(e,t,s){const n=pi(Ts(e.r)),i=pi(Ts(e.g)),o=pi(Ts(e.b));return{r:fn(Gl(n+s*(pi(Ts(t.r))-n))),g:fn(Gl(i+s*(pi(Ts(t.g))-i))),b:fn(Gl(o+s*(pi(Ts(t.b))-o))),a:e.a+s*(t.a-e.a)}}function Vr(e,t,s){if(e){let n=qd(e);n[t]=Math.max(0,Math.min(n[t]+n[t]*s,t===0?360:1)),n=Xd(n),e.r=n[0],e.g=n[1],e.b=n[2]}}function $_(e,t){return e&&Object.assign(t||{},e)}function $f(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=fn(e[3]))):(t=$_(e,{r:0,g:0,b:0,a:1}),t.a=fn(t.a)),t}function OD(e){return e.charAt(0)==="r"?kD(e):ED(e)}class Uo{constructor(t){if(t instanceof Uo)return t;const s=typeof t;let n;s==="object"?n=$f(t):s==="string"&&(n=pD(t)||$D(t)||OD(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=$_(this._rgb);return t&&(t.a=Ts(t.a)),t}set rgb(t){this._rgb=$f(t)}rgbString(){return this._valid?TD(this._rgb):void 0}hexString(){return this._valid?mD(this._rgb):void 0}hslString(){return this._valid?AD(this._rgb):void 0}mix(t,s){if(t){const n=this.rgb,i=t.rgb;let o;const r=s===o?.5:s,a=2*r-1,l=n.a-i.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,n.r=255&c*n.r+o*i.r+.5,n.g=255&c*n.g+o*i.g+.5,n.b=255&c*n.b+o*i.b+.5,n.a=r*n.a+(1-r)*i.a,this.rgb=n}return this}interpolate(t,s){return t&&(this._rgb=MD(this._rgb,t._rgb,s)),this}clone(){return new Uo(this.rgb)}alpha(t){return this._rgb.a=fn(t),this}clearer(t){const s=this._rgb;return s.a*=1-t,this}greyscale(){const t=this._rgb,s=ar(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=s,this}opaquer(t){const s=this._rgb;return s.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Vr(this._rgb,2,t),this}darken(t){return Vr(this._rgb,2,-t),this}saturate(t){return Vr(this._rgb,1,t),this}desaturate(t){return Vr(this._rgb,1,-t),this}rotate(t){return SD(this._rgb,t),this}}/*!
* Chart.js v4.4.1
* https://www.chartjs.org
* (c) 2023 Chart.js Contributors
* Released under the MIT License
*/function As(){}const DD=(()=>{let e=0;return()=>e++})();function Ft(e){return e===null||typeof e>"u"}function qt(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function It(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Qt(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Oe(e,t){return Qt(e)?e:t}function St(e,t){return typeof e>"u"?t:e}const ID=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,P_=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function Kt(e,t,s){if(e&&typeof e.call=="function")return e.apply(s,t)}function zt(e,t,s,n){let i,o,r;if(qt(e))if(o=e.length,n)for(i=o-1;i>=0;i--)t.call(s,e[i],i);else for(i=0;i<o;i++)t.call(s,e[i],i);else if(It(e))for(r=Object.keys(e),o=r.length,i=0;i<o;i++)t.call(s,e[r[i]],r[i])}function Pa(e,t){let s,n,i,o;if(!e||!t||e.length!==t.length)return!1;for(s=0,n=e.length;s<n;++s)if(i=e[s],o=t[s],i.datasetIndex!==o.datasetIndex||i.index!==o.index)return!1;return!0}function ka(e){if(qt(e))return e.map(ka);if(It(e)){const t=Object.create(null),s=Object.keys(e),n=s.length;let i=0;for(;i<n;++i)t[s[i]]=ka(e[s[i]]);return t}return e}function k_(e){return["__proto__","prototype","constructor"].indexOf(e)===-1}function LD(e,t,s,n){if(!k_(e))return;const i=t[e],o=s[e];It(i)&&It(o)?Ko(i,o,n):t[e]=ka(o)}function Ko(e,t,s){const n=qt(t)?t:[t],i=n.length;if(!It(e))return e;s=s||{};const o=s.merger||LD;let r;for(let a=0;a<i;++a){if(r=n[a],!It(r))continue;const l=Object.keys(r);for(let c=0,d=l.length;c<d;++c)o(l[c],e,r,s)}return e}function Mo(e,t){return Ko(e,t,{merger:RD})}function RD(e,t,s){if(!k_(e))return;const n=t[e],i=s[e];It(n)&&It(i)?Mo(n,i):Object.prototype.hasOwnProperty.call(t,e)||(t[e]=ka(i))}const Pf={"":e=>e,x:e=>e.x,y:e=>e.y};function ND(e){const t=e.split("."),s=[];let n="";for(const i of t)n+=i,n.endsWith("\\")?n=n.slice(0,-1)+".":(s.push(n),n="");return s}function FD(e){const t=ND(e);return s=>{for(const n of t){if(n==="")break;s=s&&s[n]}return s}}function _n(e,t){return(Pf[t]||(Pf[t]=FD(t)))(e)}function Jd(e){return e.charAt(0).toUpperCase()+e.slice(1)}const Yo=e=>typeof e<"u",bn=e=>typeof e=="function",kf=(e,t)=>{if(e.size!==t.size)return!1;for(const s of e)if(!t.has(s))return!1;return!0};function BD(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const Xt=Math.PI,Gt=2*Xt,VD=Gt+Xt,Ta=Number.POSITIVE_INFINITY,HD=Xt/180,te=Xt/2,Rn=Xt/4,Tf=Xt*2/3,an=Math.log10,_s=Math.sign;function Oo(e,t,s){return Math.abs(e-t)<s}function Mf(e){const t=Math.round(e);e=Oo(e,t,e/1e3)?t:e;const s=Math.pow(10,Math.floor(an(e))),n=e/s;return(n<=1?1:n<=2?2:n<=5?5:10)*s}function jD(e){const t=[],s=Math.sqrt(e);let n;for(n=1;n<s;n++)e%n===0&&(t.push(n),t.push(e/n));return s===(s|0)&&t.push(s),t.sort((i,o)=>i-o).pop(),t}function zi(e){return!isNaN(parseFloat(e))&&isFinite(e)}function WD(e,t){const s=Math.round(e);return s-t<=e&&s+t>=e}function T_(e,t,s){let n,i,o;for(n=0,i=e.length;n<i;n++)o=e[n][s],isNaN(o)||(t.min=Math.min(t.min,o),t.max=Math.max(t.max,o))}function ns(e){return e*(Xt/180)}function Qd(e){return e*(180/Xt)}function Of(e){if(!Qt(e))return;let t=1,s=0;for(;Math.round(e*t)/t!==e;)t*=10,s++;return s}function M_(e,t){const s=t.x-e.x,n=t.y-e.y,i=Math.sqrt(s*s+n*n);let o=Math.atan2(n,s);return o<-.5*Xt&&(o+=Gt),{angle:o,distance:i}}function Ic(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function zD(e,t){return(e-t+VD)%Gt-Xt}function Ie(e){return(e%Gt+Gt)%Gt}function qo(e,t,s,n){const i=Ie(e),o=Ie(t),r=Ie(s),a=Ie(o-i),l=Ie(r-i),c=Ie(i-o),d=Ie(i-r);return i===o||i===r||n&&o===r||a>l&&c<d}function de(e,t,s){return Math.max(t,Math.min(s,e))}function UD(e){return de(e,-32768,32767)}function Os(e,t,s,n=1e-6){return e>=Math.min(t,s)-n&&e<=Math.max(t,s)+n}function Zd(e,t,s){s=s||(r=>e[r]<t);let n=e.length-1,i=0,o;for(;n-i>1;)o=i+n>>1,s(o)?i=o:n=o;return{lo:i,hi:n}}const Ds=(e,t,s,n)=>Zd(e,s,n?i=>{const o=e[i][t];return o<s||o===s&&e[i+1][t]===s}:i=>e[i][t]<s),KD=(e,t,s)=>Zd(e,s,n=>e[n][t]>=s);function YD(e,t,s){let n=0,i=e.length;for(;n<i&&e[n]<t;)n++;for(;i>n&&e[i-1]>s;)i--;return n>0||i<e.length?e.slice(n,i):e}const O_=["push","pop","shift","splice","unshift"];function qD(e,t){if(e._chartjs){e._chartjs.listeners.push(t);return}Object.defineProperty(e,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),O_.forEach(s=>{const n="_onData"+Jd(s),i=e[s];Object.defineProperty(e,s,{configurable:!0,enumerable:!1,value(...o){const r=i.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[n]=="function"&&a[n](...o)}),r}})})}function Df(e,t){const s=e._chartjs;if(!s)return;const n=s.listeners,i=n.indexOf(t);i!==-1&&n.splice(i,1),!(n.length>0)&&(O_.forEach(o=>{delete e[o]}),delete e._chartjs)}function D_(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const I_=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function L_(e,t){let s=[],n=!1;return function(...i){s=i,n||(n=!0,I_.call(window,()=>{n=!1,e.apply(t,s)}))}}function GD(e,t){let s;return function(...n){return t?(clearTimeout(s),s=setTimeout(e,t,n)):e.apply(this,n),t}}const tu=e=>e==="start"?"left":e==="end"?"right":"center",ge=(e,t,s)=>e==="start"?t:e==="end"?s:(t+s)/2,XD=(e,t,s,n)=>e===(n?"left":"right")?s:e==="center"?(t+s)/2:t;function R_(e,t,s){const n=t.length;let i=0,o=n;if(e._sorted){const{iScale:r,_parsed:a}=e,l=r.axis,{min:c,max:d,minDefined:u,maxDefined:f}=r.getUserBounds();u&&(i=de(Math.min(Ds(a,l,c).lo,s?n:Ds(t,l,r.getPixelForValue(c)).lo),0,n-1)),f?o=de(Math.max(Ds(a,r.axis,d,!0).hi+1,s?0:Ds(t,l,r.getPixelForValue(d),!0).hi+1),i,n)-i:o=n-i}return{start:i,count:o}}function N_(e){const{xScale:t,yScale:s,_scaleRanges:n}=e,i={xmin:t.min,xmax:t.max,ymin:s.min,ymax:s.max};if(!n)return e._scaleRanges=i,!0;const o=n.xmin!==t.min||n.xmax!==t.max||n.ymin!==s.min||n.ymax!==s.max;return Object.assign(n,i),o}const Hr=e=>e===0||e===1,If=(e,t,s)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*Gt/s)),Lf=(e,t,s)=>Math.pow(2,-10*e)*Math.sin((e-t)*Gt/s)+1,Do={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*te)+1,easeOutSine:e=>Math.sin(e*te),easeInOutSine:e=>-.5*(Math.cos(Xt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Hr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Hr(e)?e:If(e,.075,.3),easeOutElastic:e=>Hr(e)?e:Lf(e,.075,.3),easeInOutElastic(e){return Hr(e)?e:e<.5?.5*If(e*2,.1125,.45):.5+.5*Lf(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Do.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Do.easeInBounce(e*2)*.5:Do.easeOutBounce(e*2-1)*.5+.5};function eu(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rf(e){return eu(e)?e:new Uo(e)}function Xl(e){return eu(e)?e:new Uo(e).saturate(.5).darken(.1).hexString()}const JD=["x","y","borderWidth","radius","tension"],QD=["color","borderColor","backgroundColor"];function ZD(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:QD},numbers:{type:"number",properties:JD}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function tI(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Nf=new Map;function eI(e,t){t=t||{};const s=e+JSON.stringify(t);let n=Nf.get(s);return n||(n=new Intl.NumberFormat(e,t),Nf.set(s,n)),n}function lr(e,t,s){return eI(t,s).format(e)}const F_={values(e){return qt(e)?e:""+e},numeric(e,t,s){if(e===0)return"0";const n=this.chart.options.locale;let i,o=e;if(s.length>1){const c=Math.max(Math.abs(s[0].value),Math.abs(s[s.length-1].value));(c<1e-4||c>1e15)&&(i="scientific"),o=sI(e,s)}const r=an(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),lr(e,n,l)},logarithmic(e,t,s){if(e===0)return"0";const n=s[t].significand||e/Math.pow(10,Math.floor(an(e)));return[1,2,3,5,10,15].includes(n)||t>.8*s.length?F_.numeric.call(this,e,t,s):""}};function sI(e,t){let s=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(s)>=1&&e!==Math.floor(e)&&(s=e-Math.floor(e)),s}var cl={formatters:F_};function nI(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,s)=>s.lineWidth,tickColor:(t,s)=>s.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:cl.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const ti=Object.create(null),Lc=Object.create(null);function Io(e,t){if(!t)return e;const s=t.split(".");for(let n=0,i=s.length;n<i;++n){const o=s[n];e=e[o]||(e[o]=Object.create(null))}return e}function Jl(e,t,s){return typeof t=="string"?Ko(Io(e,t),s):Ko(Io(e,""),t)}class iI{constructor(t,s){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=n=>n.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(n,i)=>Xl(i.backgroundColor),this.hoverBorderColor=(n,i)=>Xl(i.borderColor),this.hoverColor=(n,i)=>Xl(i.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(s)}set(t,s){return Jl(this,t,s)}get(t){return Io(this,t)}describe(t,s){return Jl(Lc,t,s)}override(t,s){return Jl(ti,t,s)}route(t,s,n,i){const o=Io(this,t),r=Io(this,n),a="_"+s;Object.defineProperties(o,{[a]:{value:o[s],writable:!0},[s]:{enumerable:!0,get(){const l=this[a],c=r[i];return It(l)?Object.assign({},c,l):St(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(s=>s(this))}}var Zt=new iI({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[ZD,tI,nI]);function oI(e){return!e||Ft(e.size)||Ft(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ma(e,t,s,n,i){let o=t[i];return o||(o=t[i]=e.measureText(i).width,s.push(i)),o>n&&(n=o),n}function rI(e,t,s,n){n=n||{};let i=n.data=n.data||{},o=n.garbageCollect=n.garbageCollect||[];n.font!==t&&(i=n.data={},o=n.garbageCollect=[],n.font=t),e.save(),e.font=t;let r=0;const a=s.length;let l,c,d,u,f;for(l=0;l<a;l++)if(u=s[l],u!=null&&!qt(u))r=Ma(e,i,o,r,u);else if(qt(u))for(c=0,d=u.length;c<d;c++)f=u[c],f!=null&&!qt(f)&&(r=Ma(e,i,o,r,f));e.restore();const g=o.length/2;if(g>s.length){for(l=0;l<g;l++)delete i[o[l]];o.splice(0,g)}return r}function Nn(e,t,s){const n=e.currentDevicePixelRatio,i=s!==0?Math.max(s/2,.5):0;return Math.round((t-i)*n)/n+i}function Ff(e,t){t=t||e.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,e.width,e.height),t.restore()}function Rc(e,t,s,n){B_(e,t,s,n,null)}function B_(e,t,s,n,i){let o,r,a,l,c,d,u,f;const g=t.pointStyle,m=t.rotation,b=t.radius;let v=(m||0)*HD;if(g&&typeof g=="object"&&(o=g.toString(),o==="[object HTMLImageElement]"||o==="[object HTMLCanvasElement]")){e.save(),e.translate(s,n),e.rotate(v),e.drawImage(g,-g.width/2,-g.height/2,g.width,g.height),e.restore();return}if(!(isNaN(b)||b<=0)){switch(e.beginPath(),g){default:i?e.ellipse(s,n,i/2,b,0,0,Gt):e.arc(s,n,b,0,Gt),e.closePath();break;case"triangle":d=i?i/2:b,e.moveTo(s+Math.sin(v)*d,n-Math.cos(v)*b),v+=Tf,e.lineTo(s+Math.sin(v)*d,n-Math.cos(v)*b),v+=Tf,e.lineTo(s+Math.sin(v)*d,n-Math.cos(v)*b),e.closePath();break;case"rectRounded":c=b*.516,l=b-c,r=Math.cos(v+Rn)*l,u=Math.cos(v+Rn)*(i?i/2-c:l),a=Math.sin(v+Rn)*l,f=Math.sin(v+Rn)*(i?i/2-c:l),e.arc(s-u,n-a,c,v-Xt,v-te),e.arc(s+f,n-r,c,v-te,v),e.arc(s+u,n+a,c,v,v+te),e.arc(s-f,n+r,c,v+te,v+Xt),e.closePath();break;case"rect":if(!m){l=Math.SQRT1_2*b,d=i?i/2:l,e.rect(s-d,n-l,2*d,2*l);break}v+=Rn;case"rectRot":u=Math.cos(v)*(i?i/2:b),r=Math.cos(v)*b,a=Math.sin(v)*b,f=Math.sin(v)*(i?i/2:b),e.moveTo(s-u,n-a),e.lineTo(s+f,n-r),e.lineTo(s+u,n+a),e.lineTo(s-f,n+r),e.closePath();break;case"crossRot":v+=Rn;case"cross":u=Math.cos(v)*(i?i/2:b),r=Math.cos(v)*b,a=Math.sin(v)*b,f=Math.sin(v)*(i?i/2:b),e.moveTo(s-u,n-a),e.lineTo(s+u,n+a),e.moveTo(s+f,n-r),e.lineTo(s-f,n+r);break;case"star":u=Math.cos(v)*(i?i/2:b),r=Math.cos(v)*b,a=Math.sin(v)*b,f=Math.sin(v)*(i?i/2:b),e.moveTo(s-u,n-a),e.lineTo(s+u,n+a),e.moveTo(s+f,n-r),e.lineTo(s-f,n+r),v+=Rn,u=Math.cos(v)*(i?i/2:b),r=Math.cos(v)*b,a=Math.sin(v)*b,f=Math.sin(v)*(i?i/2:b),e.moveTo(s-u,n-a),e.lineTo(s+u,n+a),e.moveTo(s+f,n-r),e.lineTo(s-f,n+r);break;case"line":r=i?i/2:Math.cos(v)*b,a=Math.sin(v)*b,e.moveTo(s-r,n-a),e.lineTo(s+r,n+a);break;case"dash":e.moveTo(s,n),e.lineTo(s+Math.cos(v)*(i?i/2:b),n+Math.sin(v)*b);break;case!1:e.closePath();break}e.fill(),t.borderWidth>0&&e.stroke()}}function Is(e,t,s){return s=s||.5,!t||e&&e.x>t.left-s&&e.x<t.right+s&&e.y>t.top-s&&e.y<t.bottom+s}function dl(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()}function ul(e){e.restore()}function aI(e,t,s,n,i){if(!t)return e.lineTo(s.x,s.y);if(i==="middle"){const o=(t.x+s.x)/2;e.lineTo(o,t.y),e.lineTo(o,s.y)}else i==="after"!=!!n?e.lineTo(t.x,s.y):e.lineTo(s.x,t.y);e.lineTo(s.x,s.y)}function lI(e,t,s,n){if(!t)return e.lineTo(s.x,s.y);e.bezierCurveTo(n?t.cp1x:t.cp2x,n?t.cp1y:t.cp2y,n?s.cp2x:s.cp1x,n?s.cp2y:s.cp1y,s.x,s.y)}function cI(e,t){t.translation&&e.translate(t.translation[0],t.translation[1]),Ft(t.rotation)||e.rotate(t.rotation),t.color&&(e.fillStyle=t.color),t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline)}function dI(e,t,s,n,i){if(i.strikethrough||i.underline){const o=e.measureText(n),r=t-o.actualBoundingBoxLeft,a=t+o.actualBoundingBoxRight,l=s-o.actualBoundingBoxAscent,c=s+o.actualBoundingBoxDescent,d=i.strikethrough?(l+c)/2:c;e.strokeStyle=e.fillStyle,e.beginPath(),e.lineWidth=i.decorationWidth||2,e.moveTo(r,d),e.lineTo(a,d),e.stroke()}}function uI(e,t){const s=e.fillStyle;e.fillStyle=t.color,e.fillRect(t.left,t.top,t.width,t.height),e.fillStyle=s}function ei(e,t,s,n,i,o={}){const r=qt(t)?t:[t],a=o.strokeWidth>0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=i.string,cI(e,o),l=0;l<r.length;++l)c=r[l],o.backdrop&&uI(e,o.backdrop),a&&(o.strokeColor&&(e.strokeStyle=o.strokeColor),Ft(o.strokeWidth)||(e.lineWidth=o.strokeWidth),e.strokeText(c,s,n,o.maxWidth)),e.fillText(c,s,n,o.maxWidth),dI(e,s,n,c,o),n+=Number(i.lineHeight);e.restore()}function Go(e,t){const{x:s,y:n,w:i,h:o,radius:r}=t;e.arc(s+r.topLeft,n+r.topLeft,r.topLeft,1.5*Xt,Xt,!0),e.lineTo(s,n+o-r.bottomLeft),e.arc(s+r.bottomLeft,n+o-r.bottomLeft,r.bottomLeft,Xt,te,!0),e.lineTo(s+i-r.bottomRight,n+o),e.arc(s+i-r.bottomRight,n+o-r.bottomRight,r.bottomRight,te,0,!0),e.lineTo(s+i,n+r.topRight),e.arc(s+i-r.topRight,n+r.topRight,r.topRight,0,-te,!0),e.lineTo(s+r.topLeft,n)}const hI=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,fI=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function pI(e,t){const s=(""+e).match(hI);if(!s||s[1]==="normal")return t*1.2;switch(e=+s[2],s[3]){case"px":return e;case"%":e/=100;break}return t*e}const gI=e=>+e||0;function su(e,t){const s={},n=It(t),i=n?Object.keys(t):t,o=It(e)?n?r=>St(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of i)s[r]=gI(o(r));return s}function V_(e){return su(e,{top:"y",right:"x",bottom:"y",left:"x"})}function Gn(e){return su(e,["topLeft","topRight","bottomLeft","bottomRight"])}function be(e){const t=V_(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function re(e,t){e=e||{},t=t||Zt.font;let s=St(e.size,t.size);typeof s=="string"&&(s=parseInt(s,10));let n=St(e.style,t.style);n&&!(""+n).match(fI)&&(console.warn('Invalid font style specified: "'+n+'"'),n=void 0);const i={family:St(e.family,t.family),lineHeight:pI(St(e.lineHeight,t.lineHeight),s),size:s,style:n,weight:St(e.weight,t.weight),string:""};return i.string=oI(i),i}function _o(e,t,s,n){let i=!0,o,r,a;for(o=0,r=e.length;o<r;++o)if(a=e[o],a!==void 0&&(t!==void 0&&typeof a=="function"&&(a=a(t),i=!1),s!==void 0&&qt(a)&&(a=a[s%a.length],i=!1),a!==void 0))return n&&!i&&(n.cacheable=!1),a}function mI(e,t,s){const{min:n,max:i}=e,o=P_(t,(i-n)/2),r=(a,l)=>s&&a===0?0:a+l;return{min:r(n,-Math.abs(o)),max:r(i,o)}}function En(e,t){return Object.assign(Object.create(e),t)}function nu(e,t=[""],s,n,i=()=>e[0]){const o=s||e;typeof n>"u"&&(n=z_("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:n,_getTarget:i,override:a=>nu([a,...e],t,o,n)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete e[0][l],!0},get(a,l){return j_(a,l,()=>SI(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return Vf(a).includes(l)},ownKeys(a){return Vf(a)},set(a,l,c){const d=a._storage||(a._storage=i());return a[l]=d[l]=c,delete a._keys,!0}})}function Ui(e,t,s,n){const i={_cacheable:!1,_proxy:e,_context:t,_subProxy:s,_stack:new Set,_descriptors:H_(e,n),setContext:o=>Ui(e,o,s,n),override:o=>Ui(e.override(o),t,s,n)};return new Proxy(i,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return j_(o,r,()=>bI(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(e,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,r)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(o,r){return Reflect.has(e,r)},ownKeys(){return Reflect.ownKeys(e)},set(o,r,a){return e[r]=a,delete o[r],!0}})}function H_(e,t={scriptable:!0,indexable:!0}){const{_scriptable:s=t.scriptable,_indexable:n=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:s,indexable:n,isScriptable:bn(s)?s:()=>s,isIndexable:bn(n)?n:()=>n}}const _I=(e,t)=>e?e+Jd(t):t,iu=(e,t)=>It(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function j_(e,t,s){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const n=s();return e[t]=n,n}function bI(e,t,s){const{_proxy:n,_context:i,_subProxy:o,_descriptors:r}=e;let a=n[t];return bn(a)&&r.isScriptable(t)&&(a=vI(t,a,e,s)),qt(a)&&a.length&&(a=yI(t,a,e,r.isIndexable)),iu(t,a)&&(a=Ui(a,i,o&&o[t],r)),a}function vI(e,t,s,n){const{_proxy:i,_context:o,_subProxy:r,_stack:a}=s;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=t(o,r||n);return a.delete(e),iu(e,l)&&(l=ou(i._scopes,i,e,l)),l}function yI(e,t,s,n){const{_proxy:i,_context:o,_subProxy:r,_descriptors:a}=s;if(typeof o.index<"u"&&n(e))return t[o.index%t.length];if(It(t[0])){const l=t,c=i._scopes.filter(d=>d!==l);t=[];for(const d of l){const u=ou(c,i,e,d);t.push(Ui(u,o,r&&r[e],a))}}return t}function W_(e,t,s){return bn(e)?e(t,s):e}const xI=(e,t)=>e===!0?t:typeof e=="string"?_n(t,e):void 0;function wI(e,t,s,n,i){for(const o of t){const r=xI(s,o);if(r){e.add(r);const a=W_(r._fallback,s,i);if(typeof a<"u"&&a!==s&&a!==n)return a}else if(r===!1&&typeof n<"u"&&s!==n)return null}return!1}function ou(e,t,s,n){const i=t._rootScopes,o=W_(t._fallback,s,n),r=[...e,...i],a=new Set;a.add(n);let l=Bf(a,r,s,o||s,n);return l===null||typeof o<"u"&&o!==s&&(l=Bf(a,r,o,l,n),l===null)?!1:nu(Array.from(a),[""],i,o,()=>EI(t,s,n))}function Bf(e,t,s,n,i){for(;s;)s=wI(e,t,s,n,i);return s}function EI(e,t,s){const n=e._getTarget();t in n||(n[t]={});const i=n[t];return qt(i)&&It(s)?s:i||{}}function SI(e,t,s,n){let i;for(const o of t)if(i=z_(_I(o,e),s),typeof i<"u")return iu(e,i)?ou(s,n,e,i):i}function z_(e,t){for(const s of t){if(!s)continue;const n=s[e];if(typeof n<"u")return n}}function Vf(e){let t=e._keys;return t||(t=e._keys=AI(e._scopes)),t}function AI(e){const t=new Set;for(const s of e)for(const n of Object.keys(s).filter(i=>!i.startsWith("_")))t.add(n);return Array.from(t)}function U_(e,t,s,n){const{iScale:i}=e,{key:o="r"}=this._parsing,r=new Array(n);let a,l,c,d;for(a=0,l=n;a<l;++a)c=a+s,d=t[c],r[a]={r:i.parse(_n(d,o),c)};return r}const CI=Number.EPSILON||1e-14,Ki=(e,t)=>t<e.length&&!e[t].skip&&e[t],K_=e=>e==="x"?"y":"x";function $I(e,t,s,n){const i=e.skip?t:e,o=t,r=s.skip?t:s,a=Ic(o,i),l=Ic(r,o);let c=a/(a+l),d=l/(a+l);c=isNaN(c)?0:c,d=isNaN(d)?0:d;const u=n*c,f=n*d;return{previous:{x:o.x-u*(r.x-i.x),y:o.y-u*(r.y-i.y)},next:{x:o.x+f*(r.x-i.x),y:o.y+f*(r.y-i.y)}}}function PI(e,t,s){const n=e.length;let i,o,r,a,l,c=Ki(e,0);for(let d=0;d<n-1;++d)if(l=c,c=Ki(e,d+1),!(!l||!c)){if(Oo(t[d],0,CI)){s[d]=s[d+1]=0;continue}i=s[d]/t[d],o=s[d+1]/t[d],a=Math.pow(i,2)+Math.pow(o,2),!(a<=9)&&(r=3/Math.sqrt(a),s[d]=i*r*t[d],s[d+1]=o*r*t[d])}}function kI(e,t,s="x"){const n=K_(s),i=e.length;let o,r,a,l=Ki(e,0);for(let c=0;c<i;++c){if(r=a,a=l,l=Ki(e,c+1),!a)continue;const d=a[s],u=a[n];r&&(o=(d-r[s])/3,a[`cp1${s}`]=d-o,a[`cp1${n}`]=u-o*t[c]),l&&(o=(l[s]-d)/3,a[`cp2${s}`]=d+o,a[`cp2${n}`]=u+o*t[c])}}function TI(e,t="x"){const s=K_(t),n=e.length,i=Array(n).fill(0),o=Array(n);let r,a,l,c=Ki(e,0);for(r=0;r<n;++r)if(a=l,l=c,c=Ki(e,r+1),!!l){if(c){const d=c[t]-l[t];i[r]=d!==0?(c[s]-l[s])/d:0}o[r]=a?c?_s(i[r-1])!==_s(i[r])?0:(i[r-1]+i[r])/2:i[r-1]:i[r]}PI(e,i,o),kI(e,o,t)}function jr(e,t,s){return Math.max(Math.min(e,s),t)}function MI(e,t){let s,n,i,o,r,a=Is(e[0],t);for(s=0,n=e.length;s<n;++s)r=o,o=a,a=s<n-1&&Is(e[s+1],t),o&&(i=e[s],r&&(i.cp1x=jr(i.cp1x,t.left,t.right),i.cp1y=jr(i.cp1y,t.top,t.bottom)),a&&(i.cp2x=jr(i.cp2x,t.left,t.right),i.cp2y=jr(i.cp2y,t.top,t.bottom)))}function OI(e,t,s,n,i){let o,r,a,l;if(t.spanGaps&&(e=e.filter(c=>!c.skip)),t.cubicInterpolationMode==="monotone")TI(e,i);else{let c=n?e[e.length-1]:e[0];for(o=0,r=e.length;o<r;++o)a=e[o],l=$I(c,a,e[Math.min(o+1,r-(n?0:1))%r],t.tension),a.cp1x=l.previous.x,a.cp1y=l.previous.y,a.cp2x=l.next.x,a.cp2y=l.next.y,c=a}t.capBezierPoints&&MI(e,s)}function ru(){return typeof window<"u"&&typeof document<"u"}function au(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Oa(e,t,s){let n;return typeof e=="string"?(n=parseInt(e,10),e.indexOf("%")!==-1&&(n=n/100*t.parentNode[s])):n=e,n}const hl=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function DI(e,t){return hl(e).getPropertyValue(t)}const II=["top","right","bottom","left"];function Xn(e,t,s){const n={};s=s?"-"+s:"";for(let i=0;i<4;i++){const o=II[i];n[o]=parseFloat(e[t+"-"+o+s])||0}return n.width=n.left+n.right,n.height=n.top+n.bottom,n}const LI=(e,t,s)=>(e>0||t>0)&&(!s||!s.shadowRoot);function RI(e,t){const s=e.touches,n=s&&s.length?s[0]:e,{offsetX:i,offsetY:o}=n;let r=!1,a,l;if(LI(i,o,e.target))a=i,l=o;else{const c=t.getBoundingClientRect();a=n.clientX-c.left,l=n.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function Vn(e,t){if("native"in e)return e;const{canvas:s,currentDevicePixelRatio:n}=t,i=hl(s),o=i.boxSizing==="border-box",r=Xn(i,"padding"),a=Xn(i,"border","width"),{x:l,y:c,box:d}=RI(e,s),u=r.left+(d&&a.left),f=r.top+(d&&a.top);let{width:g,height:m}=t;return o&&(g-=r.width+a.width,m-=r.height+a.height),{x:Math.round((l-u)/g*s.width/n),y:Math.round((c-f)/m*s.height/n)}}function NI(e,t,s){let n,i;if(t===void 0||s===void 0){const o=au(e);if(!o)t=e.clientWidth,s=e.clientHeight;else{const r=o.getBoundingClientRect(),a=hl(o),l=Xn(a,"border","width"),c=Xn(a,"padding");t=r.width-c.width-l.width,s=r.height-c.height-l.height,n=Oa(a.maxWidth,o,"clientWidth"),i=Oa(a.maxHeight,o,"clientHeight")}}return{width:t,height:s,maxWidth:n||Ta,maxHeight:i||Ta}}const Wr=e=>Math.round(e*10)/10;function FI(e,t,s,n){const i=hl(e),o=Xn(i,"margin"),r=Oa(i.maxWidth,e,"clientWidth")||Ta,a=Oa(i.maxHeight,e,"clientHeight")||Ta,l=NI(e,t,s);let{width:c,height:d}=l;if(i.boxSizing==="content-box"){const f=Xn(i,"border","width"),g=Xn(i,"padding");c-=g.width+f.width,d-=g.height+f.height}return c=Math.max(0,c-o.width),d=Math.max(0,n?c/n:d-o.height),c=Wr(Math.min(c,r,l.maxWidth)),d=Wr(Math.min(d,a,l.maxHeight)),c&&!d&&(d=Wr(c/2)),(t!==void 0||s!==void 0)&&n&&l.height&&d>l.height&&(d=l.height,c=Wr(Math.floor(d*n))),{width:c,height:d}}function Hf(e,t,s){const n=t||1,i=Math.floor(e.height*n),o=Math.floor(e.width*n);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const r=e.canvas;return r.style&&(s||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==n||r.height!==i||r.width!==o?(e.currentDevicePixelRatio=n,r.height=i,r.width=o,e.ctx.setTransform(n,0,0,n,0,0),!0):!1}const BI=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};ru()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function jf(e,t){const s=DI(e,t),n=s&&s.match(/^(\d+)(\.\d+)?px$/);return n?+n[1]:void 0}function Hn(e,t,s,n){return{x:e.x+s*(t.x-e.x),y:e.y+s*(t.y-e.y)}}function VI(e,t,s,n){return{x:e.x+s*(t.x-e.x),y:n==="middle"?s<.5?e.y:t.y:n==="after"?s<1?e.y:t.y:s>0?t.y:e.y}}function HI(e,t,s,n){const i={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=Hn(e,i,s),a=Hn(i,o,s),l=Hn(o,t,s),c=Hn(r,a,s),d=Hn(a,l,s);return Hn(c,d,s)}const jI=function(e,t){return{x(s){return e+e+t-s},setWidth(s){t=s},textAlign(s){return s==="center"?s:s==="right"?"left":"right"},xPlus(s,n){return s-n},leftForLtr(s,n){return s-n}}},WI=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function Ai(e,t,s){return e?jI(t,s):WI()}function Y_(e,t){let s,n;(t==="ltr"||t==="rtl")&&(s=e.canvas.style,n=[s.getPropertyValue("direction"),s.getPropertyPriority("direction")],s.setProperty("direction",t,"important"),e.prevTextDirection=n)}function q_(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function G_(e){return e==="angle"?{between:qo,compare:zD,normalize:Ie}:{between:Os,compare:(t,s)=>t-s,normalize:t=>t}}function Wf({start:e,end:t,count:s,loop:n,style:i}){return{start:e%s,end:t%s,loop:n&&(t-e+1)%s===0,style:i}}function zI(e,t,s){const{property:n,start:i,end:o}=s,{between:r,normalize:a}=G_(n),l=t.length;let{start:c,end:d,loop:u}=e,f,g;if(u){for(c+=l,d+=l,f=0,g=l;f<g&&r(a(t[c%l][n]),i,o);++f)c--,d--;c%=l,d%=l}return d<c&&(d+=l),{start:c,end:d,loop:u,style:e.style}}function X_(e,t,s){if(!s)return[e];const{property:n,start:i,end:o}=s,r=t.length,{compare:a,between:l,normalize:c}=G_(n),{start:d,end:u,loop:f,style:g}=zI(e,t,s),m=[];let b=!1,v=null,w,E,$;const T=()=>l(i,$,w)&&a(i,$)!==0,y=()=>a(o,w)===0||l(o,$,w),x=()=>b||T(),C=()=>!b||y();for(let S=d,P=d;S<=u;++S)E=t[S%r],!E.skip&&(w=c(E[n]),w!==$&&(b=l(w,i,o),v===null&&x()&&(v=a(w,i)===0?S:P),v!==null&&C()&&(m.push(Wf({start:v,end:S,loop:f,count:r,style:g})),v=null),P=S,$=w));return v!==null&&m.push(Wf({start:v,end:u,loop:f,count:r,style:g})),m}function J_(e,t){const s=[],n=e.segments;for(let i=0;i<n.length;i++){const o=X_(n[i],e.points,t);o.length&&s.push(...o)}return s}function UI(e,t,s,n){let i=0,o=t-1;if(s&&!n)for(;i<t&&!e[i].skip;)i++;for(;i<t&&e[i].skip;)i++;for(i%=t,s&&(o+=i);o>i&&e[o%t].skip;)o--;return o%=t,{start:i,end:o}}function KI(e,t,s,n){const i=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=s;++l){const c=e[l%i];c.skip||c.stop?a.skip||(n=!1,o.push({start:t%i,end:(l-1)%i,loop:n}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%i,end:r%i,loop:n}),o}function YI(e,t){const s=e.points,n=e.options.spanGaps,i=s.length;if(!i)return[];const o=!!e._loop,{start:r,end:a}=UI(s,i,o,n);if(n===!0)return zf(e,[{start:r,end:a,loop:o}],s,t);const l=a<r?a+i:a,c=!!e._fullLoop&&r===0&&a===i-1;return zf(e,KI(s,r,l,c),s,t)}function zf(e,t,s,n){return!n||!n.setContext||!s?t:qI(e,t,s,n)}function qI(e,t,s,n){const i=e._chart.getContext(),o=Uf(e.options),{_datasetIndex:r,options:{spanGaps:a}}=e,l=s.length,c=[];let d=o,u=t[0].start,f=u;function g(m,b,v,w){const E=a?-1:1;if(m!==b){for(m+=l;s[m%l].skip;)m-=E;for(;s[b%l].skip;)b+=E;m%l!==b%l&&(c.push({start:m%l,end:b%l,loop:v,style:w}),d=w,u=b%l)}}for(const m of t){u=a?u:m.start;let b=s[u%l],v;for(f=u+1;f<=m.end;f++){const w=s[f%l];v=Uf(n.setContext(En(i,{type:"segment",p0:b,p1:w,p0DataIndex:(f-1)%l,p1DataIndex:f%l,datasetIndex:r}))),GI(v,d)&&g(u,f-1,m.loop,d),b=w,d=v}u<f-1&&g(u,f-1,m.loop,d)}return c}function Uf(e){return{backgroundColor:e.backgroundColor,borderCapStyle:e.borderCapStyle,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderJoinStyle:e.borderJoinStyle,borderWidth:e.borderWidth,borderColor:e.borderColor}}function GI(e,t){if(!t)return!1;const s=[],n=function(i,o){return eu(o)?(s.includes(o)||s.push(o),s.indexOf(o)):o};return JSON.stringify(e,n)!==JSON.stringify(t,n)}/*!
* Chart.js v4.4.1
* https://www.chartjs.org
* (c) 2023 Chart.js Contributors
* Released under the MIT License
*/class XI{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,s,n,i){const o=s.listeners[i],r=s.duration;o.forEach(a=>a({chart:t,initial:s.initial,numSteps:r,currentStep:Math.min(n-s.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=I_.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let s=0;this._charts.forEach((n,i)=>{if(!n.running||!n.items.length)return;const o=n.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>n.duration&&(n.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(i.draw(),this._notify(i,n,t,"progress")),o.length||(n.running=!1,this._notify(i,n,t,"complete"),n.initial=!1),s+=o.length}),this._lastDate=t,s===0&&(this._running=!1)}_getAnims(t){const s=this._charts;let n=s.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},s.set(t,n)),n}listen(t,s,n){this._getAnims(t).listeners[s].push(n)}add(t,s){!s||!s.length||this._getAnims(t).items.push(...s)}has(t){return this._getAnims(t).items.length>0}start(t){const s=this._charts.get(t);s&&(s.running=!0,s.start=Date.now(),s.duration=s.items.reduce((n,i)=>Math.max(n,i._duration),0),this._refresh())}running(t){if(!this._running)return!1;const s=this._charts.get(t);return!(!s||!s.running||!s.items.length)}stop(t){const s=this._charts.get(t);if(!s||!s.items.length)return;const n=s.items;let i=n.length-1;for(;i>=0;--i)n[i].cancel();s.items=[],this._notify(t,s,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var $s=new XI;const Kf="transparent",JI={boolean(e,t,s){return s>.5?t:e},color(e,t,s){const n=Rf(e||Kf),i=n.valid&&Rf(t||Kf);return i&&i.valid?i.mix(n,s).hexString():t},number(e,t,s){return e+(t-e)*s}};class QI{constructor(t,s,n,i){const o=s[n];i=_o([t.to,i,o,t.from]);const r=_o([t.from,o,i]);this._active=!0,this._fn=t.fn||JI[t.type||typeof r],this._easing=Do[t.easing]||Do.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=s,this._prop=n,this._from=r,this._to=i,this._promises=void 0}active(){return this._active}update(t,s,n){if(this._active){this._notify(!1);const i=this._target[this._prop],o=n-this._start,r=this._duration-o;this._start=n,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=_o([t.to,s,i,t.from]),this._from=_o([t.from,i,s])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const s=t-this._start,n=this._duration,i=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||s<n),!this._active){this._target[i]=a,this._notify(!0);return}if(s<0){this._target[i]=o;return}l=s/n%2,l=r&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[i]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((s,n)=>{t.push({res:s,rej:n})})}_notify(t){const s=t?"res":"rej",n=this._promises||[];for(let i=0;i<n.length;i++)n[i][s]()}}class Q_{constructor(t,s){this._chart=t,this._properties=new Map,this.configure(s)}configure(t){if(!It(t))return;const s=Object.keys(Zt.animation),n=this._properties;Object.getOwnPropertyNames(t).forEach(i=>{const o=t[i];if(!It(o))return;const r={};for(const a of s)r[a]=o[a];(qt(o.properties)&&o.properties||[i]).forEach(a=>{(a===i||!n.has(a))&&n.set(a,r)})})}_animateOptions(t,s){const n=s.options,i=t2(t,n);if(!i)return[];const o=this._createAnimations(i,n);return n.$shared&&ZI(t.options.$animations,n).then(()=>{t.options=n},()=>{}),o}_createAnimations(t,s){const n=this._properties,i=[],o=t.$animations||(t.$animations={}),r=Object.keys(s),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){i.push(...this._animateOptions(t,s));continue}const d=s[c];let u=o[c];const f=n.get(c);if(u)if(f&&u.active()){u.update(f,d,a);continue}else u.cancel();if(!f||!f.duration){t[c]=d;continue}o[c]=u=new QI(f,t,c,d),i.push(u)}return i}update(t,s){if(this._properties.size===0){Object.assign(t,s);return}const n=this._createAnimations(t,s);if(n.length)return $s.add(this._chart,n),!0}}function ZI(e,t){const s=[],n=Object.keys(t);for(let i=0;i<n.length;i++){const o=e[n[i]];o&&o.active()&&s.push(o.wait())}return Promise.all(s)}function t2(e,t){if(!t)return;let s=e.options;if(!s){e.options=t;return}return s.$shared&&(e.options=s=Object.assign({},s,{$shared:!1,$animations:{}})),s}function Yf(e,t){const s=e&&e.options||{},n=s.reverse,i=s.min===void 0?t:0,o=s.max===void 0?t:0;return{start:n?o:i,end:n?i:o}}function e2(e,t,s){if(s===!1)return!1;const n=Yf(e,s),i=Yf(t,s);return{top:i.end,right:n.end,bottom:i.start,left:n.start}}function s2(e){let t,s,n,i;return It(e)?(t=e.top,s=e.right,n=e.bottom,i=e.left):t=s=n=i=e,{top:t,right:s,bottom:n,left:i,disabled:e===!1}}function Z_(e,t){const s=[],n=e._getSortedDatasetMetas(t);let i,o;for(i=0,o=n.length;i<o;++i)s.push(n[i].index);return s}function qf(e,t,s,n={}){const i=e.keys,o=n.mode==="single";let r,a,l,c;if(t!==null){for(r=0,a=i.length;r<a;++r){if(l=+i[r],l===s){if(n.all)continue;break}c=e.values[l],Qt(c)&&(o||t===0||_s(t)===_s(c))&&(t+=c)}return t}}function n2(e){const t=Object.keys(e),s=new Array(t.length);let n,i,o;for(n=0,i=t.length;n<i;++n)o=t[n],s[n]={x:o,y:e[o]};return s}function Gf(e,t){const s=e&&e.options.stacked;return s||s===void 0&&t.stack!==void 0}function i2(e,t,s){return`${e.id}.${t.id}.${s.stack||s.type}`}function o2(e){const{min:t,max:s,minDefined:n,maxDefined:i}=e.getUserBounds();return{min:n?t:Number.NEGATIVE_INFINITY,max:i?s:Number.POSITIVE_INFINITY}}function r2(e,t,s){const n=e[t]||(e[t]={});return n[s]||(n[s]={})}function Xf(e,t,s,n){for(const i of t.getMatchingVisibleMetas(n).reverse()){const o=e[i.index];if(s&&o>0||!s&&o<0)return i.index}return null}function Jf(e,t){const{chart:s,_cachedMeta:n}=e,i=s._stacks||(s._stacks={}),{iScale:o,vScale:r,index:a}=n,l=o.axis,c=r.axis,d=i2(o,r,n),u=t.length;let f;for(let g=0;g<u;++g){const m=t[g],{[l]:b,[c]:v}=m,w=m._stacks||(m._stacks={});f=w[c]=r2(i,d,b),f[a]=v,f._top=Xf(f,r,!0,n.type),f._bottom=Xf(f,r,!1,n.type);const E=f._visualValues||(f._visualValues={});E[a]=v}}function Ql(e,t){const s=e.scales;return Object.keys(s).filter(n=>s[n].axis===t).shift()}function a2(e,t){return En(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function l2(e,t,s){return En(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:s,index:t,mode:"default",type:"data"})}function lo(e,t){const s=e.controller.index,n=e.vScale&&e.vScale.axis;if(n){t=t||e._parsed;for(const i of t){const o=i._stacks;if(!o||o[n]===void 0||o[n][s]===void 0)return;delete o[n][s],o[n]._visualValues!==void 0&&o[n]._visualValues[s]!==void 0&&delete o[n]._visualValues[s]}}}const Zl=e=>e==="reset"||e==="none",Qf=(e,t)=>t?e:Object.assign({},e),c2=(e,t,s)=>e&&!t.hidden&&t._stacked&&{keys:Z_(s,!0),values:null};class os{constructor(t,s){this.chart=t,this._ctx=t.ctx,this.index=s,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Gf(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&lo(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,s=this._cachedMeta,n=this.getDataset(),i=(u,f,g,m)=>u==="x"?f:u==="r"?m:g,o=s.xAxisID=St(n.xAxisID,Ql(t,"x")),r=s.yAxisID=St(n.yAxisID,Ql(t,"y")),a=s.rAxisID=St(n.rAxisID,Ql(t,"r")),l=s.indexAxis,c=s.iAxisID=i(l,o,r,a),d=s.vAxisID=i(l,r,o,a);s.xScale=this.getScaleForId(o),s.yScale=this.getScaleForId(r),s.rScale=this.getScaleForId(a),s.iScale=this.getScaleForId(c),s.vScale=this.getScaleForId(d)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const s=this._cachedMeta;return t===s.iScale?s.vScale:s.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Df(this._data,this),t._stacked&&lo(t)}_dataCheck(){const t=this.getDataset(),s=t.data||(t.data=[]),n=this._data;if(It(s))this._data=n2(s);else if(n!==s){if(n){Df(n,this);const i=this._cachedMeta;lo(i),i._parsed=[]}s&&Object.isExtensible(s)&&qD(s,this),this._syncList=[],this._data=s}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const s=this._cachedMeta,n=this.getDataset();let i=!1;this._dataCheck();const o=s._stacked;s._stacked=Gf(s.vScale,s),s.stack!==n.stack&&(i=!0,lo(s),s.stack=n.stack),this._resyncElements(t),(i||o!==s._stacked)&&Jf(this,s._parsed)}configure(){const t=this.chart.config,s=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),s,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,s){const{_cachedMeta:n,_data:i}=this,{iScale:o,_stacked:r}=n,a=o.axis;let l=t===0&&s===i.length?!0:n._sorted,c=t>0&&n._parsed[t-1],d,u,f;if(this._parsing===!1)n._parsed=i,n._sorted=!0,f=i;else{qt(i[t])?f=this.parseArrayData(n,i,t,s):It(i[t])?f=this.parseObjectData(n,i,t,s):f=this.parsePrimitiveData(n,i,t,s);const g=()=>u[a]===null||c&&u[a]<c[a];for(d=0;d<s;++d)n._parsed[d+t]=u=f[d],l&&(g()&&(l=!1),c=u);n._sorted=l}r&&Jf(this,f)}parsePrimitiveData(t,s,n,i){const{iScale:o,vScale:r}=t,a=o.axis,l=r.axis,c=o.getLabels(),d=o===r,u=new Array(i);let f,g,m;for(f=0,g=i;f<g;++f)m=f+n,u[f]={[a]:d||o.parse(c[m],m),[l]:r.parse(s[m],m)};return u}parseArrayData(t,s,n,i){const{xScale:o,yScale:r}=t,a=new Array(i);let l,c,d,u;for(l=0,c=i;l<c;++l)d=l+n,u=s[d],a[l]={x:o.parse(u[0],d),y:r.parse(u[1],d)};return a}parseObjectData(t,s,n,i){const{xScale:o,yScale:r}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=new Array(i);let d,u,f,g;for(d=0,u=i;d<u;++d)f=d+n,g=s[f],c[d]={x:o.parse(_n(g,a),f),y:r.parse(_n(g,l),f)};return c}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,s,n){const i=this.chart,o=this._cachedMeta,r=s[t.axis],a={keys:Z_(i,!0),values:s._stacks[t.axis]._visualValues};return qf(a,r,o.index,{mode:n})}updateRangeFromParsed(t,s,n,i){const o=n[s.axis];let r=o===null?NaN:o;const a=i&&n._stacks[s.axis];i&&a&&(i.values=a,r=qf(i,o,this._cachedMeta.index)),t.min=Math.min(t.min,r),t.max=Math.max(t.max,r)}getMinMax(t,s){const n=this._cachedMeta,i=n._parsed,o=n._sorted&&t===n.iScale,r=i.length,a=this._getOtherScale(t),l=c2(s,n,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:d,max:u}=o2(a);let f,g;function m(){g=i[f];const b=g[a.axis];return!Qt(g[t.axis])||d>b||u<b}for(f=0;f<r&&!(!m()&&(this.updateRangeFromParsed(c,t,g,l),o));++f);if(o){for(f=r-1;f>=0;--f)if(!m()){this.updateRangeFromParsed(c,t,g,l);break}}return c}getAllParsedValues(t){const s=this._cachedMeta._parsed,n=[];let i,o,r;for(i=0,o=s.length;i<o;++i)r=s[i][t.axis],Qt(r)&&n.push(r);return n}getMaxOverflow(){return!1}getLabelAndValue(t){const s=this._cachedMeta,n=s.iScale,i=s.vScale,o=this.getParsed(t);return{label:n?""+n.getLabelForValue(o[n.axis]):"",value:i?""+i.getLabelForValue(o[i.axis]):""}}_update(t){const s=this._cachedMeta;this.update(t||"default"),s._clip=s2(St(this.options.clip,e2(s.xScale,s.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,s=this.chart,n=this._cachedMeta,i=n.data||[],o=s.chartArea,r=[],a=this._drawStart||0,l=this._drawCount||i.length-a,c=this.options.drawActiveElementsOnTop;let d;for(n.dataset&&n.dataset.draw(t,o,a,l),d=a;d<a+l;++d){const u=i[d];u.hidden||(u.active&&c?r.push(u):u.draw(t,o))}for(d=0;d<r.length;++d)r[d].draw(t,o)}getStyle(t,s){const n=s?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(n):this.resolveDataElementOptions(t||0,n)}getContext(t,s,n){const i=this.getDataset();let o;if(t>=0&&t<this._cachedMeta.data.length){const r=this._cachedMeta.data[t];o=r.$context||(r.$context=l2(this.getContext(),t,r)),o.parsed=this.getParsed(t),o.raw=i.data[t],o.index=o.dataIndex=t}else o=this.$context||(this.$context=a2(this.chart.getContext(),this.index)),o.dataset=i,o.index=o.datasetIndex=this.index;return o.active=!!s,o.mode=n,o}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,s){return this._resolveElementOptions(this.dataElementType.id,s,t)}_resolveElementOptions(t,s="default",n){const i=s==="active",o=this._cachedDataOpts,r=t+"-"+s,a=o[r],l=this.enableOptionSharing&&Yo(n);if(a)return Qf(a,l);const c=this.chart.config,d=c.datasetElementScopeKeys(this._type,t),u=i?[`${t}Hover`,"hover",t,""]:[t,""],f=c.getOptionScopes(this.getDataset(),d),g=Object.keys(Zt.elements[t]),m=()=>this.getContext(n,i,s),b=c.resolveNamedOptions(f,g,m,u);return b.$shared&&(b.$shared=l,o[r]=Object.freeze(Qf(b,l))),b}_resolveAnimations(t,s,n){const i=this.chart,o=this._cachedDataOpts,r=`animation-${s}`,a=o[r];if(a)return a;let l;if(i.options.animation!==!1){const d=this.chart.config,u=d.datasetAnimationScopeKeys(this._type,s),f=d.getOptionScopes(this.getDataset(),u);l=d.createResolver(f,this.getContext(t,n,s))}const c=new Q_(i,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,s){return!s||Zl(t)||this.chart._animationsDisabled}_getSharedOptions(t,s){const n=this.resolveDataElementOptions(t,s),i=this._sharedOptions,o=this.getSharedOptions(n),r=this.includeOptions(s,o)||o!==i;return this.updateSharedOptions(o,s,n),{sharedOptions:o,includeOptions:r}}updateElement(t,s,n,i){Zl(i)?Object.assign(t,n):this._resolveAnimations(s,i).update(t,n)}updateSharedOptions(t,s,n){t&&!Zl(s)&&this._resolveAnimations(void 0,s).update(t,n)}_setStyle(t,s,n,i){t.active=i;const o=this.getStyle(s,i);this._resolveAnimations(s,n,i).update(t,{options:!i&&this.getSharedOptions(o)||o})}removeHoverStyle(t,s,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,s,n){this._setStyle(t,n,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const s=this._data,n=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const i=n.length,o=s.length,r=Math.min(o,i);r&&this.parse(0,r),o>i?this._insertElements(i,o-i,t):o<i&&this._removeElements(o,i-o)}_insertElements(t,s,n=!0){const i=this._cachedMeta,o=i.data,r=t+s;let a;const l=c=>{for(c.length+=s,a=c.length-1;a>=r;a--)c[a]=c[a-s]};for(l(o),a=t;a<r;++a)o[a]=new this.dataElementType;this._parsing&&l(i._parsed),this.parse(t,s),n&&this.updateElements(o,t,s,"reset")}updateElements(t,s,n,i){}_removeElements(t,s){const n=this._cachedMeta;if(this._parsing){const i=n._parsed.splice(t,s);n._stacked&&lo(n,i)}n.data.splice(t,s)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[s,n,i]=t;this[s](n,i)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,s){s&&this._sync(["_removeElements",t,s]);const n=arguments.length-2;n&&this._sync(["_insertElements",t,n])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}it(os,"defaults",{}),it(os,"datasetElementType",null),it(os,"dataElementType",null);function d2(e,t){if(!e._cache.$bar){const s=e.getMatchingVisibleMetas(t);let n=[];for(let i=0,o=s.length;i<o;i++)n=n.concat(s[i].controller.getAllParsedValues(e));e._cache.$bar=D_(n.sort((i,o)=>i-o))}return e._cache.$bar}function u2(e){const t=e.iScale,s=d2(t,e.type);let n=t._length,i,o,r,a;const l=()=>{r===32767||r===-32768||(Yo(a)&&(n=Math.min(n,Math.abs(r-a)||n)),a=r)};for(i=0,o=s.length;i<o;++i)r=t.getPixelForValue(s[i]),l();for(a=void 0,i=0,o=t.ticks.length;i<o;++i)r=t.getPixelForTick(i),l();return n}function h2(e,t,s,n){const i=s.barThickness;let o,r;return Ft(i)?(o=t.min*s.categoryPercentage,r=s.barPercentage):(o=i*n,r=1),{chunk:o/n,ratio:r,start:t.pixels[e]-o/2}}function f2(e,t,s,n){const i=t.pixels,o=i[e];let r=e>0?i[e-1]:null,a=e<i.length-1?i[e+1]:null;const l=s.categoryPercentage;r===null&&(r=o-(a===null?t.end-t.start:a-o)),a===null&&(a=o+o-r);const c=o-(o-Math.min(r,a))/2*l;return{chunk:Math.abs(a-r)/2*l/n,ratio:s.barPercentage,start:c}}function p2(e,t,s,n){const i=s.parse(e[0],n),o=s.parse(e[1],n),r=Math.min(i,o),a=Math.max(i,o);let l=r,c=a;Math.abs(r)>Math.abs(a)&&(l=a,c=r),t[s.axis]=c,t._custom={barStart:l,barEnd:c,start:i,end:o,min:r,max:a}}function tb(e,t,s,n){return qt(e)?p2(e,t,s,n):t[s.axis]=s.parse(e,n),t}function Zf(e,t,s,n){const i=e.iScale,o=e.vScale,r=i.getLabels(),a=i===o,l=[];let c,d,u,f;for(c=s,d=s+n;c<d;++c)f=t[c],u={},u[i.axis]=a||i.parse(r[c],c),l.push(tb(f,u,o,c));return l}function tc(e){return e&&e.barStart!==void 0&&e.barEnd!==void 0}function g2(e,t,s){return e!==0?_s(e):(t.isHorizontal()?1:-1)*(t.min>=s?1:-1)}function m2(e){let t,s,n,i,o;return e.horizontal?(t=e.base>e.x,s="left",n="right"):(t=e.base<e.y,s="bottom",n="top"),t?(i="end",o="start"):(i="start",o="end"),{start:s,end:n,reverse:t,top:i,bottom:o}}function _2(e,t,s,n){let i=t.borderSkipped;const o={};if(!i){e.borderSkipped=o;return}if(i===!0){e.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:r,end:a,reverse:l,top:c,bottom:d}=m2(e);i==="middle"&&s&&(e.enableBorderRadius=!0,(s._top||0)===n?i=c:(s._bottom||0)===n?i=d:(o[tp(d,r,a,l)]=!0,i=c)),o[tp(i,r,a,l)]=!0,e.borderSkipped=o}function tp(e,t,s,n){return n?(e=b2(e,t,s),e=ep(e,s,t)):e=ep(e,t,s),e}function b2(e,t,s){return e===t?s:e===s?t:e}function ep(e,t,s){return e==="start"?t:e==="end"?s:e}function v2(e,{inflateAmount:t},s){e.inflateAmount=t==="auto"?s===1?.33:0:t}class Lo extends os{parsePrimitiveData(t,s,n,i){return Zf(t,s,n,i)}parseArrayData(t,s,n,i){return Zf(t,s,n,i)}parseObjectData(t,s,n,i){const{iScale:o,vScale:r}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=o.axis==="x"?a:l,d=r.axis==="x"?a:l,u=[];let f,g,m,b;for(f=n,g=n+i;f<g;++f)b=s[f],m={},m[o.axis]=o.parse(_n(b,c),f),u.push(tb(_n(b,d),m,r,f));return u}updateRangeFromParsed(t,s,n,i){super.updateRangeFromParsed(t,s,n,i);const o=n._custom;o&&s===this._cachedMeta.vScale&&(t.min=Math.min(t.min,o.min),t.max=Math.max(t.max,o.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const s=this._cachedMeta,{iScale:n,vScale:i}=s,o=this.getParsed(t),r=o._custom,a=tc(r)?"["+r.start+", "+r.end+"]":""+i.getLabelForValue(o[i.axis]);return{label:""+n.getLabelForValue(o[n.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const s=this._cachedMeta;this.updateElements(s.data,0,s.data.length,t)}updateElements(t,s,n,i){const o=i==="reset",{index:r,_cachedMeta:{vScale:a}}=this,l=a.getBasePixel(),c=a.isHorizontal(),d=this._getRuler(),{sharedOptions:u,includeOptions:f}=this._getSharedOptions(s,i);for(let g=s;g<s+n;g++){const m=this.getParsed(g),b=o||Ft(m[a.axis])?{base:l,head:l}:this._calculateBarValuePixels(g),v=this._calculateBarIndexPixels(g,d),w=(m._stacks||{})[a.axis],E={horizontal:c,base:b.base,enableBorderRadius:!w||tc(m._custom)||r===w._top||r===w._bottom,x:c?b.head:v.center,y:c?v.center:b.head,height:c?v.size:Math.abs(b.size),width:c?Math.abs(b.size):v.size};f&&(E.options=u||this.resolveDataElementOptions(g,t[g].active?"active":i));const $=E.options||t[g].options;_2(E,$,w,r),v2(E,$,d.ratio),this.updateElement(t[g],g,E,i)}}_getStacks(t,s){const{iScale:n}=this._cachedMeta,i=n.getMatchingVisibleMetas(this._type).filter(l=>l.controller.options.grouped),o=n.options.stacked,r=[],a=l=>{const c=l.controller.getParsed(s),d=c&&c[l.vScale.axis];if(Ft(d)||isNaN(d))return!0};for(const l of i)if(!(s!==void 0&&a(l))&&((o===!1||r.indexOf(l.stack)===-1||o===void 0&&l.stack===void 0)&&r.push(l.stack),l.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,s,n){const i=this._getStacks(t,n),o=s!==void 0?i.indexOf(s):-1;return o===-1?i.length-1:o}_getRuler(){const t=this.options,s=this._cachedMeta,n=s.iScale,i=[];let o,r;for(o=0,r=s.data.length;o<r;++o)i.push(n.getPixelForValue(this.getParsed(o)[n.axis],o));const a=t.barThickness;return{min:a||u2(s),pixels:i,start:n._startPixel,end:n._endPixel,stackCount:this._getStackCount(),scale:n,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:s,_stacked:n,index:i},options:{base:o,minBarLength:r}}=this,a=o||0,l=this.getParsed(t),c=l._custom,d=tc(c);let u=l[s.axis],f=0,g=n?this.applyStack(s,l,n):u,m,b;g!==u&&(f=g-u,g=u),d&&(u=c.barStart,g=c.barEnd-c.barStart,u!==0&&_s(u)!==_s(c.barEnd)&&(f=0),f+=u);const v=!Ft(o)&&!d?o:f;let w=s.getPixelForValue(v);if(this.chart.getDataVisibility(t)?m=s.getPixelForValue(f+g):m=w,b=m-w,Math.abs(b)<r){b=g2(b,s,a)*r,u===a&&(w-=b/2);const E=s.getPixelForDecimal(0),$=s.getPixelForDecimal(1),T=Math.min(E,$),y=Math.max(E,$);w=Math.max(Math.min(w,y),T),m=w+b,n&&!d&&(l._stacks[s.axis]._visualValues[i]=s.getValueForPixel(m)-s.getValueForPixel(w))}if(w===s.getPixelForValue(a)){const E=_s(b)*s.getLineWidthForValue(a)/2;w+=E,b-=E}return{size:b,base:w,head:m,center:m+b/2}}_calculateBarIndexPixels(t,s){const n=s.scale,i=this.options,o=i.skipNull,r=St(i.maxBarThickness,1/0);let a,l;if(s.grouped){const c=o?this._getStackCount(t):s.stackCount,d=i.barThickness==="flex"?f2(t,s,i,c):h2(t,s,i,c),u=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0);a=d.start+d.chunk*u+d.chunk/2,l=Math.min(r,d.chunk*d.ratio)}else a=n.getPixelForValue(this.getParsed(t)[n.axis],t),l=Math.min(r,s.min*s.ratio);return{base:a-l/2,head:a+l/2,center:a,size:l}}draw(){const t=this._cachedMeta,s=t.vScale,n=t.data,i=n.length;let o=0;for(;o<i;++o)this.getParsed(o)[s.axis]!==null&&n[o].draw(this._ctx)}}it(Lo,"id","bar"),it(Lo,"defaults",{datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}}),it(Lo,"overrides",{scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}});class la extends os{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,s,n,i){const o=super.parsePrimitiveData(t,s,n,i);for(let r=0;r<o.length;r++)o[r]._custom=this.resolveDataElementOptions(r+n).radius;return o}parseArrayData(t,s,n,i){const o=super.parseArrayData(t,s,n,i);for(let r=0;r<o.length;r++){const a=s[n+r];o[r]._custom=St(a[2],this.resolveDataElementOptions(r+n).radius)}return o}parseObjectData(t,s,n,i){const o=super.parseObjectData(t,s,n,i);for(let r=0;r<o.length;r++){const a=s[n+r];o[r]._custom=St(a&&a.r&&+a.r,this.resolveDataElementOptions(r+n).radius)}return o}getMaxOverflow(){const t=this._cachedMeta.data;let s=0;for(let n=t.length-1;n>=0;--n)s=Math.max(s,t[n].size(this.resolveDataElementOptions(n))/2);return s>0&&s}getLabelAndValue(t){const s=this._cachedMeta,n=this.chart.data.labels||[],{xScale:i,yScale:o}=s,r=this.getParsed(t),a=i.getLabelForValue(r.x),l=o.getLabelForValue(r.y),c=r._custom;return{label:n[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const s=this._cachedMeta.data;this.updateElements(s,0,s.length,t)}updateElements(t,s,n,i){const o=i==="reset",{iScale:r,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(s,i),d=r.axis,u=a.axis;for(let f=s;f<s+n;f++){const g=t[f],m=!o&&this.getParsed(f),b={},v=b[d]=o?r.getPixelForDecimal(.5):r.getPixelForValue(m[d]),w=b[u]=o?a.getBasePixel():a.getPixelForValue(m[u]);b.skip=isNaN(v)||isNaN(w),c&&(b.options=l||this.resolveDataElementOptions(f,g.active?"active":i),o&&(b.options.radius=0)),this.updateElement(g,f,b,i)}}resolveDataElementOptions(t,s){const n=this.getParsed(t);let i=super.resolveDataElementOptions(t,s);i.$shared&&(i=Object.assign({},i,{$shared:!1}));const o=i.radius;return s!=="active"&&(i.radius=0),i.radius+=St(n&&n._custom,o),i}}it(la,"id","bubble"),it(la,"defaults",{datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}}),it(la,"overrides",{scales:{x:{type:"linear"},y:{type:"linear"}}});function y2(e,t,s){let n=1,i=1,o=0,r=0;if(t<Gt){const a=e,l=a+t,c=Math.cos(a),d=Math.sin(a),u=Math.cos(l),f=Math.sin(l),g=($,T,y)=>qo($,a,l,!0)?1:Math.max(T,T*s,y,y*s),m=($,T,y)=>qo($,a,l,!0)?-1:Math.min(T,T*s,y,y*s),b=g(0,c,u),v=g(te,d,f),w=m(Xt,c,u),E=m(Xt+te,d,f);n=(b-w)/2,i=(v-E)/2,o=-(b+w)/2,r=-(v+E)/2}return{ratioX:n,ratioY:i,offsetX:o,offsetY:r}}class vi extends os{constructor(t,s){super(t,s),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,s){const n=this.getDataset().data,i=this._cachedMeta;if(this._parsing===!1)i._parsed=n;else{let o=l=>+n[l];if(It(n[t])){const{key:l="value"}=this._parsing;o=c=>+_n(n[c],l)}let r,a;for(r=t,a=t+s;r<a;++r)i._parsed[r]=o(r)}}_getRotation(){return ns(this.options.rotation-90)}_getCircumference(){return ns(this.options.circumference)}_getRotationExtents(){let t=Gt,s=-Gt;for(let n=0;n<this.chart.data.datasets.length;++n)if(this.chart.isDatasetVisible(n)&&this.chart.getDatasetMeta(n).type===this._type){const i=this.chart.getDatasetMeta(n).controller,o=i._getRotation(),r=i._getCircumference();t=Math.min(t,o),s=Math.max(s,o+r)}return{rotation:t,circumference:s-t}}update(t){const s=this.chart,{chartArea:n}=s,i=this._cachedMeta,o=i.data,r=this.getMaxBorderWidth()+this.getMaxOffset(o)+this.options.spacing,a=Math.max((Math.min(n.width,n.height)-r)/2,0),l=Math.min(ID(this.options.cutout,a),1),c=this._getRingWeight(this.index),{circumference:d,rotation:u}=this._getRotationExtents(),{ratioX:f,ratioY:g,offsetX:m,offsetY:b}=y2(u,d,l),v=(n.width-r)/f,w=(n.height-r)/g,E=Math.max(Math.min(v,w)/2,0),$=P_(this.options.radius,E),T=Math.max($*l,0),y=($-T)/this._getVisibleDatasetWeightTotal();this.offsetX=m*$,this.offsetY=b*$,i.total=this.calculateTotal(),this.outerRadius=$-y*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-y*c,0),this.updateElements(o,0,o.length,t)}_circumference(t,s){const n=this.options,i=this._cachedMeta,o=this._getCircumference();return s&&n.animation.animateRotate||!this.chart.getDataVisibility(t)||i._parsed[t]===null||i.data[t].hidden?0:this.calculateCircumference(i._parsed[t]*o/Gt)}updateElements(t,s,n,i){const o=i==="reset",r=this.chart,a=r.chartArea,c=r.options.animation,d=(a.left+a.right)/2,u=(a.top+a.bottom)/2,f=o&&c.animateScale,g=f?0:this.innerRadius,m=f?0:this.outerRadius,{sharedOptions:b,includeOptions:v}=this._getSharedOptions(s,i);let w=this._getRotation(),E;for(E=0;E<s;++E)w+=this._circumference(E,o);for(E=s;E<s+n;++E){const $=this._circumference(E,o),T=t[E],y={x:d+this.offsetX,y:u+this.offsetY,startAngle:w,endAngle:w+$,circumference:$,outerRadius:m,innerRadius:g};v&&(y.options=b||this.resolveDataElementOptions(E,T.active?"active":i)),w+=$,this.updateElement(T,E,y,i)}}calculateTotal(){const t=this._cachedMeta,s=t.data;let n=0,i;for(i=0;i<s.length;i++){const o=t._parsed[i];o!==null&&!isNaN(o)&&this.chart.getDataVisibility(i)&&!s[i].hidden&&(n+=Math.abs(o))}return n}calculateCircumference(t){const s=this._cachedMeta.total;return s>0&&!isNaN(t)?Gt*(Math.abs(t)/s):0}getLabelAndValue(t){const s=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=lr(s._parsed[t],n.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let s=0;const n=this.chart;let i,o,r,a,l;if(!t){for(i=0,o=n.data.datasets.length;i<o;++i)if(n.isDatasetVisible(i)){r=n.getDatasetMeta(i),t=r.data,a=r.controller;break}}if(!t)return 0;for(i=0,o=t.length;i<o;++i)l=a.resolveDataElementOptions(i),l.borderAlign!=="inner"&&(s=Math.max(s,l.borderWidth||0,l.hoverBorderWidth||0));return s}getMaxOffset(t){let s=0;for(let n=0,i=t.length;n<i;++n){const o=this.resolveDataElementOptions(n);s=Math.max(s,o.offset||0,o.hoverOffset||0)}return s}_getRingWeightOffset(t){let s=0;for(let n=0;n<t;++n)this.chart.isDatasetVisible(n)&&(s+=this._getRingWeight(n));return s}_getRingWeight(t){return Math.max(St(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}it(vi,"id","doughnut"),it(vi,"defaults",{datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"}),it(vi,"descriptors",{_scriptable:t=>t!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),it(vi,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const s=t.data;if(s.labels.length&&s.datasets.length){const{labels:{pointStyle:n,color:i}}=t.legend.options;return s.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:i,lineWidth:l.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,s,n){n.chart.toggleDataVisibility(s.index),n.chart.update()}}}});class Ro extends os{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const s=this._cachedMeta,{dataset:n,data:i=[],_dataset:o}=s,r=this.chart._animationsDisabled;let{start:a,count:l}=R_(s,i,r);this._drawStart=a,this._drawCount=l,N_(s)&&(a=0,l=i.length),n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(n,void 0,{animated:!r,options:c},t),this.updateElements(i,a,l,t)}updateElements(t,s,n,i){const o=i==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:d,includeOptions:u}=this._getSharedOptions(s,i),f=r.axis,g=a.axis,{spanGaps:m,segment:b}=this.options,v=zi(m)?m:Number.POSITIVE_INFINITY,w=this.chart._animationsDisabled||o||i==="none",E=s+n,$=t.length;let T=s>0&&this.getParsed(s-1);for(let y=0;y<$;++y){const x=t[y],C=w?x:{};if(y<s||y>=E){C.skip=!0;continue}const S=this.getParsed(y),P=Ft(S[g]),M=C[f]=r.getPixelForValue(S[f],y),I=C[g]=o||P?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,S,l):S[g],y);C.skip=isNaN(M)||isNaN(I)||P,C.stop=y>0&&Math.abs(S[f]-T[f])>v,b&&(C.parsed=S,C.raw=c.data[y]),u&&(C.options=d||this.resolveDataElementOptions(y,x.active?"active":i)),w||this.updateElement(x,y,C,i),T=S}}getMaxOverflow(){const t=this._cachedMeta,s=t.dataset,n=s.options&&s.options.borderWidth||0,i=t.data||[];if(!i.length)return n;const o=i[0].size(this.resolveDataElementOptions(0)),r=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(n,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}it(Ro,"id","line"),it(Ro,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),it(Ro,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class ca extends os{constructor(t,s){super(t,s),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const s=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=lr(s._parsed[t].r,n.options.locale);return{label:i[t]||"",value:o}}parseObjectData(t,s,n,i){return U_.bind(this)(t,s,n,i)}update(t){const s=this._cachedMeta.data;this._updateRadius(),this.updateElements(s,0,s.length,t)}getMinMax(){const t=this._cachedMeta,s={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((n,i)=>{const o=this.getParsed(i).r;!isNaN(o)&&this.chart.getDataVisibility(i)&&(o<s.min&&(s.min=o),o>s.max&&(s.max=o))}),s}_updateRadius(){const t=this.chart,s=t.chartArea,n=t.options,i=Math.min(s.right-s.left,s.bottom-s.top),o=Math.max(i/2,0),r=Math.max(n.cutoutPercentage?o/100*n.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,s,n,i){const o=i==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,d=c.xCenter,u=c.yCenter,f=c.getIndexAngle(0)-.5*Xt;let g=f,m;const b=360/this.countVisibleElements();for(m=0;m<s;++m)g+=this._computeAngle(m,i,b);for(m=s;m<s+n;m++){const v=t[m];let w=g,E=g+this._computeAngle(m,i,b),$=r.getDataVisibility(m)?c.getDistanceFromCenterForValue(this.getParsed(m).r):0;g=E,o&&(l.animateScale&&($=0),l.animateRotate&&(w=E=f));const T={x:d,y:u,innerRadius:0,outerRadius:$,startAngle:w,endAngle:E,options:this.resolveDataElementOptions(m,v.active?"active":i)};this.updateElement(v,m,T,i)}}countVisibleElements(){const t=this._cachedMeta;let s=0;return t.data.forEach((n,i)=>{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&s++}),s}_computeAngle(t,s,n){return this.chart.getDataVisibility(t)?ns(this.resolveDataElementOptions(t,s).angle||n):0}}it(ca,"id","polarArea"),it(ca,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),it(ca,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const s=t.data;if(s.labels.length&&s.datasets.length){const{labels:{pointStyle:n,color:i}}=t.legend.options;return s.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:i,lineWidth:l.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,s,n){n.chart.toggleDataVisibility(s.index),n.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class Nc extends vi{}it(Nc,"id","pie"),it(Nc,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class da extends os{getLabelAndValue(t){const s=this._cachedMeta.vScale,n=this.getParsed(t);return{label:s.getLabels()[t],value:""+s.getLabelForValue(n[s.axis])}}parseObjectData(t,s,n,i){return U_.bind(this)(t,s,n,i)}update(t){const s=this._cachedMeta,n=s.dataset,i=s.data||[],o=s.iScale.getLabels();if(n.points=i,t!=="resize"){const r=this.resolveDatasetElementOptions(t);this.options.showLine||(r.borderWidth=0);const a={_loop:!0,_fullLoop:o.length===i.length,options:r};this.updateElement(n,void 0,a,t)}this.updateElements(i,0,i.length,t)}updateElements(t,s,n,i){const o=this._cachedMeta.rScale,r=i==="reset";for(let a=s;a<s+n;a++){const l=t[a],c=this.resolveDataElementOptions(a,l.active?"active":i),d=o.getPointPositionForValue(a,this.getParsed(a).r),u=r?o.xCenter:d.x,f=r?o.yCenter:d.y,g={x:u,y:f,angle:d.angle,skip:isNaN(u)||isNaN(f),options:c};this.updateElement(l,a,g,i)}}}it(da,"id","radar"),it(da,"defaults",{datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}}),it(da,"overrides",{aspectRatio:1,scales:{r:{type:"radialLinear"}}});class ua extends os{getLabelAndValue(t){const s=this._cachedMeta,n=this.chart.data.labels||[],{xScale:i,yScale:o}=s,r=this.getParsed(t),a=i.getLabelForValue(r.x),l=o.getLabelForValue(r.y);return{label:n[t]||"",value:"("+a+", "+l+")"}}update(t){const s=this._cachedMeta,{data:n=[]}=s,i=this.chart._animationsDisabled;let{start:o,count:r}=R_(s,n,i);if(this._drawStart=o,this._drawCount=r,N_(s)&&(o=0,r=n.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:a,_dataset:l}=s;a._chart=this.chart,a._datasetIndex=this.index,a._decimated=!!l._decimated,a.points=n;const c=this.resolveDatasetElementOptions(t);c.segment=this.options.segment,this.updateElement(a,void 0,{animated:!i,options:c},t)}else this.datasetElementType&&(delete s.dataset,this.datasetElementType=!1);this.updateElements(n,o,r,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,s,n,i){const o=i==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,d=this.resolveDataElementOptions(s,i),u=this.getSharedOptions(d),f=this.includeOptions(i,u),g=r.axis,m=a.axis,{spanGaps:b,segment:v}=this.options,w=zi(b)?b:Number.POSITIVE_INFINITY,E=this.chart._animationsDisabled||o||i==="none";let $=s>0&&this.getParsed(s-1);for(let T=s;T<s+n;++T){const y=t[T],x=this.getParsed(T),C=E?y:{},S=Ft(x[m]),P=C[g]=r.getPixelForValue(x[g],T),M=C[m]=o||S?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,x,l):x[m],T);C.skip=isNaN(P)||isNaN(M)||S,C.stop=T>0&&Math.abs(x[g]-$[g])>w,v&&(C.parsed=x,C.raw=c.data[T]),f&&(C.options=u||this.resolveDataElementOptions(T,y.active?"active":i)),E||this.updateElement(y,T,C,i),$=x}this.updateSharedOptions(u,i,d)}getMaxOverflow(){const t=this._cachedMeta,s=t.data||[];if(!this.options.showLine){let a=0;for(let l=s.length-1;l>=0;--l)a=Math.max(a,s[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const n=t.dataset,i=n.options&&n.options.borderWidth||0;if(!s.length)return i;const o=s[0].size(this.resolveDataElementOptions(0)),r=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,o,r)/2}}it(ua,"id","scatter"),it(ua,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),it(ua,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function Fn(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class lu{constructor(t){it(this,"options");this.options=t||{}}static override(t){Object.assign(lu.prototype,t)}init(){}formats(){return Fn()}parse(){return Fn()}format(){return Fn()}add(){return Fn()}diff(){return Fn()}startOf(){return Fn()}endOf(){return Fn()}}var x2={_date:lu};function w2(e,t,s,n){const{controller:i,data:o,_sorted:r}=e,a=i._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?KD:Ds;if(n){if(i._sharedOptions){const c=o[0],d=typeof c.getRange=="function"&&c.getRange(t);if(d){const u=l(o,t,s-d),f=l(o,t,s+d);return{lo:u.lo,hi:f.hi}}}}else return l(o,t,s)}return{lo:0,hi:o.length-1}}function cr(e,t,s,n,i){const o=e.getSortedVisibleDatasetMetas(),r=s[t];for(let a=0,l=o.length;a<l;++a){const{index:c,data:d}=o[a],{lo:u,hi:f}=w2(o[a],t,r,i);for(let g=u;g<=f;++g){const m=d[g];m.skip||n(m,c,g)}}}function E2(e){const t=e.indexOf("x")!==-1,s=e.indexOf("y")!==-1;return function(n,i){const o=t?Math.abs(n.x-i.x):0,r=s?Math.abs(n.y-i.y):0;return Math.sqrt(Math.pow(o,2)+Math.pow(r,2))}}function ec(e,t,s,n,i){const o=[];return!i&&!e.isPointInArea(t)||cr(e,s,t,function(a,l,c){!i&&!Is(a,e.chartArea,0)||a.inRange(t.x,t.y,n)&&o.push({element:a,datasetIndex:l,index:c})},!0),o}function S2(e,t,s,n){let i=[];function o(r,a,l){const{startAngle:c,endAngle:d}=r.getProps(["startAngle","endAngle"],n),{angle:u}=M_(r,{x:t.x,y:t.y});qo(u,c,d)&&i.push({element:r,datasetIndex:a,index:l})}return cr(e,s,t,o),i}function A2(e,t,s,n,i,o){let r=[];const a=E2(s);let l=Number.POSITIVE_INFINITY;function c(d,u,f){const g=d.inRange(t.x,t.y,i);if(n&&!g)return;const m=d.getCenterPoint(i);if(!(!!o||e.isPointInArea(m))&&!g)return;const v=a(t,m);v<l?(r=[{element:d,datasetIndex:u,index:f}],l=v):v===l&&r.push({element:d,datasetIndex:u,index:f})}return cr(e,s,t,c),r}function sc(e,t,s,n,i,o){return!o&&!e.isPointInArea(t)?[]:s==="r"&&!n?S2(e,t,s,i):A2(e,t,s,n,i,o)}function sp(e,t,s,n,i){const o=[],r=s==="x"?"inXRange":"inYRange";let a=!1;return cr(e,s,t,(l,c,d)=>{l[r](t[s],i)&&(o.push({element:l,datasetIndex:c,index:d}),a=a||l.inRange(t.x,t.y,i))}),n&&!a?[]:o}var C2={evaluateInteractionItems:cr,modes:{index(e,t,s,n){const i=Vn(t,e),o=s.axis||"x",r=s.includeInvisible||!1,a=s.intersect?ec(e,i,o,n,r):sc(e,i,o,!1,n,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const d=a[0].index,u=c.data[d];u&&!u.skip&&l.push({element:u,datasetIndex:c.index,index:d})}),l):[]},dataset(e,t,s,n){const i=Vn(t,e),o=s.axis||"xy",r=s.includeInvisible||!1;let a=s.intersect?ec(e,i,o,n,r):sc(e,i,o,!1,n,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let d=0;d<c.length;++d)a.push({element:c[d],datasetIndex:l,index:d})}return a},point(e,t,s,n){const i=Vn(t,e),o=s.axis||"xy",r=s.includeInvisible||!1;return ec(e,i,o,n,r)},nearest(e,t,s,n){const i=Vn(t,e),o=s.axis||"xy",r=s.includeInvisible||!1;return sc(e,i,o,s.intersect,n,r)},x(e,t,s,n){const i=Vn(t,e);return sp(e,i,"x",s.intersect,n)},y(e,t,s,n){const i=Vn(t,e);return sp(e,i,"y",s.intersect,n)}}};const eb=["left","top","right","bottom"];function co(e,t){return e.filter(s=>s.pos===t)}function np(e,t){return e.filter(s=>eb.indexOf(s.pos)===-1&&s.box.axis===t)}function uo(e,t){return e.sort((s,n)=>{const i=t?n:s,o=t?s:n;return i.weight===o.weight?i.index-o.index:i.weight-o.weight})}function $2(e){const t=[];let s,n,i,o,r,a;for(s=0,n=(e||[]).length;s<n;++s)i=e[s],{position:o,options:{stack:r,stackWeight:a=1}}=i,t.push({index:s,box:i,pos:o,horizontal:i.isHorizontal(),weight:i.weight,stack:r&&o+r,stackWeight:a});return t}function P2(e){const t={};for(const s of e){const{stack:n,pos:i,stackWeight:o}=s;if(!n||!eb.includes(i))continue;const r=t[n]||(t[n]={count:0,placed:0,weight:0,size:0});r.count++,r.weight+=o}return t}function k2(e,t){const s=P2(e),{vBoxMaxWidth:n,hBoxMaxHeight:i}=t;let o,r,a;for(o=0,r=e.length;o<r;++o){a=e[o];const{fullSize:l}=a.box,c=s[a.stack],d=c&&a.stackWeight/c.weight;a.horizontal?(a.width=d?d*n:l&&t.availableWidth,a.height=i):(a.width=n,a.height=d?d*i:l&&t.availableHeight)}return s}function T2(e){const t=$2(e),s=uo(t.filter(c=>c.box.fullSize),!0),n=uo(co(t,"left"),!0),i=uo(co(t,"right")),o=uo(co(t,"top"),!0),r=uo(co(t,"bottom")),a=np(t,"x"),l=np(t,"y");return{fullSize:s,leftAndTop:n.concat(o),rightAndBottom:i.concat(l).concat(r).concat(a),chartArea:co(t,"chartArea"),vertical:n.concat(i).concat(l),horizontal:o.concat(r).concat(a)}}function ip(e,t,s,n){return Math.max(e[s],t[s])+Math.max(e[n],t[n])}function sb(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function M2(e,t,s,n){const{pos:i,box:o}=s,r=e.maxPadding;if(!It(i)){s.size&&(e[i]-=s.size);const u=n[s.stack]||{size:0,count:1};u.size=Math.max(u.size,s.horizontal?o.height:o.width),s.size=u.size/u.count,e[i]+=s.size}o.getPadding&&sb(r,o.getPadding());const a=Math.max(0,t.outerWidth-ip(r,e,"left","right")),l=Math.max(0,t.outerHeight-ip(r,e,"top","bottom")),c=a!==e.w,d=l!==e.h;return e.w=a,e.h=l,s.horizontal?{same:c,other:d}:{same:d,other:c}}function O2(e){const t=e.maxPadding;function s(n){const i=Math.max(t[n]-e[n],0);return e[n]+=i,i}e.y+=s("top"),e.x+=s("left"),s("right"),s("bottom")}function D2(e,t){const s=t.maxPadding;function n(i){const o={left:0,top:0,right:0,bottom:0};return i.forEach(r=>{o[r]=Math.max(t[r],s[r])}),o}return n(e?["left","right"]:["top","bottom"])}function bo(e,t,s,n){const i=[];let o,r,a,l,c,d;for(o=0,r=e.length,c=0;o<r;++o){a=e[o],l=a.box,l.update(a.width||t.w,a.height||t.h,D2(a.horizontal,t));const{same:u,other:f}=M2(t,s,a,n);c|=u&&i.length,d=d||f,l.fullSize||i.push(a)}return c&&bo(i,t,s,n)||d}function zr(e,t,s,n,i){e.top=s,e.left=t,e.right=t+n,e.bottom=s+i,e.width=n,e.height=i}function op(e,t,s,n){const i=s.padding;let{x:o,y:r}=t;for(const a of e){const l=a.box,c=n[a.stack]||{count:1,placed:0,weight:1},d=a.stackWeight/c.weight||1;if(a.horizontal){const u=t.w*d,f=c.size||l.height;Yo(c.start)&&(r=c.start),l.fullSize?zr(l,i.left,r,s.outerWidth-i.right-i.left,f):zr(l,t.left+c.placed,r,u,f),c.start=r,c.placed+=u,r=l.bottom}else{const u=t.h*d,f=c.size||l.width;Yo(c.start)&&(o=c.start),l.fullSize?zr(l,o,i.top,f,s.outerHeight-i.bottom-i.top):zr(l,o,t.top+c.placed,f,u),c.start=o,c.placed+=u,o=l.right}}t.x=o,t.y=r}var Ge={addBox(e,t){e.boxes||(e.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(s){t.draw(s)}}]},e.boxes.push(t)},removeBox(e,t){const s=e.boxes?e.boxes.indexOf(t):-1;s!==-1&&e.boxes.splice(s,1)},configure(e,t,s){t.fullSize=s.fullSize,t.position=s.position,t.weight=s.weight},update(e,t,s,n){if(!e)return;const i=be(e.options.layout.padding),o=Math.max(t-i.width,0),r=Math.max(s-i.height,0),a=T2(e.boxes),l=a.vertical,c=a.horizontal;zt(e.boxes,b=>{typeof b.beforeLayout=="function"&&b.beforeLayout()});const d=l.reduce((b,v)=>v.box.options&&v.box.options.display===!1?b:b+1,0)||1,u=Object.freeze({outerWidth:t,outerHeight:s,padding:i,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/d,hBoxMaxHeight:r/2}),f=Object.assign({},i);sb(f,be(n));const g=Object.assign({maxPadding:f,w:o,h:r,x:i.left,y:i.top},i),m=k2(l.concat(c),u);bo(a.fullSize,g,u,m),bo(l,g,u,m),bo(c,g,u,m)&&bo(l,g,u,m),O2(g),op(a.leftAndTop,g,u,m),g.x+=g.w,g.y+=g.h,op(a.rightAndBottom,g,u,m),e.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},zt(a.chartArea,b=>{const v=b.box;Object.assign(v,e.chartArea),v.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})})}};class nb{acquireContext(t,s){}releaseContext(t){return!1}addEventListener(t,s,n){}removeEventListener(t,s,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,s,n,i){return s=Math.max(0,s||t.width),n=n||t.height,{width:s,height:Math.max(0,i?Math.floor(s/i):n)}}isAttached(t){return!0}updateConfig(t){}}class I2 extends nb{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ha="$chartjs",L2={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},rp=e=>e===null||e==="";function R2(e,t){const s=e.style,n=e.getAttribute("height"),i=e.getAttribute("width");if(e[ha]={initial:{height:n,width:i,style:{display:s.display,height:s.height,width:s.width}}},s.display=s.display||"block",s.boxSizing=s.boxSizing||"border-box",rp(i)){const o=jf(e,"width");o!==void 0&&(e.width=o)}if(rp(n))if(e.style.height==="")e.height=e.width/(t||2);else{const o=jf(e,"height");o!==void 0&&(e.height=o)}return e}const ib=BI?{passive:!0}:!1;function N2(e,t,s){e.addEventListener(t,s,ib)}function F2(e,t,s){e.canvas.removeEventListener(t,s,ib)}function B2(e,t){const s=L2[e.type]||e.type,{x:n,y:i}=Vn(e,t);return{type:s,chart:t,native:e,x:n!==void 0?n:null,y:i!==void 0?i:null}}function Da(e,t){for(const s of e)if(s===t||s.contains(t))return!0}function V2(e,t,s){const n=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Da(a.addedNodes,n),r=r&&!Da(a.removedNodes,n);r&&s()});return i.observe(document,{childList:!0,subtree:!0}),i}function H2(e,t,s){const n=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Da(a.removedNodes,n),r=r&&!Da(a.addedNodes,n);r&&s()});return i.observe(document,{childList:!0,subtree:!0}),i}const Xo=new Map;let ap=0;function ob(){const e=window.devicePixelRatio;e!==ap&&(ap=e,Xo.forEach((t,s)=>{s.currentDevicePixelRatio!==e&&t()}))}function j2(e,t){Xo.size||window.addEventListener("resize",ob),Xo.set(e,t)}function W2(e){Xo.delete(e),Xo.size||window.removeEventListener("resize",ob)}function z2(e,t,s){const n=e.canvas,i=n&&au(n);if(!i)return;const o=L_((a,l)=>{const c=i.clientWidth;s(a,l),c<i.clientWidth&&s()},window),r=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,d=l.contentRect.height;c===0&&d===0||o(c,d)});return r.observe(i),j2(e,o),r}function nc(e,t,s){s&&s.disconnect(),t==="resize"&&W2(e)}function U2(e,t,s){const n=e.canvas,i=L_(o=>{e.ctx!==null&&s(B2(o,e))},e);return N2(n,t,i),i}class K2 extends nb{acquireContext(t,s){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(R2(t,s),n):null}releaseContext(t){const s=t.canvas;if(!s[ha])return!1;const n=s[ha].initial;["height","width"].forEach(o=>{const r=n[o];Ft(r)?s.removeAttribute(o):s.setAttribute(o,r)});const i=n.style||{};return Object.keys(i).forEach(o=>{s.style[o]=i[o]}),s.width=s.width,delete s[ha],!0}addEventListener(t,s,n){this.removeEventListener(t,s);const i=t.$proxies||(t.$proxies={}),r={attach:V2,detach:H2,resize:z2}[s]||U2;i[s]=r(t,s,n)}removeEventListener(t,s){const n=t.$proxies||(t.$proxies={}),i=n[s];if(!i)return;({attach:nc,detach:nc,resize:nc}[s]||F2)(t,s,i),n[s]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,s,n,i){return FI(t,s,n,i)}isAttached(t){const s=au(t);return!!(s&&s.isConnected)}}function Y2(e){return!ru()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?I2:K2}var Qr;let js=(Qr=class{constructor(){it(this,"x");it(this,"y");it(this,"active",!1);it(this,"options");it(this,"$animations")}tooltipPosition(t){const{x:s,y:n}=this.getProps(["x","y"],t);return{x:s,y:n}}hasValue(){return zi(this.x)&&zi(this.y)}getProps(t,s){const n=this.$animations;if(!s||!n)return this;const i={};return t.forEach(o=>{i[o]=n[o]&&n[o].active()?n[o]._to:this[o]}),i}},it(Qr,"defaults",{}),it(Qr,"defaultRoutes"),Qr);function q2(e,t){const s=e.options.ticks,n=G2(e),i=Math.min(s.maxTicksLimit||n,n),o=s.major.enabled?J2(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>i)return Q2(t,c,o,r/i),c;const d=X2(o,t,i);if(r>0){let u,f;const g=r>1?Math.round((l-a)/(r-1)):null;for(Ur(t,c,d,Ft(g)?0:a-g,a),u=0,f=r-1;u<f;u++)Ur(t,c,d,o[u],o[u+1]);return Ur(t,c,d,l,Ft(g)?t.length:l+g),c}return Ur(t,c,d),c}function G2(e){const t=e.options.offset,s=e._tickSize(),n=e._length/s+(t?0:1),i=e._maxLength/s;return Math.floor(Math.min(n,i))}function X2(e,t,s){const n=Z2(e),i=t.length/s;if(!n)return Math.max(i,1);const o=jD(n);for(let r=0,a=o.length-1;r<a;r++){const l=o[r];if(l>i)return l}return Math.max(i,1)}function J2(e){const t=[];let s,n;for(s=0,n=e.length;s<n;s++)e[s].major&&t.push(s);return t}function Q2(e,t,s,n){let i=0,o=s[0],r;for(n=Math.ceil(n),r=0;r<e.length;r++)r===o&&(t.push(e[r]),i++,o=s[i*n])}function Ur(e,t,s,n,i){const o=St(n,0),r=Math.min(St(i,e.length),e.length);let a=0,l,c,d;for(s=Math.ceil(s),i&&(l=i-n,s=l/Math.floor(l/s)),d=o;d<0;)a++,d=Math.round(o+a*s);for(c=Math.max(o,0);c<r;c++)c===d&&(t.push(e[c]),a++,d=Math.round(o+a*s))}function Z2(e){const t=e.length;let s,n;if(t<2)return!1;for(n=e[0],s=1;s<t;++s)if(e[s]-e[s-1]!==n)return!1;return n}const tL=e=>e==="left"?"right":e==="right"?"left":e,lp=(e,t,s)=>t==="top"||t==="left"?e[t]+s:e[t]-s,cp=(e,t)=>Math.min(t||e,e);function dp(e,t){const s=[],n=e.length/t,i=e.length;let o=0;for(;o<i;o+=n)s.push(e[Math.floor(o)]);return s}function eL(e,t,s){const n=e.ticks.length,i=Math.min(t,n-1),o=e._startPixel,r=e._endPixel,a=1e-6;let l=e.getPixelForTick(i),c;if(!(s&&(n===1?c=Math.max(l-o,r-l):t===0?c=(e.getPixelForTick(1)-l)/2:c=(l-e.getPixelForTick(i-1))/2,l+=i<t?c:-c,l<o-a||l>r+a)))return l}function sL(e,t){zt(e,s=>{const n=s.gc,i=n.length/2;let o;if(i>t){for(o=0;o<i;++o)delete s.data[n[o]];n.splice(0,i)}})}function ho(e){return e.drawTicks?e.tickLength:0}function up(e,t){if(!e.display)return 0;const s=re(e.font,t),n=be(e.padding);return(qt(e.text)?e.text.length:1)*s.lineHeight+n.height}function nL(e,t){return En(e,{scale:t,type:"scale"})}function iL(e,t,s){return En(e,{tick:s,index:t,type:"tick"})}function oL(e,t,s){let n=tu(e);return(s&&t!=="right"||!s&&t==="right")&&(n=tL(n)),n}function rL(e,t,s,n){const{top:i,left:o,bottom:r,right:a,chart:l}=e,{chartArea:c,scales:d}=l;let u=0,f,g,m;const b=r-i,v=a-o;if(e.isHorizontal()){if(g=ge(n,o,a),It(s)){const w=Object.keys(s)[0],E=s[w];m=d[w].getPixelForValue(E)+b-t}else s==="center"?m=(c.bottom+c.top)/2+b-t:m=lp(e,s,t);f=a-o}else{if(It(s)){const w=Object.keys(s)[0],E=s[w];g=d[w].getPixelForValue(E)-v+t}else s==="center"?g=(c.left+c.right)/2-v+t:g=lp(e,s,t);m=ge(n,r,i),u=s==="left"?-te:te}return{titleX:g,titleY:m,maxWidth:f,rotation:u}}class ni extends js{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,s){return t}getUserBounds(){let{_userMin:t,_userMax:s,_suggestedMin:n,_suggestedMax:i}=this;return t=Oe(t,Number.POSITIVE_INFINITY),s=Oe(s,Number.NEGATIVE_INFINITY),n=Oe(n,Number.POSITIVE_INFINITY),i=Oe(i,Number.NEGATIVE_INFINITY),{min:Oe(t,n),max:Oe(s,i),minDefined:Qt(t),maxDefined:Qt(s)}}getMinMax(t){let{min:s,max:n,minDefined:i,maxDefined:o}=this.getUserBounds(),r;if(i&&o)return{min:s,max:n};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)r=a[l].controller.getMinMax(this,t),i||(s=Math.min(s,r.min)),o||(n=Math.max(n,r.max));return s=o&&s>n?n:s,n=i&&s>n?s:n,{min:Oe(s,Oe(n,s)),max:Oe(n,Oe(s,n))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Kt(this.options.beforeUpdate,[this])}update(t,s,n){const{beginAtZero:i,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=s,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=mI(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?dp(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),r.display&&(r.autoSkip||r.source==="auto")&&(this.ticks=q2(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,s,n;this.isHorizontal()?(s=this.left,n=this.right):(s=this.top,n=this.bottom,t=!t),this._startPixel=s,this._endPixel=n,this._reversePixels=t,this._length=n-s,this._alignToPixels=this.options.alignToPixels}afterUpdate(){Kt(this.options.afterUpdate,[this])}beforeSetDimensions(){Kt(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){Kt(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),Kt(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){Kt(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const s=this.options.ticks;let n,i,o;for(n=0,i=t.length;n<i;n++)o=t[n],o.label=Kt(s.callback,[o.value,n,t],this)}afterTickToLabelConversion(){Kt(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){Kt(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,s=t.ticks,n=cp(this.ticks.length,t.ticks.maxTicksLimit),i=s.minRotation||0,o=s.maxRotation;let r=i,a,l,c;if(!this._isVisible()||!s.display||i>=o||n<=1||!this.isHorizontal()){this.labelRotation=i;return}const d=this._getLabelSizes(),u=d.widest.width,f=d.highest.height,g=de(this.chart.width-u,0,this.maxWidth);a=t.offset?this.maxWidth/n:g/(n-1),u+6>a&&(a=g/(n-(t.offset?.5:1)),l=this.maxHeight-ho(t.grid)-s.padding-up(t.title,this.chart.options.font),c=Math.sqrt(u*u+f*f),r=Qd(Math.min(Math.asin(de((d.highest.height+6)/a,-1,1)),Math.asin(de(l/c,-1,1))-Math.asin(de(f/c,-1,1)))),r=Math.max(i,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){Kt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Kt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:s,options:{ticks:n,title:i,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=up(i,s.options.font);if(a?(t.width=this.maxWidth,t.height=ho(o)+l):(t.height=this.maxHeight,t.width=ho(o)+l),n.display&&this.ticks.length){const{first:c,last:d,widest:u,highest:f}=this._getLabelSizes(),g=n.padding*2,m=ns(this.labelRotation),b=Math.cos(m),v=Math.sin(m);if(a){const w=n.mirror?0:v*u.width+b*f.height;t.height=Math.min(this.maxHeight,t.height+w+g)}else{const w=n.mirror?0:b*u.width+v*f.height;t.width=Math.min(this.maxWidth,t.width+w+g)}this._calculatePadding(c,d,v,b)}}this._handleMargins(),a?(this.width=this._length=s.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=s.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,s,n,i){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const d=this.getPixelForTick(0)-this.left,u=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,g=0;l?c?(f=i*t.width,g=n*s.height):(f=n*t.height,g=i*s.width):o==="start"?g=s.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,g=s.width/2),this.paddingLeft=Math.max((f-d+r)*this.width/(this.width-d),0),this.paddingRight=Math.max((g-u+r)*this.width/(this.width-u),0)}else{let d=s.height/2,u=t.height/2;o==="start"?(d=0,u=t.height):o==="end"&&(d=s.height,u=0),this.paddingTop=d+r,this.paddingBottom=u+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Kt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:s}=this.options;return s==="top"||s==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let s,n;for(s=0,n=t.length;s<n;s++)Ft(t[s].label)&&(t.splice(s,1),n--,s--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const s=this.options.ticks.sampleSize;let n=this.ticks;s<n.length&&(n=dp(n,s)),this._labelSizes=t=this._computeLabelSizes(n,n.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,s,n){const{ctx:i,_longestTextCache:o}=this,r=[],a=[],l=Math.floor(s/cp(s,n));let c=0,d=0,u,f,g,m,b,v,w,E,$,T,y;for(u=0;u<s;u+=l){if(m=t[u].label,b=this._resolveTickFontOptions(u),i.font=v=b.string,w=o[v]=o[v]||{data:{},gc:[]},E=b.lineHeight,$=T=0,!Ft(m)&&!qt(m))$=Ma(i,w.data,w.gc,$,m),T=E;else if(qt(m))for(f=0,g=m.length;f<g;++f)y=m[f],!Ft(y)&&!qt(y)&&($=Ma(i,w.data,w.gc,$,y),T+=E);r.push($),a.push(T),c=Math.max($,c),d=Math.max(T,d)}sL(o,s);const x=r.indexOf(c),C=a.indexOf(d),S=P=>({width:r[P]||0,height:a[P]||0});return{first:S(0),last:S(s-1),widest:S(x),highest:S(C),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,s){return NaN}getValueForPixel(t){}getPixelForTick(t){const s=this.ticks;return t<0||t>s.length-1?null:this.getPixelForValue(s[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const s=this._startPixel+t*this._length;return UD(this._alignToPixels?Nn(this.chart,s,0):s)}getDecimalForPixel(t){const s=(t-this._startPixel)/this._length;return this._reversePixels?1-s:s}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:s}=this;return t<0&&s<0?s:t>0&&s>0?t:0}getContext(t){const s=this.ticks||[];if(t>=0&&t<s.length){const n=s[t];return n.$context||(n.$context=iL(this.getContext(),t,n))}return this.$context||(this.$context=nL(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,s=ns(this.labelRotation),n=Math.abs(Math.cos(s)),i=Math.abs(Math.sin(s)),o=this._getLabelSizes(),r=t.autoSkipPadding||0,a=o?o.widest.width+r:0,l=o?o.highest.height+r:0;return this.isHorizontal()?l*n>a*i?a/n:l/i:l*i<a*n?l/n:a/i}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const s=this.axis,n=this.chart,i=this.options,{grid:o,position:r,border:a}=i,l=o.offset,c=this.isHorizontal(),u=this.ticks.length+(l?1:0),f=ho(o),g=[],m=a.setContext(this.getContext()),b=m.display?m.width:0,v=b/2,w=function(L){return Nn(n,L,b)};let E,$,T,y,x,C,S,P,M,I,N,Q;if(r==="top")E=w(this.bottom),C=this.bottom-f,P=E-v,I=w(t.top)+v,Q=t.bottom;else if(r==="bottom")E=w(this.top),I=t.top,Q=w(t.bottom)-v,C=E+v,P=this.top+f;else if(r==="left")E=w(this.right),x=this.right-f,S=E-v,M=w(t.left)+v,N=t.right;else if(r==="right")E=w(this.left),M=t.left,N=w(t.right)-v,x=E+v,S=this.left+f;else if(s==="x"){if(r==="center")E=w((t.top+t.bottom)/2+.5);else if(It(r)){const L=Object.keys(r)[0],W=r[L];E=w(this.chart.scales[L].getPixelForValue(W))}I=t.top,Q=t.bottom,C=E+v,P=C+f}else if(s==="y"){if(r==="center")E=w((t.left+t.right)/2);else if(It(r)){const L=Object.keys(r)[0],W=r[L];E=w(this.chart.scales[L].getPixelForValue(W))}x=E-v,S=x-f,M=t.left,N=t.right}const G=St(i.ticks.maxTicksLimit,u),V=Math.max(1,Math.ceil(u/G));for($=0;$<u;$+=V){const L=this.getContext($),W=o.setContext(L),K=a.setContext(L),ot=W.lineWidth,ut=W.color,bt=K.dash||[],_t=K.dashOffset,Pt=W.tickWidth,At=W.tickColor,Lt=W.tickBorderDash||[],Ct=W.tickBorderDashOffset;T=eL(this,$,l),T!==void 0&&(y=Nn(n,T,ot),c?x=S=M=N=y:C=P=I=Q=y,g.push({tx1:x,ty1:C,tx2:S,ty2:P,x1:M,y1:I,x2:N,y2:Q,width:ot,color:ut,borderDash:bt,borderDashOffset:_t,tickWidth:Pt,tickColor:At,tickBorderDash:Lt,tickBorderDashOffset:Ct}))}return this._ticksLength=u,this._borderValue=E,g}_computeLabelItems(t){const s=this.axis,n=this.options,{position:i,ticks:o}=n,r=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:d,mirror:u}=o,f=ho(n.grid),g=f+d,m=u?-d:g,b=-ns(this.labelRotation),v=[];let w,E,$,T,y,x,C,S,P,M,I,N,Q="middle";if(i==="top")x=this.bottom-m,C=this._getXAxisLabelAlignment();else if(i==="bottom")x=this.top+m,C=this._getXAxisLabelAlignment();else if(i==="left"){const V=this._getYAxisLabelAlignment(f);C=V.textAlign,y=V.x}else if(i==="right"){const V=this._getYAxisLabelAlignment(f);C=V.textAlign,y=V.x}else if(s==="x"){if(i==="center")x=(t.top+t.bottom)/2+g;else if(It(i)){const V=Object.keys(i)[0],L=i[V];x=this.chart.scales[V].getPixelForValue(L)+g}C=this._getXAxisLabelAlignment()}else if(s==="y"){if(i==="center")y=(t.left+t.right)/2-g;else if(It(i)){const V=Object.keys(i)[0],L=i[V];y=this.chart.scales[V].getPixelForValue(L)}C=this._getYAxisLabelAlignment(f).textAlign}s==="y"&&(l==="start"?Q="top":l==="end"&&(Q="bottom"));const G=this._getLabelSizes();for(w=0,E=a.length;w<E;++w){$=a[w],T=$.label;const V=o.setContext(this.getContext(w));S=this.getPixelForTick(w)+o.labelOffset,P=this._resolveTickFontOptions(w),M=P.lineHeight,I=qt(T)?T.length:1;const L=I/2,W=V.color,K=V.textStrokeColor,ot=V.textStrokeWidth;let ut=C;r?(y=S,C==="inner"&&(w===E-1?ut=this.options.reverse?"left":"right":w===0?ut=this.options.reverse?"right":"left":ut="center"),i==="top"?c==="near"||b!==0?N=-I*M+M/2:c==="center"?N=-G.highest.height/2-L*M+M:N=-G.highest.height+M/2:c==="near"||b!==0?N=M/2:c==="center"?N=G.highest.height/2-L*M:N=G.highest.height-I*M,u&&(N*=-1),b!==0&&!V.showLabelBackdrop&&(y+=M/2*Math.sin(b))):(x=S,N=(1-I)*M/2);let bt;if(V.showLabelBackdrop){const _t=be(V.backdropPadding),Pt=G.heights[w],At=G.widths[w];let Lt=N-_t.top,Ct=0-_t.left;switch(Q){case"middle":Lt-=Pt/2;break;case"bottom":Lt-=Pt;break}switch(C){case"center":Ct-=At/2;break;case"right":Ct-=At;break;case"inner":w===E-1?Ct-=At:w>0&&(Ct-=At/2);break}bt={left:Ct,top:Lt,width:At+_t.width,height:Pt+_t.height,color:V.backdropColor}}v.push({label:T,font:P,textOffset:N,options:{rotation:b,color:W,strokeColor:K,strokeWidth:ot,textAlign:ut,textBaseline:Q,translation:[y,x],backdrop:bt}})}return v}_getXAxisLabelAlignment(){const{position:t,ticks:s}=this.options;if(-ns(this.labelRotation))return t==="top"?"left":"right";let i="center";return s.align==="start"?i="left":s.align==="end"?i="right":s.align==="inner"&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:s,ticks:{crossAlign:n,mirror:i,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,d;return s==="left"?i?(d=this.right+o,n==="near"?c="left":n==="center"?(c="center",d+=l/2):(c="right",d+=l)):(d=this.right-a,n==="near"?c="right":n==="center"?(c="center",d-=l/2):(c="left",d=this.left)):s==="right"?i?(d=this.left+o,n==="near"?c="right":n==="center"?(c="center",d-=l/2):(c="left",d-=l)):(d=this.left+a,n==="near"?c="left":n==="center"?(c="center",d+=l/2):(c="right",d=this.right)):c="right",{textAlign:c,x:d}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,s=this.options.position;if(s==="left"||s==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(s==="top"||s==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:s},left:n,top:i,width:o,height:r}=this;s&&(t.save(),t.fillStyle=s,t.fillRect(n,i,o,r),t.restore())}getLineWidthForValue(t){const s=this.options.grid;if(!this._isVisible()||!s.display)return 0;const i=this.ticks.findIndex(o=>o.value===t);return i>=0?s.setContext(this.getContext(i)).lineWidth:0}drawGrid(t){const s=this.options.grid,n=this.ctx,i=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,d)=>{!d.width||!d.color||(n.save(),n.lineWidth=d.width,n.strokeStyle=d.color,n.setLineDash(d.borderDash||[]),n.lineDashOffset=d.borderDashOffset,n.beginPath(),n.moveTo(l.x,l.y),n.lineTo(c.x,c.y),n.stroke(),n.restore())};if(s.display)for(o=0,r=i.length;o<r;++o){const l=i[o];s.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),s.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:s,options:{border:n,grid:i}}=this,o=n.setContext(this.getContext()),r=n.display?o.width:0;if(!r)return;const a=i.setContext(this.getContext(0)).lineWidth,l=this._borderValue;let c,d,u,f;this.isHorizontal()?(c=Nn(t,this.left,r)-r/2,d=Nn(t,this.right,a)+a/2,u=f=l):(u=Nn(t,this.top,r)-r/2,f=Nn(t,this.bottom,a)+a/2,c=d=l),s.save(),s.lineWidth=o.width,s.strokeStyle=o.color,s.beginPath(),s.moveTo(c,u),s.lineTo(d,f),s.stroke(),s.restore()}drawLabels(t){if(!this.options.ticks.display)return;const n=this.ctx,i=this._computeLabelArea();i&&dl(n,i);const o=this.getLabelItems(t);for(const r of o){const a=r.options,l=r.font,c=r.label,d=r.textOffset;ei(n,c,0,d,l,a)}i&&ul(n)}drawTitle(){const{ctx:t,options:{position:s,title:n,reverse:i}}=this;if(!n.display)return;const o=re(n.font),r=be(n.padding),a=n.align;let l=o.lineHeight/2;s==="bottom"||s==="center"||It(s)?(l+=r.bottom,qt(n.text)&&(l+=o.lineHeight*(n.text.length-1))):l+=r.top;const{titleX:c,titleY:d,maxWidth:u,rotation:f}=rL(this,l,s,a);ei(t,n.text,0,0,o,{color:n.color,maxWidth:u,rotation:f,textAlign:oL(a,s,i),textBaseline:"middle",translation:[c,d]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,s=t.ticks&&t.ticks.z||0,n=St(t.grid&&t.grid.z,-1),i=St(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==ni.prototype.draw?[{z:s,draw:o=>{this.draw(o)}}]:[{z:n,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:s,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const s=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",i=[];let o,r;for(o=0,r=s.length;o<r;++o){const a=s[o];a[n]===this.id&&(!t||a.type===t)&&i.push(a)}return i}_resolveTickFontOptions(t){const s=this.options.ticks.setContext(this.getContext(t));return re(s.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class Kr{constructor(t,s,n){this.type=t,this.scope=s,this.override=n,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const s=Object.getPrototypeOf(t);let n;cL(s)&&(n=this.register(s));const i=this.items,o=t.id,r=this.scope+"."+o;if(!o)throw new Error("class does not have id: "+t);return o in i||(i[o]=t,aL(t,r,n),this.override&&Zt.override(t.id,t.overrides)),r}get(t){return this.items[t]}unregister(t){const s=this.items,n=t.id,i=this.scope;n in s&&delete s[n],i&&n in Zt[i]&&(delete Zt[i][n],this.override&&delete ti[n])}}function aL(e,t,s){const n=Ko(Object.create(null),[s?Zt.get(s):{},Zt.get(t),e.defaults]);Zt.set(t,n),e.defaultRoutes&&lL(t,e.defaultRoutes),e.descriptors&&Zt.describe(t,e.descriptors)}function lL(e,t){Object.keys(t).forEach(s=>{const n=s.split("."),i=n.pop(),o=[e].concat(n).join("."),r=t[s].split("."),a=r.pop(),l=r.join(".");Zt.route(o,i,l,a)})}function cL(e){return"id"in e&&"defaults"in e}class dL{constructor(){this.controllers=new Kr(os,"datasets",!0),this.elements=new Kr(js,"elements"),this.plugins=new Kr(Object,"plugins"),this.scales=new Kr(ni,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,s,n){[...s].forEach(i=>{const o=n||this._getRegistryForType(i);n||o.isForType(i)||o===this.plugins&&i.id?this._exec(t,o,i):zt(i,r=>{const a=n||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,s,n){const i=Jd(t);Kt(n["before"+i],[],n),s[t](n),Kt(n["after"+i],[],n)}_getRegistryForType(t){for(let s=0;s<this._typedRegistries.length;s++){const n=this._typedRegistries[s];if(n.isForType(t))return n}return this.plugins}_get(t,s,n){const i=s.get(t);if(i===void 0)throw new Error('"'+t+'" is not a registered '+n+".");return i}}var us=new dL;class uL{constructor(){this._init=[]}notify(t,s,n,i){s==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const o=i?this._descriptors(t).filter(i):this._descriptors(t),r=this._notify(o,t,s,n);return s==="afterDestroy"&&(this._notify(o,t,"stop"),this._notify(this._init,t,"uninstall")),r}_notify(t,s,n,i){i=i||{};for(const o of t){const r=o.plugin,a=r[n],l=[s,i,o.options];if(Kt(a,l,r)===!1&&i.cancelable)return!1}return!0}invalidate(){Ft(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const s=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),s}_createDescriptors(t,s){const n=t&&t.config,i=St(n.options&&n.options.plugins,{}),o=hL(n);return i===!1&&!s?[]:pL(t,o,i,s)}_notifyStateChanges(t){const s=this._oldCache||[],n=this._cache,i=(o,r)=>o.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(i(s,n),t,"stop"),this._notify(i(n,s),t,"start")}}function hL(e){const t={},s=[],n=Object.keys(us.plugins.items);for(let o=0;o<n.length;o++)s.push(us.getPlugin(n[o]));const i=e.plugins||[];for(let o=0;o<i.length;o++){const r=i[o];s.indexOf(r)===-1&&(s.push(r),t[r.id]=!0)}return{plugins:s,localIds:t}}function fL(e,t){return!t&&e===!1?null:e===!0?{}:e}function pL(e,{plugins:t,localIds:s},n,i){const o=[],r=e.getContext();for(const a of t){const l=a.id,c=fL(n[l],i);c!==null&&o.push({plugin:a,options:gL(e.config,{plugin:a,local:s[l]},c,r)})}return o}function gL(e,{plugin:t,local:s},n,i){const o=e.pluginScopeKeys(t),r=e.getOptionScopes(n,o);return s&&t.defaults&&r.push(t.defaults),e.createResolver(r,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Fc(e,t){const s=Zt.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||s.indexAxis||"x"}function mL(e,t){let s=e;return e==="_index_"?s=t:e==="_value_"&&(s=t==="x"?"y":"x"),s}function _L(e,t){return e===t?"_index_":"_value_"}function hp(e){if(e==="x"||e==="y"||e==="r")return e}function bL(e){if(e==="top"||e==="bottom")return"x";if(e==="left"||e==="right")return"y"}function Bc(e,...t){if(hp(e))return e;for(const s of t){const n=s.axis||bL(s.position)||e.length>1&&hp(e[0].toLowerCase());if(n)return n}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function fp(e,t,s){if(s[t+"AxisID"]===e)return{axis:t}}function vL(e,t){if(t.data&&t.data.datasets){const s=t.data.datasets.filter(n=>n.xAxisID===e||n.yAxisID===e);if(s.length)return fp(e,"x",s[0])||fp(e,"y",s[0])}return{}}function yL(e,t){const s=ti[e.type]||{scales:{}},n=t.scales||{},i=Fc(e.type,t),o=Object.create(null);return Object.keys(n).forEach(r=>{const a=n[r];if(!It(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=Bc(r,a,vL(r,e),Zt.scales[a.type]),c=_L(l,i),d=s.scales||{};o[r]=Mo(Object.create(null),[{axis:l},a,d[l],d[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||Fc(a,t),d=(ti[a]||{}).scales||{};Object.keys(d).forEach(u=>{const f=mL(u,l),g=r[f+"AxisID"]||f;o[g]=o[g]||Object.create(null),Mo(o[g],[{axis:f},n[g],d[u]])})}),Object.keys(o).forEach(r=>{const a=o[r];Mo(a,[Zt.scales[a.type],Zt.scale])}),o}function rb(e){const t=e.options||(e.options={});t.plugins=St(t.plugins,{}),t.scales=yL(e,t)}function ab(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function xL(e){return e=e||{},e.data=ab(e.data),rb(e),e}const pp=new Map,lb=new Set;function Yr(e,t){let s=pp.get(e);return s||(s=t(),pp.set(e,s),lb.add(s)),s}const fo=(e,t,s)=>{const n=_n(t,s);n!==void 0&&e.add(n)};let wL=class{constructor(t){this._config=xL(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=ab(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),rb(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Yr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,s){return Yr(`${t}.transition.${s}`,()=>[[`datasets.${t}.transitions.${s}`,`transitions.${s}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,s){return Yr(`${t}-${s}`,()=>[[`datasets.${t}.elements.${s}`,`datasets.${t}`,`elements.${s}`,""]])}pluginScopeKeys(t){const s=t.id,n=this.type;return Yr(`${n}-plugin-${s}`,()=>[[`plugins.${s}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,s){const n=this._scopeCache;let i=n.get(t);return(!i||s)&&(i=new Map,n.set(t,i)),i}getOptionScopes(t,s,n){const{options:i,type:o}=this,r=this._cachedScopes(t,n),a=r.get(s);if(a)return a;const l=new Set;s.forEach(d=>{t&&(l.add(t),d.forEach(u=>fo(l,t,u))),d.forEach(u=>fo(l,i,u)),d.forEach(u=>fo(l,ti[o]||{},u)),d.forEach(u=>fo(l,Zt,u)),d.forEach(u=>fo(l,Lc,u))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),lb.has(s)&&r.set(s,c),c}chartOptionScopes(){const{options:t,type:s}=this;return[t,ti[s]||{},Zt.datasets[s]||{},{type:s},Zt,Lc]}resolveNamedOptions(t,s,n,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=gp(this._resolverCache,t,i);let l=r;if(SL(r,s)){o.$shared=!1,n=bn(n)?n():n;const c=this.createResolver(t,n,a);l=Ui(r,n,c)}for(const c of s)o[c]=l[c];return o}createResolver(t,s,n=[""],i){const{resolver:o}=gp(this._resolverCache,t,n);return It(s)?Ui(o,s,void 0,i):o}};function gp(e,t,s){let n=e.get(t);n||(n=new Map,e.set(t,n));const i=s.join();let o=n.get(i);return o||(o={resolver:nu(t,s),subPrefixes:s.filter(a=>!a.toLowerCase().includes("hover"))},n.set(i,o)),o}const EL=e=>It(e)&&Object.getOwnPropertyNames(e).some(t=>bn(e[t]));function SL(e,t){const{isScriptable:s,isIndexable:n}=H_(e);for(const i of t){const o=s(i),r=n(i),a=(r||o)&&e[i];if(o&&(bn(a)||EL(a))||r&&qt(a))return!0}return!1}var AL="4.4.1";const CL=["top","bottom","left","right","chartArea"];function mp(e,t){return e==="top"||e==="bottom"||CL.indexOf(e)===-1&&t==="x"}function _p(e,t){return function(s,n){return s[e]===n[e]?s[t]-n[t]:s[e]-n[e]}}function bp(e){const t=e.chart,s=t.options.animation;t.notifyPlugins("afterRender"),Kt(s&&s.onComplete,[e],t)}function $L(e){const t=e.chart,s=t.options.animation;Kt(s&&s.onProgress,[e],t)}function cb(e){return ru()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const fa={},vp=e=>{const t=cb(e);return Object.values(fa).filter(s=>s.canvas===t).pop()};function PL(e,t,s){const n=Object.keys(e);for(const i of n){const o=+i;if(o>=t){const r=e[i];delete e[i],(s>0||o>t)&&(e[o+s]=r)}}}function kL(e,t,s,n){return!s||e.type==="mouseout"?null:n?t:e}function qr(e,t,s){return e.options.clip?e[s]:t[s]}function TL(e,t){const{xScale:s,yScale:n}=e;return s&&n?{left:qr(s,t,"left"),right:qr(s,t,"right"),top:qr(n,t,"top"),bottom:qr(n,t,"bottom")}:t}var Gs;let fl=(Gs=class{static register(...t){us.add(...t),yp()}static unregister(...t){us.remove(...t),yp()}constructor(t,s){const n=this.config=new wL(s),i=cb(t),o=vp(i);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||Y2(i)),this.platform.updateConfig(n);const a=this.platform.acquireContext(i,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,d=l&&l.width;if(this.id=DD(),this.ctx=a,this.canvas=l,this.width=d,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new uL,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=GD(u=>this.update(u),r.resizeDelay||0),this._dataChanges=[],fa[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}$s.listen(this,"complete",bp),$s.listen(this,"progress",$L),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:s},width:n,height:i,_aspectRatio:o}=this;return Ft(t)?s&&o?o:i?n/i:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return us}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Hf(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ff(this.canvas,this.ctx),this}stop(){return $s.stop(this),this}resize(t,s){$s.running(this)?this._resizeBeforeDraw={width:t,height:s}:this._resize(t,s)}_resize(t,s){const n=this.options,i=this.canvas,o=n.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(i,t,s,o),a=n.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Hf(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),Kt(n.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const s=this.options.scales||{};zt(s,(n,i)=>{n.id=i})}buildOrUpdateScales(){const t=this.options,s=t.scales,n=this.scales,i=Object.keys(n).reduce((r,a)=>(r[a]=!1,r),{});let o=[];s&&(o=o.concat(Object.keys(s).map(r=>{const a=s[r],l=Bc(r,a),c=l==="r",d=l==="x";return{options:a,dposition:c?"chartArea":d?"bottom":"left",dtype:c?"radialLinear":d?"category":"linear"}}))),zt(o,r=>{const a=r.options,l=a.id,c=Bc(l,a),d=St(a.type,r.dtype);(a.position===void 0||mp(a.position,c)!==mp(r.dposition))&&(a.position=r.dposition),i[l]=!0;let u=null;if(l in n&&n[l].type===d)u=n[l];else{const f=us.getScale(d);u=new f({id:l,type:d,ctx:this.ctx,chart:this}),n[u.id]=u}u.init(a,t)}),zt(i,(r,a)=>{r||delete n[a]}),zt(n,r=>{Ge.configure(this,r,r.options),Ge.addBox(this,r)})}_updateMetasets(){const t=this._metasets,s=this.data.datasets.length,n=t.length;if(t.sort((i,o)=>i.index-o.index),n>s){for(let i=s;i<n;++i)this._destroyDatasetMeta(i);t.splice(s,n-s)}this._sortedMetasets=t.slice(0).sort(_p("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:s}}=this;t.length>s.length&&delete this._stacks,t.forEach((n,i)=>{s.filter(o=>o===n._dataset).length===0&&this._destroyDatasetMeta(i)})}buildOrUpdateControllers(){const t=[],s=this.data.datasets;let n,i;for(this._removeUnreferencedMetasets(),n=0,i=s.length;n<i;n++){const o=s[n];let r=this.getDatasetMeta(n);const a=o.type||this.config.type;if(r.type&&r.type!==a&&(this._destroyDatasetMeta(n),r=this.getDatasetMeta(n)),r.type=a,r.indexAxis=o.indexAxis||Fc(a,this.options),r.order=o.order||0,r.index=n,r.label=""+o.label,r.visible=this.isDatasetVisible(n),r.controller)r.controller.updateIndex(n),r.controller.linkScales();else{const l=us.getController(a),{datasetElementType:c,dataElementType:d}=Zt.datasets[a];Object.assign(l,{dataElementType:us.getElement(d),datasetElementType:c&&us.getElement(c)}),r.controller=new l(this,n),t.push(r.controller)}}return this._updateMetasets(),t}_resetElements(){zt(this.data.datasets,(t,s)=>{this.getDatasetMeta(s).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const s=this.config;s.update();const n=this._options=s.createResolver(s.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,d=this.data.datasets.length;c<d;c++){const{controller:u}=this.getDatasetMeta(c),f=!i&&o.indexOf(u)===-1;u.buildOrUpdateElements(f),r=Math.max(+u.getMaxOverflow(),r)}r=this._minPadding=n.layout.autoPadding?r:0,this._updateLayout(r),i||zt(o,c=>{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(_p("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){zt(this.scales,t=>{Ge.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,s=new Set(Object.keys(this._listeners)),n=new Set(t.events);(!kf(s,n)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,s=this._getUniformDataChanges()||[];for(const{method:n,start:i,count:o}of s){const r=n==="_removeElements"?-o:o;PL(t,i,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const s=this.data.datasets.length,n=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),i=n(0);for(let o=1;o<s;o++)if(!kf(i,n(o)))return;return Array.from(i).map(o=>o.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Ge.update(this,this.width,this.height,t);const s=this.chartArea,n=s.width<=0||s.height<=0;this._layers=[],zt(this.boxes,i=>{n&&i.position==="chartArea"||(i.configure&&i.configure(),this._layers.push(...i._layers()))},this),this._layers.forEach((i,o)=>{i._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let s=0,n=this.data.datasets.length;s<n;++s)this.getDatasetMeta(s).controller.configure();for(let s=0,n=this.data.datasets.length;s<n;++s)this._updateDataset(s,bn(t)?t({datasetIndex:s}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,s){const n=this.getDatasetMeta(t),i={meta:n,index:t,mode:s,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",i)!==!1&&(n.controller._update(s),i.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",i))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&($s.has(this)?this.attached&&!$s.running(this)&&$s.start(this):(this.draw(),bp({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:n,height:i}=this._resizeBeforeDraw;this._resize(n,i),this._resizeBeforeDraw=null}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const s=this._layers;for(t=0;t<s.length&&s[t].z<=0;++t)s[t].draw(this.chartArea);for(this._drawDatasets();t<s.length;++t)s[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const s=this._sortedMetasets,n=[];let i,o;for(i=0,o=s.length;i<o;++i){const r=s[i];(!t||r.visible)&&n.push(r)}return n}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let s=t.length-1;s>=0;--s)this._drawDataset(t[s]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const s=this.ctx,n=t._clip,i=!n.disabled,o=TL(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(i&&dl(s,{left:n.left===!1?0:o.left-n.left,right:n.right===!1?this.width:o.right+n.right,top:n.top===!1?0:o.top-n.top,bottom:n.bottom===!1?this.height:o.bottom+n.bottom}),t.controller.draw(),i&&ul(s),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Is(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,s,n,i){const o=C2.modes[s];return typeof o=="function"?o(this,t,n,i):[]}getDatasetMeta(t){const s=this.data.datasets[t],n=this._metasets;let i=n.filter(o=>o&&o._dataset===s).pop();return i||(i={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:s&&s.order||0,index:t,_dataset:s,_parsed:[],_sorted:!1},n.push(i)),i}getContext(){return this.$context||(this.$context=En(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const s=this.data.datasets[t];if(!s)return!1;const n=this.getDatasetMeta(t);return typeof n.hidden=="boolean"?!n.hidden:!s.hidden}setDatasetVisibility(t,s){const n=this.getDatasetMeta(t);n.hidden=!s}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,s,n){const i=n?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,i);Yo(s)?(o.data[s].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),r.update(o,{visible:n}),this.update(a=>a.datasetIndex===t?i:void 0))}hide(t,s){this._updateVisibility(t,s,!1)}show(t,s){this._updateVisibility(t,s,!0)}_destroyDatasetMeta(t){const s=this._metasets[t];s&&s.controller&&s.controller._destroy(),delete this._metasets[t]}_stop(){let t,s;for(this.stop(),$s.remove(this),t=0,s=this.data.datasets.length;t<s;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:s}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Ff(t,s),this.platform.releaseContext(s),this.canvas=null,this.ctx=null),delete fa[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,s=this.platform,n=(o,r)=>{s.addEventListener(this,o,r),t[o]=r},i=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};zt(this.options.events,o=>n(o,i))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,s=this.platform,n=(l,c)=>{s.addEventListener(this,l,c),t[l]=c},i=(l,c)=>{t[l]&&(s.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{i("attach",a),this.attached=!0,this.resize(),n("resize",o),n("detach",r)};r=()=>{this.attached=!1,i("resize",o),this._stop(),this._resize(0,0),n("attach",a)},s.isAttached(this.canvas)?a():r()}unbindEvents(){zt(this._listeners,(t,s)=>{this.platform.removeEventListener(this,s,t)}),this._listeners={},zt(this._responsiveListeners,(t,s)=>{this.platform.removeEventListener(this,s,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,s,n){const i=n?"set":"remove";let o,r,a,l;for(s==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+i+"DatasetHoverStyle"]()),a=0,l=t.length;a<l;++a){r=t[a];const c=r&&this.getDatasetMeta(r.datasetIndex).controller;c&&c[i+"HoverStyle"](r.element,r.datasetIndex,r.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const s=this._active||[],n=t.map(({datasetIndex:o,index:r})=>{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Pa(n,s)&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,s))}notifyPlugins(t,s,n){return this._plugins.notify(this,t,s,n)}isPluginEnabled(t){return this._plugins._cache.filter(s=>s.plugin.id===t).length===1}_updateHoverStyles(t,s,n){const i=this.options.hover,o=(l,c)=>l.filter(d=>!c.some(u=>d.datasetIndex===u.datasetIndex&&d.index===u.index)),r=o(s,t),a=n?t:o(t,s);r.length&&this.updateHoverStyle(r,i.mode,!1),a.length&&i.mode&&this.updateHoverStyle(a,i.mode,!0)}_eventHandler(t,s){const n={event:t,replay:s,cancelable:!0,inChartArea:this.isPointInArea(t)},i=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",n,i)===!1)return;const o=this._handleEvent(t,s,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,i),(o||n.changed)&&this.render(),this}_handleEvent(t,s,n){const{_active:i=[],options:o}=this,r=s,a=this._getActiveElements(t,i,n,r),l=BD(t),c=kL(t,this._lastEvent,n,l);n&&(this._lastEvent=null,Kt(o.onHover,[t,a,this],this),l&&Kt(o.onClick,[t,a,this],this));const d=!Pa(a,i);return(d||s)&&(this._active=a,this._updateHoverStyles(a,i,s)),this._lastEvent=c,d}_getActiveElements(t,s,n,i){if(t.type==="mouseout")return[];if(!n)return s;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,i)}},it(Gs,"defaults",Zt),it(Gs,"instances",fa),it(Gs,"overrides",ti),it(Gs,"registry",us),it(Gs,"version",AL),it(Gs,"getChart",vp),Gs);function yp(){return zt(fl.instances,e=>e._plugins.invalidate())}function ML(e,t,s){const{startAngle:n,pixelMargin:i,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=i/a;e.beginPath(),e.arc(o,r,a,n-c,s+c),l>i?(c=i/l,e.arc(o,r,l,s+c,n-c,!0)):e.arc(o,r,i,s+te,n-te),e.closePath(),e.clip()}function OL(e){return su(e,["outerStart","outerEnd","innerStart","innerEnd"])}function DL(e,t,s,n){const i=OL(e.options.borderRadius),o=(s-t)/2,r=Math.min(o,n*t/2),a=l=>{const c=(s-Math.min(o,l))*n/2;return de(l,0,Math.min(o,c))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:de(i.innerStart,0,r),innerEnd:de(i.innerEnd,0,r)}}function gi(e,t,s,n){return{x:s+e*Math.cos(t),y:n+e*Math.sin(t)}}function Ia(e,t,s,n,i,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:d}=t,u=Math.max(t.outerRadius+n+s-c,0),f=d>0?d+n+s+c:0;let g=0;const m=i-l;if(n){const V=d>0?d-n:0,L=u>0?u-n:0,W=(V+L)/2,K=W!==0?m*W/(W+n):m;g=(m-K)/2}const b=Math.max(.001,m*u-s/Xt)/u,v=(m-b)/2,w=l+v+g,E=i-v-g,{outerStart:$,outerEnd:T,innerStart:y,innerEnd:x}=DL(t,f,u,E-w),C=u-$,S=u-T,P=w+$/C,M=E-T/S,I=f+y,N=f+x,Q=w+y/I,G=E-x/N;if(e.beginPath(),o){const V=(P+M)/2;if(e.arc(r,a,u,P,V),e.arc(r,a,u,V,M),T>0){const ot=gi(S,M,r,a);e.arc(ot.x,ot.y,T,M,E+te)}const L=gi(N,E,r,a);if(e.lineTo(L.x,L.y),x>0){const ot=gi(N,G,r,a);e.arc(ot.x,ot.y,x,E+te,G+Math.PI)}const W=(E-x/f+(w+y/f))/2;if(e.arc(r,a,f,E-x/f,W,!0),e.arc(r,a,f,W,w+y/f,!0),y>0){const ot=gi(I,Q,r,a);e.arc(ot.x,ot.y,y,Q+Math.PI,w-te)}const K=gi(C,w,r,a);if(e.lineTo(K.x,K.y),$>0){const ot=gi(C,P,r,a);e.arc(ot.x,ot.y,$,w-te,P)}}else{e.moveTo(r,a);const V=Math.cos(P)*u+r,L=Math.sin(P)*u+a;e.lineTo(V,L);const W=Math.cos(M)*u+r,K=Math.sin(M)*u+a;e.lineTo(W,K)}e.closePath()}function IL(e,t,s,n,i){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){Ia(e,t,s,n,l,i);for(let c=0;c<o;++c)e.fill();isNaN(a)||(l=r+(a%Gt||Gt))}return Ia(e,t,s,n,l,i),e.fill(),l}function LL(e,t,s,n,i){const{fullCircles:o,startAngle:r,circumference:a,options:l}=t,{borderWidth:c,borderJoinStyle:d,borderDash:u,borderDashOffset:f}=l,g=l.borderAlign==="inner";if(!c)return;e.setLineDash(u||[]),e.lineDashOffset=f,g?(e.lineWidth=c*2,e.lineJoin=d||"round"):(e.lineWidth=c,e.lineJoin=d||"bevel");let m=t.endAngle;if(o){Ia(e,t,s,n,m,i);for(let b=0;b<o;++b)e.stroke();isNaN(a)||(m=r+(a%Gt||Gt))}g&&ML(e,t,m),o||(Ia(e,t,s,n,m,i),e.stroke())}class vo extends js{constructor(s){super();it(this,"circumference");it(this,"endAngle");it(this,"fullCircles");it(this,"innerRadius");it(this,"outerRadius");it(this,"pixelMargin");it(this,"startAngle");this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,s&&Object.assign(this,s)}inRange(s,n,i){const o=this.getProps(["x","y"],i),{angle:r,distance:a}=M_(o,{x:s,y:n}),{startAngle:l,endAngle:c,innerRadius:d,outerRadius:u,circumference:f}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),g=(this.options.spacing+this.options.borderWidth)/2,b=St(f,c-l)>=Gt||qo(r,l,c),v=Os(a,d+g,u+g);return b&&v}getCenterPoint(s){const{x:n,y:i,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],s),{offset:c,spacing:d}=this.options,u=(o+r)/2,f=(a+l+d+c)/2;return{x:n+Math.cos(u)*f,y:i+Math.sin(u)*f}}tooltipPosition(s){return this.getCenterPoint(s)}draw(s){const{options:n,circumference:i}=this,o=(n.offset||0)/4,r=(n.spacing||0)/2,a=n.circular;if(this.pixelMargin=n.borderAlign==="inner"?.33:0,this.fullCircles=i>Gt?Math.floor(i/Gt):0,i===0||this.innerRadius<0||this.outerRadius<0)return;s.save();const l=(this.startAngle+this.endAngle)/2;s.translate(Math.cos(l)*o,Math.sin(l)*o);const c=1-Math.sin(Math.min(Xt,i||0)),d=o*c;s.fillStyle=n.backgroundColor,s.strokeStyle=n.borderColor,IL(s,this,d,r,a),LL(s,this,d,r,a),s.restore()}}it(vo,"id","arc"),it(vo,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),it(vo,"defaultRoutes",{backgroundColor:"backgroundColor"}),it(vo,"descriptors",{_scriptable:!0,_indexable:s=>s!=="borderDash"});function db(e,t,s=t){e.lineCap=St(s.borderCapStyle,t.borderCapStyle),e.setLineDash(St(s.borderDash,t.borderDash)),e.lineDashOffset=St(s.borderDashOffset,t.borderDashOffset),e.lineJoin=St(s.borderJoinStyle,t.borderJoinStyle),e.lineWidth=St(s.borderWidth,t.borderWidth),e.strokeStyle=St(s.borderColor,t.borderColor)}function RL(e,t,s){e.lineTo(s.x,s.y)}function NL(e){return e.stepped?aI:e.tension||e.cubicInterpolationMode==="monotone"?lI:RL}function ub(e,t,s={}){const n=e.length,{start:i=0,end:o=n-1}=s,{start:r,end:a}=t,l=Math.max(i,r),c=Math.min(o,a),d=i<r&&o<r||i>a&&o>a;return{count:n,start:l,loop:t.loop,ilen:c<l&&!d?n+c-l:c-l}}function FL(e,t,s,n){const{points:i,options:o}=t,{count:r,start:a,loop:l,ilen:c}=ub(i,s,n),d=NL(o);let{move:u=!0,reverse:f}=n||{},g,m,b;for(g=0;g<=c;++g)m=i[(a+(f?c-g:g))%r],!m.skip&&(u?(e.moveTo(m.x,m.y),u=!1):d(e,b,m,f,o.stepped),b=m);return l&&(m=i[(a+(f?c:0))%r],d(e,b,m,f,o.stepped)),!!l}function BL(e,t,s,n){const i=t.points,{count:o,start:r,ilen:a}=ub(i,s,n),{move:l=!0,reverse:c}=n||{};let d=0,u=0,f,g,m,b,v,w;const E=T=>(r+(c?a-T:T))%o,$=()=>{b!==v&&(e.lineTo(d,v),e.lineTo(d,b),e.lineTo(d,w))};for(l&&(g=i[E(0)],e.moveTo(g.x,g.y)),f=0;f<=a;++f){if(g=i[E(f)],g.skip)continue;const T=g.x,y=g.y,x=T|0;x===m?(y<b?b=y:y>v&&(v=y),d=(u*d+T)/++u):($(),e.lineTo(T,y),m=x,u=0,b=v=y),w=y}$()}function Vc(e){const t=e.options,s=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!s?BL:FL}function VL(e){return e.stepped?VI:e.tension||e.cubicInterpolationMode==="monotone"?HI:Hn}function HL(e,t,s,n){let i=t._path;i||(i=t._path=new Path2D,t.path(i,s,n)&&i.closePath()),db(e,t.options),e.stroke(i)}function jL(e,t,s,n){const{segments:i,options:o}=t,r=Vc(t);for(const a of i)db(e,o,a.style),e.beginPath(),r(e,t,a,{start:s,end:s+n-1})&&e.closePath(),e.stroke()}const WL=typeof Path2D=="function";function zL(e,t,s,n){WL&&!t.options.segment?HL(e,t,s,n):jL(e,t,s,n)}class ln extends js{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,s){const n=this.options;if((n.tension||n.cubicInterpolationMode==="monotone")&&!n.stepped&&!this._pointsUpdated){const i=n.spanGaps?this._loop:this._fullLoop;OI(this._points,n,t,i,s),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=YI(this,this.options.segment))}first(){const t=this.segments,s=this.points;return t.length&&s[t[0].start]}last(){const t=this.segments,s=this.points,n=t.length;return n&&s[t[n-1].end]}interpolate(t,s){const n=this.options,i=t[s],o=this.points,r=J_(this,{property:s,start:i,end:i});if(!r.length)return;const a=[],l=VL(n);let c,d;for(c=0,d=r.length;c<d;++c){const{start:u,end:f}=r[c],g=o[u],m=o[f];if(g===m){a.push(g);continue}const b=Math.abs((i-g[s])/(m[s]-g[s])),v=l(g,m,b,n.stepped);v[s]=t[s],a.push(v)}return a.length===1?a[0]:a}pathSegment(t,s,n){return Vc(this)(t,this,s,n)}path(t,s,n){const i=this.segments,o=Vc(this);let r=this._loop;s=s||0,n=n||this.points.length-s;for(const a of i)r&=o(t,this,a,{start:s,end:s+n-1});return!!r}draw(t,s,n,i){const o=this.options||{};(this.points||[]).length&&o.borderWidth&&(t.save(),zL(t,this,n,i),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}it(ln,"id","line"),it(ln,"defaults",{borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0}),it(ln,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"}),it(ln,"descriptors",{_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"});function xp(e,t,s,n){const i=e.options,{[s]:o}=e.getProps([s],n);return Math.abs(t-o)<i.radius+i.hitRadius}class pa extends js{constructor(s){super();it(this,"parsed");it(this,"skip");it(this,"stop");this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,s&&Object.assign(this,s)}inRange(s,n,i){const o=this.options,{x:r,y:a}=this.getProps(["x","y"],i);return Math.pow(s-r,2)+Math.pow(n-a,2)<Math.pow(o.hitRadius+o.radius,2)}inXRange(s,n){return xp(this,s,"x",n)}inYRange(s,n){return xp(this,s,"y",n)}getCenterPoint(s){const{x:n,y:i}=this.getProps(["x","y"],s);return{x:n,y:i}}size(s){s=s||this.options||{};let n=s.radius||0;n=Math.max(n,n&&s.hoverRadius||0);const i=n&&s.borderWidth||0;return(n+i)*2}draw(s,n){const i=this.options;this.skip||i.radius<.1||!Is(this,n,this.size(i)/2)||(s.strokeStyle=i.borderColor,s.lineWidth=i.borderWidth,s.fillStyle=i.backgroundColor,Rc(s,i,this.x,this.y))}getRange(){const s=this.options||{};return s.radius+s.hitRadius}}it(pa,"id","point"),it(pa,"defaults",{borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0}),it(pa,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});function hb(e,t){const{x:s,y:n,base:i,width:o,height:r}=e.getProps(["x","y","base","width","height"],t);let a,l,c,d,u;return e.horizontal?(u=r/2,a=Math.min(s,i),l=Math.max(s,i),c=n-u,d=n+u):(u=o/2,a=s-u,l=s+u,c=Math.min(n,i),d=Math.max(n,i)),{left:a,top:c,right:l,bottom:d}}function cn(e,t,s,n){return e?0:de(t,s,n)}function UL(e,t,s){const n=e.options.borderWidth,i=e.borderSkipped,o=V_(n);return{t:cn(i.top,o.top,0,s),r:cn(i.right,o.right,0,t),b:cn(i.bottom,o.bottom,0,s),l:cn(i.left,o.left,0,t)}}function KL(e,t,s){const{enableBorderRadius:n}=e.getProps(["enableBorderRadius"]),i=e.options.borderRadius,o=Gn(i),r=Math.min(t,s),a=e.borderSkipped,l=n||It(i);return{topLeft:cn(!l||a.top||a.left,o.topLeft,0,r),topRight:cn(!l||a.top||a.right,o.topRight,0,r),bottomLeft:cn(!l||a.bottom||a.left,o.bottomLeft,0,r),bottomRight:cn(!l||a.bottom||a.right,o.bottomRight,0,r)}}function YL(e){const t=hb(e),s=t.right-t.left,n=t.bottom-t.top,i=UL(e,s/2,n/2),o=KL(e,s/2,n/2);return{outer:{x:t.left,y:t.top,w:s,h:n,radius:o},inner:{x:t.left+i.l,y:t.top+i.t,w:s-i.l-i.r,h:n-i.t-i.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(i.t,i.l)),topRight:Math.max(0,o.topRight-Math.max(i.t,i.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(i.b,i.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(i.b,i.r))}}}}function ic(e,t,s,n){const i=t===null,o=s===null,a=e&&!(i&&o)&&hb(e,n);return a&&(i||Os(t,a.left,a.right))&&(o||Os(s,a.top,a.bottom))}function qL(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function GL(e,t){e.rect(t.x,t.y,t.w,t.h)}function oc(e,t,s={}){const n=e.x!==s.x?-t:0,i=e.y!==s.y?-t:0,o=(e.x+e.w!==s.x+s.w?t:0)-n,r=(e.y+e.h!==s.y+s.h?t:0)-i;return{x:e.x+n,y:e.y+i,w:e.w+o,h:e.h+r,radius:e.radius}}class ga extends js{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:s,options:{borderColor:n,backgroundColor:i}}=this,{inner:o,outer:r}=YL(this),a=qL(r.radius)?Go:GL;t.save(),(r.w!==o.w||r.h!==o.h)&&(t.beginPath(),a(t,oc(r,s,o)),t.clip(),a(t,oc(o,-s,r)),t.fillStyle=n,t.fill("evenodd")),t.beginPath(),a(t,oc(o,s)),t.fillStyle=i,t.fill(),t.restore()}inRange(t,s,n){return ic(this,t,s,n)}inXRange(t,s){return ic(this,t,null,s)}inYRange(t,s){return ic(this,null,t,s)}getCenterPoint(t){const{x:s,y:n,base:i,horizontal:o}=this.getProps(["x","y","base","horizontal"],t);return{x:o?(s+i)/2:s,y:o?n:(n+i)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}it(ga,"id","bar"),it(ga,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),it(ga,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});function XL(e,t,s,n,i){const o=i.samples||n;if(o>=s)return e.slice(t,t+s);const r=[],a=(s-2)/(o-2);let l=0;const c=t+s-1;let d=t,u,f,g,m,b;for(r[l++]=e[d],u=0;u<o-2;u++){let v=0,w=0,E;const $=Math.floor((u+1)*a)+1+t,T=Math.min(Math.floor((u+2)*a)+1,s)+t,y=T-$;for(E=$;E<T;E++)v+=e[E].x,w+=e[E].y;v/=y,w/=y;const x=Math.floor(u*a)+1+t,C=Math.min(Math.floor((u+1)*a)+1,s)+t,{x:S,y:P}=e[d];for(g=m=-1,E=x;E<C;E++)m=.5*Math.abs((S-v)*(e[E].y-P)-(S-e[E].x)*(w-P)),m>g&&(g=m,f=e[E],b=E);r[l++]=f,d=b}return r[l++]=e[c],r}function JL(e,t,s,n){let i=0,o=0,r,a,l,c,d,u,f,g,m,b;const v=[],w=t+s-1,E=e[t].x,T=e[w].x-E;for(r=t;r<t+s;++r){a=e[r],l=(a.x-E)/T*n,c=a.y;const y=l|0;if(y===d)c<m?(m=c,u=r):c>b&&(b=c,f=r),i=(o*i+a.x)/++o;else{const x=r-1;if(!Ft(u)&&!Ft(f)){const C=Math.min(u,f),S=Math.max(u,f);C!==g&&C!==x&&v.push({...e[C],x:i}),S!==g&&S!==x&&v.push({...e[S],x:i})}r>0&&x!==g&&v.push(e[x]),v.push(a),d=y,o=0,m=b=c,u=f=g=r}}return v}function fb(e){if(e._decimated){const t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function wp(e){e.data.datasets.forEach(t=>{fb(t)})}function QL(e,t){const s=t.length;let n=0,i;const{iScale:o}=e,{min:r,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(n=de(Ds(t,o.axis,r).lo,0,s-1)),c?i=de(Ds(t,o.axis,a).hi+1,n,s)-n:i=s-n,{start:n,count:i}}var ZL={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,s)=>{if(!s.enabled){wp(e);return}const n=e.width;e.data.datasets.forEach((i,o)=>{const{_data:r,indexAxis:a}=i,l=e.getDatasetMeta(o),c=r||i.data;if(_o([a,e.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;const d=e.scales[l.xAxisID];if(d.type!=="linear"&&d.type!=="time"||e.options.parsing)return;let{start:u,count:f}=QL(l,c);const g=s.threshold||4*n;if(f<=g){fb(i);return}Ft(r)&&(i._data=c,delete i.data,Object.defineProperty(i,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(b){this._data=b}}));let m;switch(s.algorithm){case"lttb":m=XL(c,u,f,n,s);break;case"min-max":m=JL(c,u,f,n);break;default:throw new Error(`Unsupported decimation algorithm '${s.algorithm}'`)}i._decimated=m})},destroy(e){wp(e)}};function tR(e,t,s){const n=e.segments,i=e.points,o=t.points,r=[];for(const a of n){let{start:l,end:c}=a;c=cu(l,c,i);const d=Hc(s,i[l],i[c],a.loop);if(!t.segments){r.push({source:a,target:d,start:i[l],end:i[c]});continue}const u=J_(t,d);for(const f of u){const g=Hc(s,o[f.start],o[f.end],f.loop),m=X_(a,i,g);for(const b of m)r.push({source:b,target:f,start:{[s]:Ep(d,g,"start",Math.max)},end:{[s]:Ep(d,g,"end",Math.min)}})}}return r}function Hc(e,t,s,n){if(n)return;let i=t[e],o=s[e];return e==="angle"&&(i=Ie(i),o=Ie(o)),{property:e,start:i,end:o}}function eR(e,t){const{x:s=null,y:n=null}=e||{},i=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=cu(r,a,i);const l=i[r],c=i[a];n!==null?(o.push({x:l.x,y:n}),o.push({x:c.x,y:n})):s!==null&&(o.push({x:s,y:l.y}),o.push({x:s,y:c.y}))}),o}function cu(e,t,s){for(;t>e;t--){const n=s[t];if(!isNaN(n.x)&&!isNaN(n.y))break}return t}function Ep(e,t,s,n){return e&&t?n(e[s],t[s]):e?e[s]:t?t[s]:0}function pb(e,t){let s=[],n=!1;return qt(e)?(n=!0,s=e):s=eR(e,t),s.length?new ln({points:s,options:{tension:0},_loop:n,_fullLoop:n}):null}function Sp(e){return e&&e.fill!==!1}function sR(e,t,s){let i=e[t].fill;const o=[t];let r;if(!s)return i;for(;i!==!1&&o.indexOf(i)===-1;){if(!Qt(i))return i;if(r=e[i],!r)return!1;if(r.visible)return i;o.push(i),i=r.fill}return!1}function nR(e,t,s){const n=aR(e);if(It(n))return isNaN(n.value)?!1:n;let i=parseFloat(n);return Qt(i)&&Math.floor(i)===i?iR(n[0],t,i,s):["origin","start","end","stack","shape"].indexOf(n)>=0&&n}function iR(e,t,s,n){return(e==="-"||e==="+")&&(s=t+s),s===t||s<0||s>=n?!1:s}function oR(e,t){let s=null;return e==="start"?s=t.bottom:e==="end"?s=t.top:It(e)?s=t.getPixelForValue(e.value):t.getBasePixel&&(s=t.getBasePixel()),s}function rR(e,t,s){let n;return e==="start"?n=s:e==="end"?n=t.options.reverse?t.min:t.max:It(e)?n=e.value:n=t.getBaseValue(),n}function aR(e){const t=e.options,s=t.fill;let n=St(s&&s.target,s);return n===void 0&&(n=!!t.backgroundColor),n===!1||n===null?!1:n===!0?"origin":n}function lR(e){const{scale:t,index:s,line:n}=e,i=[],o=n.segments,r=n.points,a=cR(t,s);a.push(pb({x:null,y:t.bottom},n));for(let l=0;l<o.length;l++){const c=o[l];for(let d=c.start;d<=c.end;d++)dR(i,r[d],a)}return new ln({points:i,options:{}})}function cR(e,t){const s=[],n=e.getMatchingVisibleMetas("line");for(let i=0;i<n.length;i++){const o=n[i];if(o.index===t)break;o.hidden||s.unshift(o.dataset)}return s}function dR(e,t,s){const n=[];for(let i=0;i<s.length;i++){const o=s[i],{first:r,last:a,point:l}=uR(o,t,"x");if(!(!l||r&&a)){if(r)n.unshift(l);else if(e.push(l),!a)break}}e.push(...n)}function uR(e,t,s){const n=e.interpolate(t,s);if(!n)return{};const i=n[s],o=e.segments,r=e.points;let a=!1,l=!1;for(let c=0;c<o.length;c++){const d=o[c],u=r[d.start][s],f=r[d.end][s];if(Os(i,u,f)){a=i===u,l=i===f;break}}return{first:a,last:l,point:n}}class gb{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,s,n){const{x:i,y:o,radius:r}=this;return s=s||{start:0,end:Gt},t.arc(i,o,r,s.end,s.start,!0),!n.bounds}interpolate(t){const{x:s,y:n,radius:i}=this,o=t.angle;return{x:s+Math.cos(o)*i,y:n+Math.sin(o)*i,angle:o}}}function hR(e){const{chart:t,fill:s,line:n}=e;if(Qt(s))return fR(t,s);if(s==="stack")return lR(e);if(s==="shape")return!0;const i=pR(e);return i instanceof gb?i:pb(i,n)}function fR(e,t){const s=e.getDatasetMeta(t);return s&&e.isDatasetVisible(t)?s.dataset:null}function pR(e){return(e.scale||{}).getPointPositionForValue?mR(e):gR(e)}function gR(e){const{scale:t={},fill:s}=e,n=oR(s,t);if(Qt(n)){const i=t.isHorizontal();return{x:i?n:null,y:i?null:n}}return null}function mR(e){const{scale:t,fill:s}=e,n=t.options,i=t.getLabels().length,o=n.reverse?t.max:t.min,r=rR(s,t,o),a=[];if(n.grid.circular){const l=t.getPointPositionForValue(0,o);return new gb({x:l.x,y:l.y,radius:t.getDistanceFromCenterForValue(r)})}for(let l=0;l<i;++l)a.push(t.getPointPositionForValue(l,r));return a}function rc(e,t,s){const n=hR(t),{line:i,scale:o,axis:r}=t,a=i.options,l=a.fill,c=a.backgroundColor,{above:d=c,below:u=c}=l||{};n&&i.points.length&&(dl(e,s),_R(e,{line:i,target:n,above:d,below:u,area:s,scale:o,axis:r}),ul(e))}function _R(e,t){const{line:s,target:n,above:i,below:o,area:r,scale:a}=t,l=s._loop?"angle":t.axis;e.save(),l==="x"&&o!==i&&(Ap(e,n,r.top),Cp(e,{line:s,target:n,color:i,scale:a,property:l}),e.restore(),e.save(),Ap(e,n,r.bottom)),Cp(e,{line:s,target:n,color:o,scale:a,property:l}),e.restore()}function Ap(e,t,s){const{segments:n,points:i}=t;let o=!0,r=!1;e.beginPath();for(const a of n){const{start:l,end:c}=a,d=i[l],u=i[cu(l,c,i)];o?(e.moveTo(d.x,d.y),o=!1):(e.lineTo(d.x,s),e.lineTo(d.x,d.y)),r=!!t.pathSegment(e,a,{move:r}),r?e.closePath():e.lineTo(u.x,s)}e.lineTo(t.first().x,s),e.closePath(),e.clip()}function Cp(e,t){const{line:s,target:n,property:i,color:o,scale:r}=t,a=tR(s,n,i);for(const{source:l,target:c,start:d,end:u}of a){const{style:{backgroundColor:f=o}={}}=l,g=n!==!0;e.save(),e.fillStyle=f,bR(e,r,g&&Hc(i,d,u)),e.beginPath();const m=!!s.pathSegment(e,l);let b;if(g){m?e.closePath():$p(e,n,u,i);const v=!!n.pathSegment(e,c,{move:m,reverse:!0});b=m&&v,b||$p(e,n,d,i)}e.closePath(),e.fill(b?"evenodd":"nonzero"),e.restore()}}function bR(e,t,s){const{top:n,bottom:i}=t.chart.chartArea,{property:o,start:r,end:a}=s||{};o==="x"&&(e.beginPath(),e.rect(r,n,a-r,i-n),e.clip())}function $p(e,t,s,n){const i=t.interpolate(s,n);i&&e.lineTo(i.x,i.y)}var vR={id:"filler",afterDatasetsUpdate(e,t,s){const n=(e.data.datasets||[]).length,i=[];let o,r,a,l;for(r=0;r<n;++r)o=e.getDatasetMeta(r),a=o.dataset,l=null,a&&a.options&&a instanceof ln&&(l={visible:e.isDatasetVisible(r),index:r,fill:nR(a,r,n),chart:e,axis:o.controller.options.indexAxis,scale:o.vScale,line:a}),o.$filler=l,i.push(l);for(r=0;r<n;++r)l=i[r],!(!l||l.fill===!1)&&(l.fill=sR(i,r,s.propagate))},beforeDraw(e,t,s){const n=s.drawTime==="beforeDraw",i=e.getSortedVisibleDatasetMetas(),o=e.chartArea;for(let r=i.length-1;r>=0;--r){const a=i[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),n&&a.fill&&rc(e.ctx,a,o))}},beforeDatasetsDraw(e,t,s){if(s.drawTime!=="beforeDatasetsDraw")return;const n=e.getSortedVisibleDatasetMetas();for(let i=n.length-1;i>=0;--i){const o=n[i].$filler;Sp(o)&&rc(e.ctx,o,e.chartArea)}},beforeDatasetDraw(e,t,s){const n=t.meta.$filler;!Sp(n)||s.drawTime!=="beforeDatasetDraw"||rc(e.ctx,n,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Pp=(e,t)=>{let{boxHeight:s=t,boxWidth:n=t}=e;return e.usePointStyle&&(s=Math.min(s,t),n=e.pointStyleWidth||Math.min(n,t)),{boxWidth:n,boxHeight:s,itemHeight:Math.max(t,s)}},yR=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class kp extends js{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,s,n){this.maxWidth=t,this.maxHeight=s,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let s=Kt(t.generateLabels,[this.chart],this)||[];t.filter&&(s=s.filter(n=>t.filter(n,this.chart.data))),t.sort&&(s=s.sort((n,i)=>t.sort(n,i,this.chart.data))),this.options.reverse&&s.reverse(),this.legendItems=s}fit(){const{options:t,ctx:s}=this;if(!t.display){this.width=this.height=0;return}const n=t.labels,i=re(n.font),o=i.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Pp(n,o);let c,d;s.font=i.string,this.isHorizontal()?(c=this.maxWidth,d=this._fitRows(r,o,a,l)+10):(d=this.maxHeight,c=this._fitCols(r,i,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(d,t.maxHeight||this.maxHeight)}_fitRows(t,s,n,i){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],d=i+a;let u=t;o.textAlign="left",o.textBaseline="middle";let f=-1,g=-d;return this.legendItems.forEach((m,b)=>{const v=n+s/2+o.measureText(m.text).width;(b===0||c[c.length-1]+v+2*a>r)&&(u+=d,c[c.length-(b>0?0:1)]=0,g+=d,f++),l[b]={left:0,top:g,row:f,width:v,height:i},c[c.length-1]+=v+a}),u}_fitCols(t,s,n,i){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],d=r-t;let u=a,f=0,g=0,m=0,b=0;return this.legendItems.forEach((v,w)=>{const{itemWidth:E,itemHeight:$}=xR(n,s,o,v,i);w>0&&g+$+2*a>d&&(u+=f+a,c.push({width:f,height:g}),m+=f+a,b++,f=g=0),l[w]={left:m,top:g,col:b,width:E,height:$},f=Math.max(f,E),g+=$+a}),u+=f,c.push({width:f,height:g}),u}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:s,options:{align:n,labels:{padding:i},rtl:o}}=this,r=Ai(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=ge(n,this.left+i,this.right-this.lineWidths[a]);for(const c of s)a!==c.row&&(a=c.row,l=ge(n,this.left+i,this.right-this.lineWidths[a])),c.top+=this.top+t+i,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+i}else{let a=0,l=ge(n,this.top+t+i,this.bottom-this.columnSizes[a].height);for(const c of s)c.col!==a&&(a=c.col,l=ge(n,this.top+t+i,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+i,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+i}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;dl(t,this),this._draw(),ul(t)}}_draw(){const{options:t,columnSizes:s,lineWidths:n,ctx:i}=this,{align:o,labels:r}=t,a=Zt.color,l=Ai(t.rtl,this.left,this.width),c=re(r.font),{padding:d}=r,u=c.size,f=u/2;let g;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=c.string;const{boxWidth:m,boxHeight:b,itemHeight:v}=Pp(r,u),w=function(x,C,S){if(isNaN(m)||m<=0||isNaN(b)||b<0)return;i.save();const P=St(S.lineWidth,1);if(i.fillStyle=St(S.fillStyle,a),i.lineCap=St(S.lineCap,"butt"),i.lineDashOffset=St(S.lineDashOffset,0),i.lineJoin=St(S.lineJoin,"miter"),i.lineWidth=P,i.strokeStyle=St(S.strokeStyle,a),i.setLineDash(St(S.lineDash,[])),r.usePointStyle){const M={radius:b*Math.SQRT2/2,pointStyle:S.pointStyle,rotation:S.rotation,borderWidth:P},I=l.xPlus(x,m/2),N=C+f;B_(i,M,I,N,r.pointStyleWidth&&m)}else{const M=C+Math.max((u-b)/2,0),I=l.leftForLtr(x,m),N=Gn(S.borderRadius);i.beginPath(),Object.values(N).some(Q=>Q!==0)?Go(i,{x:I,y:M,w:m,h:b,radius:N}):i.rect(I,M,m,b),i.fill(),P!==0&&i.stroke()}i.restore()},E=function(x,C,S){ei(i,S.text,x,C+v/2,c,{strikethrough:S.hidden,textAlign:l.textAlign(S.textAlign)})},$=this.isHorizontal(),T=this._computeTitleHeight();$?g={x:ge(o,this.left+d,this.right-n[0]),y:this.top+d+T,line:0}:g={x:this.left+d,y:ge(o,this.top+T+d,this.bottom-s[0].height),line:0},Y_(this.ctx,t.textDirection);const y=v+d;this.legendItems.forEach((x,C)=>{i.strokeStyle=x.fontColor,i.fillStyle=x.fontColor;const S=i.measureText(x.text).width,P=l.textAlign(x.textAlign||(x.textAlign=r.textAlign)),M=m+f+S;let I=g.x,N=g.y;l.setWidth(this.width),$?C>0&&I+M+d>this.right&&(N=g.y+=y,g.line++,I=g.x=ge(o,this.left+d,this.right-n[g.line])):C>0&&N+y>this.bottom&&(I=g.x=I+s[g.line].width+d,g.line++,N=g.y=ge(o,this.top+T+d,this.bottom-s[g.line].height));const Q=l.x(I);if(w(Q,N,x),I=XD(P,I+m+f,$?I+M:this.right,t.rtl),E(l.x(I),N,x),$)g.x+=M+d;else if(typeof x.text!="string"){const G=c.lineHeight;g.y+=mb(x,G)+d}else g.y+=y}),q_(this.ctx,t.textDirection)}drawTitle(){const t=this.options,s=t.title,n=re(s.font),i=be(s.padding);if(!s.display)return;const o=Ai(t.rtl,this.left,this.width),r=this.ctx,a=s.position,l=n.size/2,c=i.top+l;let d,u=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),d=this.top+c,u=ge(t.align,u,this.right-f);else{const m=this.columnSizes.reduce((b,v)=>Math.max(b,v.height),0);d=c+ge(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const g=ge(a,u,u+f);r.textAlign=o.textAlign(tu(a)),r.textBaseline="middle",r.strokeStyle=s.color,r.fillStyle=s.color,r.font=n.string,ei(r,s.text,g,d,n)}_computeTitleHeight(){const t=this.options.title,s=re(t.font),n=be(t.padding);return t.display?s.lineHeight+n.height:0}_getLegendItemAt(t,s){let n,i,o;if(Os(t,this.left,this.right)&&Os(s,this.top,this.bottom)){for(o=this.legendHitBoxes,n=0;n<o.length;++n)if(i=o[n],Os(t,i.left,i.left+i.width)&&Os(s,i.top,i.top+i.height))return this.legendItems[n]}return null}handleEvent(t){const s=this.options;if(!SR(t.type,s))return;const n=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const i=this._hoveredItem,o=yR(i,n);i&&!o&&Kt(s.onLeave,[t,i,this],this),this._hoveredItem=n,n&&!o&&Kt(s.onHover,[t,n,this],this)}else n&&Kt(s.onClick,[t,n,this],this)}}function xR(e,t,s,n,i){const o=wR(n,e,t,s),r=ER(i,n,t.lineHeight);return{itemWidth:o,itemHeight:r}}function wR(e,t,s,n){let i=e.text;return i&&typeof i!="string"&&(i=i.reduce((o,r)=>o.length>r.length?o:r)),t+s.size/2+n.measureText(i).width}function ER(e,t,s){let n=e;return typeof t.text!="string"&&(n=mb(t,s)),n}function mb(e,t){const s=e.text?e.text.length:0;return t*s}function SR(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var AR={id:"legend",_element:kp,start(e,t,s){const n=e.legend=new kp({ctx:e.ctx,options:s,chart:e});Ge.configure(e,n,s),Ge.addBox(e,n)},stop(e){Ge.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,s){const n=e.legend;Ge.configure(e,n,s),n.options=s},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,s){const n=t.datasetIndex,i=s.chart;i.isDatasetVisible(n)?(i.hide(n),t.hidden=!0):(i.show(n),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:s,pointStyle:n,textAlign:i,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(s?0:void 0),d=be(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(d.width+d.height)/4,strokeStyle:c.borderColor,pointStyle:n||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class _b extends js{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,s){const n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=s;const i=qt(n.text)?n.text.length:1;this._padding=be(n.padding);const o=i*re(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:s,left:n,bottom:i,right:o,options:r}=this,a=r.align;let l=0,c,d,u;return this.isHorizontal()?(d=ge(a,n,o),u=s+t,c=o-n):(r.position==="left"?(d=n+t,u=ge(a,i,s),l=Xt*-.5):(d=o-t,u=ge(a,s,i),l=Xt*.5),c=i-s),{titleX:d,titleY:u,maxWidth:c,rotation:l}}draw(){const t=this.ctx,s=this.options;if(!s.display)return;const n=re(s.font),o=n.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);ei(t,s.text,0,0,n,{color:s.color,maxWidth:l,rotation:c,textAlign:tu(s.align),textBaseline:"middle",translation:[r,a]})}}function CR(e,t){const s=new _b({ctx:e.ctx,options:t,chart:e});Ge.configure(e,s,t),Ge.addBox(e,s),e.titleBlock=s}var $R={id:"title",_element:_b,start(e,t,s){CR(e,s)},stop(e){const t=e.titleBlock;Ge.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,s){const n=e.titleBlock;Ge.configure(e,n,s),n.options=s},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const yo={average(e){if(!e.length)return!1;let t,s,n=0,i=0,o=0;for(t=0,s=e.length;t<s;++t){const r=e[t].element;if(r&&r.hasValue()){const a=r.tooltipPosition();n+=a.x,i+=a.y,++o}}return{x:n/o,y:i/o}},nearest(e,t){if(!e.length)return!1;let s=t.x,n=t.y,i=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=e.length;o<r;++o){const l=e[o].element;if(l&&l.hasValue()){const c=l.getCenterPoint(),d=Ic(t,c);d<i&&(i=d,a=l)}}if(a){const l=a.tooltipPosition();s=l.x,n=l.y}return{x:s,y:n}}};function ds(e,t){return t&&(qt(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function Ps(e){return(typeof e=="string"||e instanceof String)&&e.indexOf(`
`)>-1?e.split(`
`):e}function PR(e,t){const{element:s,datasetIndex:n,index:i}=t,o=e.getDatasetMeta(n).controller,{label:r,value:a}=o.getLabelAndValue(i);return{chart:e,label:r,parsed:o.getParsed(i),raw:e.data.datasets[n].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:n,element:s}}function Tp(e,t){const s=e.chart.ctx,{body:n,footer:i,title:o}=e,{boxWidth:r,boxHeight:a}=t,l=re(t.bodyFont),c=re(t.titleFont),d=re(t.footerFont),u=o.length,f=i.length,g=n.length,m=be(t.padding);let b=m.height,v=0,w=n.reduce((T,y)=>T+y.before.length+y.lines.length+y.after.length,0);if(w+=e.beforeBody.length+e.afterBody.length,u&&(b+=u*c.lineHeight+(u-1)*t.titleSpacing+t.titleMarginBottom),w){const T=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;b+=g*T+(w-g)*l.lineHeight+(w-1)*t.bodySpacing}f&&(b+=t.footerMarginTop+f*d.lineHeight+(f-1)*t.footerSpacing);let E=0;const $=function(T){v=Math.max(v,s.measureText(T).width+E)};return s.save(),s.font=c.string,zt(e.title,$),s.font=l.string,zt(e.beforeBody.concat(e.afterBody),$),E=t.displayColors?r+2+t.boxPadding:0,zt(n,T=>{zt(T.before,$),zt(T.lines,$),zt(T.after,$)}),E=0,s.font=d.string,zt(e.footer,$),s.restore(),v+=m.width,{width:v,height:b}}function kR(e,t){const{y:s,height:n}=t;return s<n/2?"top":s>e.height-n/2?"bottom":"center"}function TR(e,t,s,n){const{x:i,width:o}=n,r=s.caretSize+s.caretPadding;if(e==="left"&&i+o+r>t.width||e==="right"&&i-o-r<0)return!0}function MR(e,t,s,n){const{x:i,width:o}=s,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return n==="center"?c=i<=(a+l)/2?"left":"right":i<=o/2?c="left":i>=r-o/2&&(c="right"),TR(c,e,t,s)&&(c="center"),c}function Mp(e,t,s){const n=s.yAlign||t.yAlign||kR(e,s);return{xAlign:s.xAlign||t.xAlign||MR(e,t,s,n),yAlign:n}}function OR(e,t){let{x:s,width:n}=e;return t==="right"?s-=n:t==="center"&&(s-=n/2),s}function DR(e,t,s){let{y:n,height:i}=e;return t==="top"?n+=s:t==="bottom"?n-=i+s:n-=i/2,n}function Op(e,t,s,n){const{caretSize:i,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=s,c=i+o,{topLeft:d,topRight:u,bottomLeft:f,bottomRight:g}=Gn(r);let m=OR(t,a);const b=DR(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(d,f)+i:a==="right"&&(m+=Math.max(u,g)+i),{x:de(m,0,n.width-t.width),y:de(b,0,n.height-t.height)}}function Gr(e,t,s){const n=be(s.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-n.right:e.x+n.left}function Dp(e){return ds([],Ps(e))}function IR(e,t,s){return En(e,{tooltip:t,tooltipItems:s,type:"tooltip"})}function Ip(e,t){const s=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return s?e.override(s):e}const bb={beforeTitle:As,title(e){if(e.length>0){const t=e[0],s=t.chart.data.labels,n=s?s.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(n>0&&t.dataIndex<n)return s[t.dataIndex]}return""},afterTitle:As,beforeBody:As,beforeLabel:As,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const s=e.formattedValue;return Ft(s)||(t+=s),t},labelColor(e){const s=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:s.borderColor,backgroundColor:s.backgroundColor,borderWidth:s.borderWidth,borderDash:s.borderDash,borderDashOffset:s.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const s=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:s.pointStyle,rotation:s.rotation}},afterLabel:As,afterBody:As,beforeFooter:As,footer:As,afterFooter:As};function Pe(e,t,s,n){const i=e[t].call(s,n);return typeof i>"u"?bb[t].call(s,n):i}class jc extends js{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const s=this.chart,n=this.options.setContext(this.getContext()),i=n.enabled&&s.options.animation&&n.animations,o=new Q_(this.chart,i);return i._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=IR(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,s){const{callbacks:n}=s,i=Pe(n,"beforeTitle",this,t),o=Pe(n,"title",this,t),r=Pe(n,"afterTitle",this,t);let a=[];return a=ds(a,Ps(i)),a=ds(a,Ps(o)),a=ds(a,Ps(r)),a}getBeforeBody(t,s){return Dp(Pe(s.callbacks,"beforeBody",this,t))}getBody(t,s){const{callbacks:n}=s,i=[];return zt(t,o=>{const r={before:[],lines:[],after:[]},a=Ip(n,o);ds(r.before,Ps(Pe(a,"beforeLabel",this,o))),ds(r.lines,Pe(a,"label",this,o)),ds(r.after,Ps(Pe(a,"afterLabel",this,o))),i.push(r)}),i}getAfterBody(t,s){return Dp(Pe(s.callbacks,"afterBody",this,t))}getFooter(t,s){const{callbacks:n}=s,i=Pe(n,"beforeFooter",this,t),o=Pe(n,"footer",this,t),r=Pe(n,"afterFooter",this,t);let a=[];return a=ds(a,Ps(i)),a=ds(a,Ps(o)),a=ds(a,Ps(r)),a}_createItems(t){const s=this._active,n=this.chart.data,i=[],o=[],r=[];let a=[],l,c;for(l=0,c=s.length;l<c;++l)a.push(PR(this.chart,s[l]));return t.filter&&(a=a.filter((d,u,f)=>t.filter(d,u,f,n))),t.itemSort&&(a=a.sort((d,u)=>t.itemSort(d,u,n))),zt(a,d=>{const u=Ip(t.callbacks,d);i.push(Pe(u,"labelColor",this,d)),o.push(Pe(u,"labelPointStyle",this,d)),r.push(Pe(u,"labelTextColor",this,d))}),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,s){const n=this.options.setContext(this.getContext()),i=this._active;let o,r=[];if(!i.length)this.opacity!==0&&(o={opacity:0});else{const a=yo[n.position].call(this,i,this._eventPosition);r=this._createItems(n),this.title=this.getTitle(r,n),this.beforeBody=this.getBeforeBody(r,n),this.body=this.getBody(r,n),this.afterBody=this.getAfterBody(r,n),this.footer=this.getFooter(r,n);const l=this._size=Tp(this,n),c=Object.assign({},a,l),d=Mp(this.chart,n,c),u=Op(n,c,d,this.chart);this.xAlign=d.xAlign,this.yAlign=d.yAlign,o={opacity:1,x:u.x,y:u.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:s})}drawCaret(t,s,n,i){const o=this.getCaretPosition(t,n,i);s.lineTo(o.x1,o.y1),s.lineTo(o.x2,o.y2),s.lineTo(o.x3,o.y3)}getCaretPosition(t,s,n){const{xAlign:i,yAlign:o}=this,{caretSize:r,cornerRadius:a}=n,{topLeft:l,topRight:c,bottomLeft:d,bottomRight:u}=Gn(a),{x:f,y:g}=t,{width:m,height:b}=s;let v,w,E,$,T,y;return o==="center"?(T=g+b/2,i==="left"?(v=f,w=v-r,$=T+r,y=T-r):(v=f+m,w=v+r,$=T-r,y=T+r),E=v):(i==="left"?w=f+Math.max(l,d)+r:i==="right"?w=f+m-Math.max(c,u)-r:w=this.caretX,o==="top"?($=g,T=$-r,v=w-r,E=w+r):($=g+b,T=$+r,v=w+r,E=w-r),y=$),{x1:v,x2:w,x3:E,y1:$,y2:T,y3:y}}drawTitle(t,s,n){const i=this.title,o=i.length;let r,a,l;if(o){const c=Ai(n.rtl,this.x,this.width);for(t.x=Gr(this,n.titleAlign,n),s.textAlign=c.textAlign(n.titleAlign),s.textBaseline="middle",r=re(n.titleFont),a=n.titleSpacing,s.fillStyle=n.titleColor,s.font=r.string,l=0;l<o;++l)s.fillText(i[l],c.x(t.x),t.y+r.lineHeight/2),t.y+=r.lineHeight+a,l+1===o&&(t.y+=n.titleMarginBottom-a)}}_drawColorBox(t,s,n,i,o){const r=this.labelColors[n],a=this.labelPointStyles[n],{boxHeight:l,boxWidth:c}=o,d=re(o.bodyFont),u=Gr(this,"left",o),f=i.x(u),g=l<d.lineHeight?(d.lineHeight-l)/2:0,m=s.y+g;if(o.usePointStyle){const b={radius:Math.min(c,l)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},v=i.leftForLtr(f,c)+c/2,w=m+l/2;t.strokeStyle=o.multiKeyBackground,t.fillStyle=o.multiKeyBackground,Rc(t,b,v,w),t.strokeStyle=r.borderColor,t.fillStyle=r.backgroundColor,Rc(t,b,v,w)}else{t.lineWidth=It(r.borderWidth)?Math.max(...Object.values(r.borderWidth)):r.borderWidth||1,t.strokeStyle=r.borderColor,t.setLineDash(r.borderDash||[]),t.lineDashOffset=r.borderDashOffset||0;const b=i.leftForLtr(f,c),v=i.leftForLtr(i.xPlus(f,1),c-2),w=Gn(r.borderRadius);Object.values(w).some(E=>E!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Go(t,{x:b,y:m,w:c,h:l,radius:w}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Go(t,{x:v,y:m+1,w:c-2,h:l-2,radius:w}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(b,m,c,l),t.strokeRect(b,m,c,l),t.fillStyle=r.backgroundColor,t.fillRect(v,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,s,n){const{body:i}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:d}=n,u=re(n.bodyFont);let f=u.lineHeight,g=0;const m=Ai(n.rtl,this.x,this.width),b=function(S){s.fillText(S,m.x(t.x+g),t.y+f/2),t.y+=f+o},v=m.textAlign(r);let w,E,$,T,y,x,C;for(s.textAlign=r,s.textBaseline="middle",s.font=u.string,t.x=Gr(this,v,n),s.fillStyle=n.bodyColor,zt(this.beforeBody,b),g=a&&v!=="right"?r==="center"?c/2+d:c+2+d:0,T=0,x=i.length;T<x;++T){for(w=i[T],E=this.labelTextColors[T],s.fillStyle=E,zt(w.before,b),$=w.lines,a&&$.length&&(this._drawColorBox(s,t,T,m,n),f=Math.max(u.lineHeight,l)),y=0,C=$.length;y<C;++y)b($[y]),f=u.lineHeight;zt(w.after,b)}g=0,f=u.lineHeight,zt(this.afterBody,b),t.y-=o}drawFooter(t,s,n){const i=this.footer,o=i.length;let r,a;if(o){const l=Ai(n.rtl,this.x,this.width);for(t.x=Gr(this,n.footerAlign,n),t.y+=n.footerMarginTop,s.textAlign=l.textAlign(n.footerAlign),s.textBaseline="middle",r=re(n.footerFont),s.fillStyle=n.footerColor,s.font=r.string,a=0;a<o;++a)s.fillText(i[a],l.x(t.x),t.y+r.lineHeight/2),t.y+=r.lineHeight+n.footerSpacing}}drawBackground(t,s,n,i){const{xAlign:o,yAlign:r}=this,{x:a,y:l}=t,{width:c,height:d}=n,{topLeft:u,topRight:f,bottomLeft:g,bottomRight:m}=Gn(i.cornerRadius);s.fillStyle=i.backgroundColor,s.strokeStyle=i.borderColor,s.lineWidth=i.borderWidth,s.beginPath(),s.moveTo(a+u,l),r==="top"&&this.drawCaret(t,s,n,i),s.lineTo(a+c-f,l),s.quadraticCurveTo(a+c,l,a+c,l+f),r==="center"&&o==="right"&&this.drawCaret(t,s,n,i),s.lineTo(a+c,l+d-m),s.quadraticCurveTo(a+c,l+d,a+c-m,l+d),r==="bottom"&&this.drawCaret(t,s,n,i),s.lineTo(a+g,l+d),s.quadraticCurveTo(a,l+d,a,l+d-g),r==="center"&&o==="left"&&this.drawCaret(t,s,n,i),s.lineTo(a,l+u),s.quadraticCurveTo(a,l,a+u,l),s.closePath(),s.fill(),i.borderWidth>0&&s.stroke()}_updateAnimationTarget(t){const s=this.chart,n=this.$animations,i=n&&n.x,o=n&&n.y;if(i||o){const r=yo[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Tp(this,t),l=Object.assign({},r,this._size),c=Mp(s,t,l),d=Op(t,l,c,s);(i._to!==d.x||o._to!==d.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,d))}}_willRender(){return!!this.opacity}draw(t){const s=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(s);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const r=be(s.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;s.enabled&&a&&(t.save(),t.globalAlpha=n,this.drawBackground(o,t,i,s),Y_(t,s.textDirection),o.y+=r.top,this.drawTitle(o,t,s),this.drawBody(o,t,s),this.drawFooter(o,t,s),q_(t,s.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,s){const n=this._active,i=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Pa(n,i),r=this._positionChanged(i,s);(o||r)&&(this._active=i,this._eventPosition=s,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,s,n=!0){if(s&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],r=this._getActiveElements(t,o,s,n),a=this._positionChanged(r,t),l=s||!Pa(r,o)||a;return l&&(this._active=r,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,s))),l}_getActiveElements(t,s,n,i){const o=this.options;if(t.type==="mouseout")return[];if(!i)return s.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const r=this.chart.getElementsAtEventForMode(t,o.mode,o,n);return o.reverse&&r.reverse(),r}_positionChanged(t,s){const{caretX:n,caretY:i,options:o}=this,r=yo[o.position].call(this,t,s);return r!==!1&&(n!==r.x||i!==r.y)}}it(jc,"positioners",yo);var LR={id:"tooltip",_element:jc,positioners:yo,afterInit(e,t,s){s&&(e.tooltip=new jc({chart:e,options:s}))},beforeUpdate(e,t,s){e.tooltip&&e.tooltip.initialize(s)},reset(e,t,s){e.tooltip&&e.tooltip.initialize(s)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const s={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...s,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",s)}},afterEvent(e,t){if(e.tooltip){const s=t.replay;e.tooltip.handleEvent(t.event,s,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:bb},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const RR=(e,t,s,n)=>(typeof t=="string"?(s=e.push(t)-1,n.unshift({index:s,label:t})):isNaN(t)&&(s=null),s);function NR(e,t,s,n){const i=e.indexOf(t);if(i===-1)return RR(e,t,s,n);const o=e.lastIndexOf(t);return i!==o?s:i}const FR=(e,t)=>e===null?null:de(Math.round(e),0,t);function Lp(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class Wc extends ni{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const s=this._addedLabels;if(s.length){const n=this.getLabels();for(const{index:i,label:o}of s)n[i]===o&&n.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,s){if(Ft(t))return null;const n=this.getLabels();return s=isFinite(s)&&n[s]===t?s:NR(n,t,St(s,t),this._addedLabels),FR(s,n.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:s}=this.getUserBounds();let{min:n,max:i}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(n=0),s||(i=this.getLabels().length-1)),this.min=n,this.max=i}buildTicks(){const t=this.min,s=this.max,n=this.options.offset,i=[];let o=this.getLabels();o=t===0&&s===o.length-1?o:o.slice(t,s+1),this._valueRange=Math.max(o.length-(n?0:1),1),this._startValue=this.min-(n?.5:0);for(let r=t;r<=s;r++)i.push({value:r});return i}getLabelForValue(t){return Lp.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const s=this.ticks;return t<0||t>s.length-1?null:this.getPixelForValue(s[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}it(Wc,"id","category"),it(Wc,"defaults",{ticks:{callback:Lp}});function BR(e,t){const s=[],{bounds:i,step:o,min:r,max:a,precision:l,count:c,maxTicks:d,maxDigits:u,includeBounds:f}=e,g=o||1,m=d-1,{min:b,max:v}=t,w=!Ft(r),E=!Ft(a),$=!Ft(c),T=(v-b)/(u+1);let y=Mf((v-b)/m/g)*g,x,C,S,P;if(y<1e-14&&!w&&!E)return[{value:b},{value:v}];P=Math.ceil(v/y)-Math.floor(b/y),P>m&&(y=Mf(P*y/m/g)*g),Ft(l)||(x=Math.pow(10,l),y=Math.ceil(y*x)/x),i==="ticks"?(C=Math.floor(b/y)*y,S=Math.ceil(v/y)*y):(C=b,S=v),w&&E&&o&&WD((a-r)/o,y/1e3)?(P=Math.round(Math.min((a-r)/y,d)),y=(a-r)/P,C=r,S=a):$?(C=w?r:C,S=E?a:S,P=c-1,y=(S-C)/P):(P=(S-C)/y,Oo(P,Math.round(P),y/1e3)?P=Math.round(P):P=Math.ceil(P));const M=Math.max(Of(y),Of(C));x=Math.pow(10,Ft(l)?M:l),C=Math.round(C*x)/x,S=Math.round(S*x)/x;let I=0;for(w&&(f&&C!==r?(s.push({value:r}),C<r&&I++,Oo(Math.round((C+I*y)*x)/x,r,Rp(r,T,e))&&I++):C<r&&I++);I<P;++I){const N=Math.round((C+I*y)*x)/x;if(E&&N>a)break;s.push({value:N})}return E&&f&&S!==a?s.length&&Oo(s[s.length-1].value,a,Rp(a,T,e))?s[s.length-1].value=a:s.push({value:a}):(!E||S===a)&&s.push({value:S}),s}function Rp(e,t,{horizontal:s,minRotation:n}){const i=ns(n),o=(s?Math.sin(i):Math.cos(i))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class La extends ni{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,s){return Ft(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:s,maxDefined:n}=this.getUserBounds();let{min:i,max:o}=this;const r=l=>i=s?i:l,a=l=>o=n?o:l;if(t){const l=_s(i),c=_s(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(i===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(i-l)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:s,stepSize:n}=t,i;return n?(i=Math.ceil(this.max/n)-Math.floor(this.min/n)+1,i>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${n} would result generating up to ${i} ticks. Limiting to 1000.`),i=1e3)):(i=this.computeTickLimit(),s=s||11),s&&(i=Math.min(s,i)),i}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,s=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i={maxTicks:n,bounds:t.bounds,min:t.min,max:t.max,precision:s.precision,step:s.stepSize,count:s.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:s.minRotation||0,includeBounds:s.includeBounds!==!1},o=this._range||this,r=BR(i,o);return t.bounds==="ticks"&&T_(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let s=this.min,n=this.max;if(super.configure(),this.options.offset&&t.length){const i=(n-s)/Math.max(t.length-1,1)/2;s-=i,n+=i}this._startValue=s,this._endValue=n,this._valueRange=n-s}getLabelForValue(t){return lr(t,this.chart.options.locale,this.options.ticks.format)}}class zc extends La{determineDataLimits(){const{min:t,max:s}=this.getMinMax(!0);this.min=Qt(t)?t:0,this.max=Qt(s)?s:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),s=t?this.width:this.height,n=ns(this.options.ticks.minRotation),i=(t?Math.sin(n):Math.cos(n))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(s/Math.min(40,o.lineHeight/i))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}it(zc,"id","linear"),it(zc,"defaults",{ticks:{callback:cl.formatters.numeric}});const Jo=e=>Math.floor(an(e)),Bn=(e,t)=>Math.pow(10,Jo(e)+t);function Np(e){return e/Math.pow(10,Jo(e))===1}function Fp(e,t,s){const n=Math.pow(10,s),i=Math.floor(e/n);return Math.ceil(t/n)-i}function VR(e,t){const s=t-e;let n=Jo(s);for(;Fp(e,t,n)>10;)n++;for(;Fp(e,t,n)<10;)n--;return Math.min(n,Jo(e))}function HR(e,{min:t,max:s}){t=Oe(e.min,t);const n=[],i=Jo(t);let o=VR(t,s),r=o<0?Math.pow(10,Math.abs(o)):1;const a=Math.pow(10,o),l=i>o?Math.pow(10,i):0,c=Math.round((t-l)*r)/r,d=Math.floor((t-l)/a/10)*a*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=Oe(e.min,Math.round((l+d+u*Math.pow(10,o))*r)/r);for(;f<s;)n.push({value:f,major:Np(f),significand:u}),u>=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,r=o>=0?1:r),f=Math.round((l+d+u*Math.pow(10,o))*r)/r;const g=Oe(e.max,f);return n.push({value:g,major:Np(g),significand:u}),n}class Uc extends ni{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,s){const n=La.prototype.parse.apply(this,[t,s]);if(n===0){this._zero=!0;return}return Qt(n)&&n>0?n:null}determineDataLimits(){const{min:t,max:s}=this.getMinMax(!0);this.min=Qt(t)?Math.max(0,t):null,this.max=Qt(s)?Math.max(0,s):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Qt(this._userMin)&&(this.min=t===Bn(this.min,0)?Bn(this.min,-1):Bn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:s}=this.getUserBounds();let n=this.min,i=this.max;const o=a=>n=t?n:a,r=a=>i=s?i:a;n===i&&(n<=0?(o(1),r(10)):(o(Bn(n,-1)),r(Bn(i,1)))),n<=0&&o(Bn(i,-1)),i<=0&&r(Bn(n,1)),this.min=n,this.max=i}buildTicks(){const t=this.options,s={min:this._userMin,max:this._userMax},n=HR(s,this);return t.bounds==="ticks"&&T_(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}getLabelForValue(t){return t===void 0?"0":lr(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=an(t),this._valueRange=an(this.max)-an(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(an(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const s=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+s*this._valueRange)}}it(Uc,"id","logarithmic"),it(Uc,"defaults",{ticks:{callback:cl.formatters.logarithmic,major:{enabled:!0}}});function Kc(e){const t=e.ticks;if(t.display&&e.display){const s=be(t.backdropPadding);return St(t.font&&t.font.size,Zt.font.size)+s.height}return 0}function jR(e,t,s){return s=qt(s)?s:[s],{w:rI(e,t.string,s),h:s.length*t.lineHeight}}function Bp(e,t,s,n,i){return e===n||e===i?{start:t-s/2,end:t+s/2}:e<n||e>i?{start:t-s,end:t}:{start:t,end:t+s}}function WR(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},s=Object.assign({},t),n=[],i=[],o=e._pointLabels.length,r=e.options.pointLabels,a=r.centerPointLabels?Xt/o:0;for(let l=0;l<o;l++){const c=r.setContext(e.getPointLabelContext(l));i[l]=c.padding;const d=e.getPointPosition(l,e.drawingArea+i[l],a),u=re(c.font),f=jR(e.ctx,u,e._pointLabels[l]);n[l]=f;const g=Ie(e.getIndexAngle(l)+a),m=Math.round(Qd(g)),b=Bp(m,d.x,f.w,0,180),v=Bp(m,d.y,f.h,90,270);zR(s,t,g,b,v)}e.setCenterPoint(t.l-s.l,s.r-t.r,t.t-s.t,s.b-t.b),e._pointLabelItems=YR(e,n,i)}function zR(e,t,s,n,i){const o=Math.abs(Math.sin(s)),r=Math.abs(Math.cos(s));let a=0,l=0;n.start<t.l?(a=(t.l-n.start)/o,e.l=Math.min(e.l,t.l-a)):n.end>t.r&&(a=(n.end-t.r)/o,e.r=Math.max(e.r,t.r+a)),i.start<t.t?(l=(t.t-i.start)/r,e.t=Math.min(e.t,t.t-l)):i.end>t.b&&(l=(i.end-t.b)/r,e.b=Math.max(e.b,t.b+l))}function UR(e,t,s){const n=e.drawingArea,{extra:i,additionalAngle:o,padding:r,size:a}=s,l=e.getPointPosition(t,n+i+r,o),c=Math.round(Qd(Ie(l.angle+te))),d=XR(l.y,a.h,c),u=qR(c),f=GR(l.x,a.w,u);return{visible:!0,x:l.x,y:d,textAlign:u,left:f,top:d,right:f+a.w,bottom:d+a.h}}function KR(e,t){if(!t)return!0;const{left:s,top:n,right:i,bottom:o}=e;return!(Is({x:s,y:n},t)||Is({x:s,y:o},t)||Is({x:i,y:n},t)||Is({x:i,y:o},t))}function YR(e,t,s){const n=[],i=e._pointLabels.length,o=e.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:Kc(o)/2,additionalAngle:r?Xt/i:0};let c;for(let d=0;d<i;d++){l.padding=s[d],l.size=t[d];const u=UR(e,d,l);n.push(u),a==="auto"&&(u.visible=KR(u,c),u.visible&&(c=u))}return n}function qR(e){return e===0||e===180?"center":e<180?"left":"right"}function GR(e,t,s){return s==="right"?e-=t:s==="center"&&(e-=t/2),e}function XR(e,t,s){return s===90||s===270?e-=t/2:(s>270||s<90)&&(e-=t),e}function JR(e,t,s){const{left:n,top:i,right:o,bottom:r}=s,{backdropColor:a}=t;if(!Ft(a)){const l=Gn(t.borderRadius),c=be(t.backdropPadding);e.fillStyle=a;const d=n-c.left,u=i-c.top,f=o-n+c.width,g=r-i+c.height;Object.values(l).some(m=>m!==0)?(e.beginPath(),Go(e,{x:d,y:u,w:f,h:g,radius:l}),e.fill()):e.fillRect(d,u,f,g)}}function QR(e,t){const{ctx:s,options:{pointLabels:n}}=e;for(let i=t-1;i>=0;i--){const o=e._pointLabelItems[i];if(!o.visible)continue;const r=n.setContext(e.getPointLabelContext(i));JR(s,r,o);const a=re(r.font),{x:l,y:c,textAlign:d}=o;ei(s,e._pointLabels[i],l,c+a.lineHeight/2,a,{color:r.color,textAlign:d,textBaseline:"middle"})}}function vb(e,t,s,n){const{ctx:i}=e;if(s)i.arc(e.xCenter,e.yCenter,t,0,Gt);else{let o=e.getPointPosition(0,t);i.moveTo(o.x,o.y);for(let r=1;r<n;r++)o=e.getPointPosition(r,t),i.lineTo(o.x,o.y)}}function ZR(e,t,s,n,i){const o=e.ctx,r=t.circular,{color:a,lineWidth:l}=t;!r&&!n||!a||!l||s<0||(o.save(),o.strokeStyle=a,o.lineWidth=l,o.setLineDash(i.dash),o.lineDashOffset=i.dashOffset,o.beginPath(),vb(e,s,r,n),o.closePath(),o.stroke(),o.restore())}function tN(e,t,s){return En(e,{label:s,index:t,type:"pointLabel"})}class xo extends La{constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=be(Kc(this.options)/2),s=this.width=this.maxWidth-t.width,n=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+s/2+t.left),this.yCenter=Math.floor(this.top+n/2+t.top),this.drawingArea=Math.floor(Math.min(s,n)/2)}determineDataLimits(){const{min:t,max:s}=this.getMinMax(!1);this.min=Qt(t)&&!isNaN(t)?t:0,this.max=Qt(s)&&!isNaN(s)?s:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Kc(this.options))}generateTickLabels(t){La.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map((s,n)=>{const i=Kt(this.options.pointLabels.callback,[s,n],this);return i||i===0?i:""}).filter((s,n)=>this.chart.getDataVisibility(n))}fit(){const t=this.options;t.display&&t.pointLabels.display?WR(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,s,n,i){this.xCenter+=Math.floor((t-s)/2),this.yCenter+=Math.floor((n-i)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,s,n,i))}getIndexAngle(t){const s=Gt/(this._pointLabels.length||1),n=this.options.startAngle||0;return Ie(t*s+ns(n))}getDistanceFromCenterForValue(t){if(Ft(t))return NaN;const s=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*s:(t-this.min)*s}getValueForDistanceFromCenter(t){if(Ft(t))return NaN;const s=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-s:this.min+s}getPointLabelContext(t){const s=this._pointLabels||[];if(t>=0&&t<s.length){const n=s[t];return tN(this.getContext(),t,n)}}getPointPosition(t,s,n=0){const i=this.getIndexAngle(t)-te+n;return{x:Math.cos(i)*s+this.xCenter,y:Math.sin(i)*s+this.yCenter,angle:i}}getPointPositionForValue(t,s){return this.getPointPosition(t,this.getDistanceFromCenterForValue(s))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:s,top:n,right:i,bottom:o}=this._pointLabelItems[t];return{left:s,top:n,right:i,bottom:o}}drawBackground(){const{backgroundColor:t,grid:{circular:s}}=this.options;if(t){const n=this.ctx;n.save(),n.beginPath(),vb(this,this.getDistanceFromCenterForValue(this._endValue),s,this._pointLabels.length),n.closePath(),n.fillStyle=t,n.fill(),n.restore()}}drawGrid(){const t=this.ctx,s=this.options,{angleLines:n,grid:i,border:o}=s,r=this._pointLabels.length;let a,l,c;if(s.pointLabels.display&&QR(this,r),i.display&&this.ticks.forEach((d,u)=>{if(u!==0){l=this.getDistanceFromCenterForValue(d.value);const f=this.getContext(u),g=i.setContext(f),m=o.setContext(f);ZR(this,g,l,r,m)}}),n.display){for(t.save(),a=r-1;a>=0;a--){const d=n.setContext(this.getPointLabelContext(a)),{color:u,lineWidth:f}=d;!f||!u||(t.lineWidth=f,t.strokeStyle=u,t.setLineDash(d.borderDash),t.lineDashOffset=d.borderDashOffset,l=this.getDistanceFromCenterForValue(s.ticks.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,s=this.options,n=s.ticks;if(!n.display)return;const i=this.getIndexAngle(0);let o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&!s.reverse)return;const c=n.setContext(this.getContext(l)),d=re(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=d.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const u=be(c.backdropPadding);t.fillRect(-r/2-u.left,-o-d.size/2-u.top,r+u.width,d.size+u.height)}ei(t,a.label,0,-o,d,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}it(xo,"id","radialLinear"),it(xo,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:cl.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),it(xo,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),it(xo,"descriptors",{angleLines:{_fallback:"grid"}});const pl={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Te=Object.keys(pl);function Vp(e,t){return e-t}function Hp(e,t){if(Ft(t))return null;const s=e._adapter,{parser:n,round:i,isoWeekday:o}=e._parseOpts;let r=t;return typeof n=="function"&&(r=n(r)),Qt(r)||(r=typeof n=="string"?s.parse(r,n):s.parse(r)),r===null?null:(i&&(r=i==="week"&&(zi(o)||o===!0)?s.startOf(r,"isoWeek",o):s.startOf(r,i)),+r)}function jp(e,t,s,n){const i=Te.length;for(let o=Te.indexOf(e);o<i-1;++o){const r=pl[Te[o]],a=r.steps?r.steps:Number.MAX_SAFE_INTEGER;if(r.common&&Math.ceil((s-t)/(a*r.size))<=n)return Te[o]}return Te[i-1]}function eN(e,t,s,n,i){for(let o=Te.length-1;o>=Te.indexOf(s);o--){const r=Te[o];if(pl[r].common&&e._adapter.diff(i,n,r)>=t-1)return r}return Te[s?Te.indexOf(s):0]}function sN(e){for(let t=Te.indexOf(e)+1,s=Te.length;t<s;++t)if(pl[Te[t]].common)return Te[t]}function Wp(e,t,s){if(!s)e[t]=!0;else if(s.length){const{lo:n,hi:i}=Zd(s,t),o=s[n]>=t?s[n]:s[i];e[o]=!0}}function nN(e,t,s,n){const i=e._adapter,o=+i.startOf(t[0].value,n),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+i.add(a,1,n))l=s[a],l>=0&&(t[l].major=!0);return t}function zp(e,t,s){const n=[],i={},o=t.length;let r,a;for(r=0;r<o;++r)a=t[r],i[a]=r,n.push({value:a,major:!1});return o===0||!s?n:nN(e,n,i,s)}class Qo extends ni{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,s={}){const n=t.time||(t.time={}),i=this._adapter=new x2._date(t.adapters.date);i.init(s),Mo(n.displayFormats,i.formats()),this._parseOpts={parser:n.parser,round:n.round,isoWeekday:n.isoWeekday},super.init(t),this._normalized=s.normalized}parse(t,s){return t===void 0?null:Hp(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,s=this._adapter,n=t.time.unit||"day";let{min:i,max:o,minDefined:r,maxDefined:a}=this.getUserBounds();function l(c){!r&&!isNaN(c.min)&&(i=Math.min(i,c.min)),!a&&!isNaN(c.max)&&(o=Math.max(o,c.max))}(!r||!a)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),i=Qt(i)&&!isNaN(i)?i:+s.startOf(Date.now(),n),o=Qt(o)&&!isNaN(o)?o:+s.endOf(Date.now(),n)+1,this.min=Math.min(i,o-1),this.max=Math.max(i+1,o)}_getLabelBounds(){const t=this.getLabelTimestamps();let s=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;return t.length&&(s=t[0],n=t[t.length-1]),{min:s,max:n}}buildTicks(){const t=this.options,s=t.time,n=t.ticks,i=n.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&i.length&&(this.min=this._userMin||i[0],this.max=this._userMax||i[i.length-1]);const o=this.min,r=this.max,a=YD(i,o,r);return this._unit=s.unit||(n.autoSkip?jp(s.minUnit,this.min,this.max,this._getLabelCapacity(o)):eN(this,a.length,s.minUnit,this.min,this.max)),this._majorUnit=!n.major.enabled||this._unit==="year"?void 0:sN(this._unit),this.initOffsets(i),t.reverse&&a.reverse(),zp(this,a,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let s=0,n=0,i,o;this.options.offset&&t.length&&(i=this.getDecimalForValue(t[0]),t.length===1?s=1-i:s=(this.getDecimalForValue(t[1])-i)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?n=o:n=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;s=de(s,0,r),n=de(n,0,r),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,s=this.min,n=this.max,i=this.options,o=i.time,r=o.unit||jp(o.minUnit,s,n,this._getLabelCapacity(s)),a=St(i.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=zi(l)||l===!0,d={};let u=s,f,g;if(c&&(u=+t.startOf(u,"isoWeek",l)),u=+t.startOf(u,c?"day":r),t.diff(n,s,r)>1e5*a)throw new Error(s+" and "+n+" are too far apart with stepSize of "+a+" "+r);const m=i.ticks.source==="data"&&this.getDataTimestamps();for(f=u,g=0;f<n;f=+t.add(f,a,r),g++)Wp(d,f,m);return(f===n||i.bounds==="ticks"||g===1)&&Wp(d,f,m),Object.keys(d).sort(Vp).map(b=>+b)}getLabelForValue(t){const s=this._adapter,n=this.options.time;return n.tooltipFormat?s.format(t,n.tooltipFormat):s.format(t,n.displayFormats.datetime)}format(t,s){const i=this.options.time.displayFormats,o=this._unit,r=s||i[o];return this._adapter.format(t,r)}_tickFormatFunction(t,s,n,i){const o=this.options,r=o.ticks.callback;if(r)return Kt(r,[t,s,n],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,d=l&&a[l],u=c&&a[c],f=n[s],g=c&&u&&f&&f.major;return this._adapter.format(t,i||(g?u:d))}generateTickLabels(t){let s,n,i;for(s=0,n=t.length;s<n;++s)i=t[s],i.label=this._tickFormatFunction(i.value,s,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const s=this._offsets,n=this.getDecimalForValue(t);return this.getPixelForDecimal((s.start+n)*s.factor)}getValueForPixel(t){const s=this._offsets,n=this.getDecimalForPixel(t)/s.factor-s.end;return this.min+n*(this.max-this.min)}_getLabelSize(t){const s=this.options.ticks,n=this.ctx.measureText(t).width,i=ns(this.isHorizontal()?s.maxRotation:s.minRotation),o=Math.cos(i),r=Math.sin(i),a=this._resolveTickFontOptions(0).size;return{w:n*o+a*r,h:n*r+a*o}}_getLabelCapacity(t){const s=this.options.time,n=s.displayFormats,i=n[s.unit]||n.millisecond,o=this._tickFormatFunction(t,0,zp(this,[t],this._majorUnit),i),r=this._getLabelSize(o),a=Math.floor(this.isHorizontal()?this.width/r.w:this.height/r.h)-1;return a>0?a:1}getDataTimestamps(){let t=this._cache.data||[],s,n;if(t.length)return t;const i=this.getMatchingVisibleMetas();if(this._normalized&&i.length)return this._cache.data=i[0].controller.getAllParsedValues(this);for(s=0,n=i.length;s<n;++s)t=t.concat(i[s].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let s,n;if(t.length)return t;const i=this.getLabels();for(s=0,n=i.length;s<n;++s)t.push(Hp(this,i[s]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return D_(t.sort(Vp))}}it(Qo,"id","time"),it(Qo,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function Xr(e,t,s){let n=0,i=e.length-1,o,r,a,l;s?(t>=e[n].pos&&t<=e[i].pos&&({lo:n,hi:i}=Ds(e,"pos",t)),{pos:o,time:a}=e[n],{pos:r,time:l}=e[i]):(t>=e[n].time&&t<=e[i].time&&({lo:n,hi:i}=Ds(e,"time",t)),{time:o,pos:a}=e[n],{time:r,pos:l}=e[i]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class Yc extends Qo{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),s=this._table=this.buildLookupTable(t);this._minPos=Xr(s,this.min),this._tableRange=Xr(s,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:s,max:n}=this,i=[],o=[];let r,a,l,c,d;for(r=0,a=t.length;r<a;++r)c=t[r],c>=s&&c<=n&&i.push(c);if(i.length<2)return[{time:s,pos:0},{time:n,pos:1}];for(r=0,a=i.length;r<a;++r)d=i[r+1],l=i[r-1],c=i[r],Math.round((d+l)/2)!==c&&o.push({time:c,pos:r/(a-1)});return o}_generate(){const t=this.min,s=this.max;let n=super.getDataTimestamps();return(!n.includes(t)||!n.length)&&n.splice(0,0,t),(!n.includes(s)||n.length===1)&&n.push(s),n.sort((i,o)=>i-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const s=this.getDataTimestamps(),n=this.getLabelTimestamps();return s.length&&n.length?t=this.normalize(s.concat(n)):t=s.length?s:n,t=this._cache.all=t,t}getDecimalForValue(t){return(Xr(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const s=this._offsets,n=this.getDecimalForPixel(t)/s.factor-s.end;return Xr(this._table,n*this._tableRange+this._minPos,!0)}}it(Yc,"id","timeseries"),it(Yc,"defaults",Qo.defaults);const yb={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},iN={ariaLabel:{type:String},ariaDescribedby:{type:String}},oN={type:{type:String,required:!0},...yb,...iN},rN=Tm[0]==="2"?(e,t)=>Object.assign(e,{attrs:t}):(e,t)=>Object.assign(e,t);function mi(e){return za(e)?Tt(e):e}function aN(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return za(t)?new Proxy(e,{}):e}function lN(e,t){const s=e.options;s&&t&&Object.assign(s,t)}function xb(e,t){e.labels=t}function wb(e,t,s){const n=[];e.datasets=t.map(i=>{const o=e.datasets.find(r=>r[s]===i[s]);return!o||!i.data||n.includes(o)?{...i}:(n.push(o),Object.assign(o,i),o)})}function cN(e,t){const s={labels:[],datasets:[]};return xb(s,e.labels),wb(s,e.datasets,t),s}const dN=Xa({props:oN,setup(e,t){let{expose:s,slots:n}=t;const i=Oi(null),o=Ad(null);s({chart:o});const r=()=>{if(!i.value)return;const{type:c,data:d,options:u,plugins:f,datasetIdKey:g}=e,m=cN(d,g),b=aN(m,d);o.value=new fl(i.value,{type:c,data:b,options:{...u},plugins:f})},a=()=>{const c=Tt(o.value);c&&(c.destroy(),o.value=null)},l=c=>{c.update(e.updateMode)};return Od(r),Dd(a),qn([()=>e.options,()=>e.data],(c,d)=>{let[u,f]=c,[g,m]=d;const b=Tt(o.value);if(!b)return;let v=!1;if(u){const w=mi(u),E=mi(g);w&&w!==E&&(lN(b,w),v=!0)}if(f){const w=mi(f.labels),E=mi(m.labels),$=mi(f.datasets),T=mi(m.datasets);w!==E&&(xb(b.config.data,w),v=!0),$&&$!==T&&(wb(b.config.data,$,e.datasetIdKey),v=!0)}v&&nr(()=>{l(b)})},{deep:!0}),()=>Li("canvas",{role:"img",ariaLabel:e.ariaLabel,ariaDescribedby:e.ariaDescribedby,ref:i},[Li("p",{},[n.default?n.default():""])])}});function Eb(e,t){return fl.register(t),Xa({props:yb,setup(s,n){let{expose:i}=n;const o=Ad(null),r=a=>{o.value=a==null?void 0:a.chart};return i({chart:o}),()=>Li(dN,rN({ref:r},{type:e,...s}))}})}const uN=Eb("bar",Lo),hN=Eb("line",Ro);function Fs(e){return Array.isArray?Array.isArray(e):Cb(e)==="[object Array]"}const fN=1/0;function pN(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-fN?"-0":t}function gN(e){return e==null?"":pN(e)}function ps(e){return typeof e=="string"}function Sb(e){return typeof e=="number"}function mN(e){return e===!0||e===!1||_N(e)&&Cb(e)=="[object Boolean]"}function Ab(e){return typeof e=="object"}function _N(e){return Ab(e)&&e!==null}function Le(e){return e!=null}function ac(e){return!e.trim().length}function Cb(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const bN="Incorrect 'index' type",vN=e=>`Invalid value for key ${e}`,yN=e=>`Pattern length exceeds max of ${e}.`,xN=e=>`Missing ${e} property in key`,wN=e=>`Property 'weight' in key '${e}' must be a positive integer`,Up=Object.prototype.hasOwnProperty;class EN{constructor(t){this._keys=[],this._keyMap={};let s=0;t.forEach(n=>{let i=$b(n);this._keys.push(i),this._keyMap[i.id]=i,s+=i.weight}),this._keys.forEach(n=>{n.weight/=s})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function $b(e){let t=null,s=null,n=null,i=1,o=null;if(ps(e)||Fs(e))n=e,t=Kp(e),s=qc(e);else{if(!Up.call(e,"name"))throw new Error(xN("name"));const r=e.name;if(n=r,Up.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(wN(r));t=Kp(r),s=qc(r),o=e.getFn}return{path:t,id:s,weight:i,src:n,getFn:o}}function Kp(e){return Fs(e)?e:e.split(".")}function qc(e){return Fs(e)?e.join("."):e}function SN(e,t){let s=[],n=!1;const i=(o,r,a)=>{if(Le(o))if(!r[a])s.push(o);else{let l=r[a];const c=o[l];if(!Le(c))return;if(a===r.length-1&&(ps(c)||Sb(c)||mN(c)))s.push(gN(c));else if(Fs(c)){n=!0;for(let d=0,u=c.length;d<u;d+=1)i(c[d],r,a+1)}else r.length&&i(c,r,a+1)}};return i(e,ps(t)?t.split("."):t,0),n?s:s[0]}const AN={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},CN={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},$N={location:0,threshold:.6,distance:100},PN={useExtendedSearch:!1,getFn:SN,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};var xt={...CN,...AN,...$N,...PN};const kN=/[^ ]+/g;function TN(e=1,t=3){const s=new Map,n=Math.pow(10,t);return{get(i){const o=i.match(kN).length;if(s.has(o))return s.get(o);const r=1/Math.pow(o,.5*e),a=parseFloat(Math.round(r*n)/n);return s.set(o,a),a},clear(){s.clear()}}}class du{constructor({getFn:t=xt.getFn,fieldNormWeight:s=xt.fieldNormWeight}={}){this.norm=TN(s,3),this.getFn=t,this.isCreated=!1,this.setIndexRecords()}setSources(t=[]){this.docs=t}setIndexRecords(t=[]){this.records=t}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach((s,n)=>{this._keysMap[s.id]=n})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,ps(this.docs[0])?this.docs.forEach((t,s)=>{this._addString(t,s)}):this.docs.forEach((t,s)=>{this._addObject(t,s)}),this.norm.clear())}add(t){const s=this.size();ps(t)?this._addString(t,s):this._addObject(t,s)}removeAt(t){this.records.splice(t,1);for(let s=t,n=this.size();s<n;s+=1)this.records[s].i-=1}getValueForItemAtKeyId(t,s){return t[this._keysMap[s]]}size(){return this.records.length}_addString(t,s){if(!Le(t)||ac(t))return;let n={v:t,i:s,n:this.norm.get(t)};this.records.push(n)}_addObject(t,s){let n={i:s,$:{}};this.keys.forEach((i,o)=>{let r=i.getFn?i.getFn(t):this.getFn(t,i.path);if(Le(r)){if(Fs(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:d}=l.pop();if(Le(d))if(ps(d)&&!ac(d)){let u={v:d,i:c,n:this.norm.get(d)};a.push(u)}else Fs(d)&&d.forEach((u,f)=>{l.push({nestedArrIndex:f,value:u})})}n.$[o]=a}else if(ps(r)&&!ac(r)){let a={v:r,n:this.norm.get(r)};n.$[o]=a}}}),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}}function Pb(e,t,{getFn:s=xt.getFn,fieldNormWeight:n=xt.fieldNormWeight}={}){const i=new du({getFn:s,fieldNormWeight:n});return i.setKeys(e.map($b)),i.setSources(t),i.create(),i}function MN(e,{getFn:t=xt.getFn,fieldNormWeight:s=xt.fieldNormWeight}={}){const{keys:n,records:i}=e,o=new du({getFn:t,fieldNormWeight:s});return o.setKeys(n),o.setIndexRecords(i),o}function Jr(e,{errors:t=0,currentLocation:s=0,expectedLocation:n=0,distance:i=xt.distance,ignoreLocation:o=xt.ignoreLocation}={}){const r=t/e.length;if(o)return r;const a=Math.abs(n-s);return i?r+a/i:a?1:r}function ON(e=[],t=xt.minMatchCharLength){let s=[],n=-1,i=-1,o=0;for(let r=e.length;o<r;o+=1){let a=e[o];a&&n===-1?n=o:!a&&n!==-1&&(i=o-1,i-n+1>=t&&s.push([n,i]),n=-1)}return e[o-1]&&o-n>=t&&s.push([n,o-1]),s}const Wn=32;function DN(e,t,s,{location:n=xt.location,distance:i=xt.distance,threshold:o=xt.threshold,findAllMatches:r=xt.findAllMatches,minMatchCharLength:a=xt.minMatchCharLength,includeMatches:l=xt.includeMatches,ignoreLocation:c=xt.ignoreLocation}={}){if(t.length>Wn)throw new Error(yN(Wn));const d=t.length,u=e.length,f=Math.max(0,Math.min(n,u));let g=o,m=f;const b=a>1||l,v=b?Array(u):[];let w;for(;(w=e.indexOf(t,m))>-1;){let C=Jr(t,{currentLocation:w,expectedLocation:f,distance:i,ignoreLocation:c});if(g=Math.min(C,g),m=w+d,b){let S=0;for(;S<d;)v[w+S]=1,S+=1}}m=-1;let E=[],$=1,T=d+u;const y=1<<d-1;for(let C=0;C<d;C+=1){let S=0,P=T;for(;S<P;)Jr(t,{errors:C,currentLocation:f+P,expectedLocation:f,distance:i,ignoreLocation:c})<=g?S=P:T=P,P=Math.floor((T-S)/2+S);T=P;let M=Math.max(1,f-P+1),I=r?u:Math.min(f+P,u)+d,N=Array(I+2);N[I+1]=(1<<C)-1;for(let G=I;G>=M;G-=1){let V=G-1,L=s[e.charAt(V)];if(b&&(v[V]=+!!L),N[G]=(N[G+1]<<1|1)&L,C&&(N[G]|=(E[G+1]|E[G])<<1|1|E[G+1]),N[G]&y&&($=Jr(t,{errors:C,currentLocation:V,expectedLocation:f,distance:i,ignoreLocation:c}),$<=g)){if(g=$,m=V,m<=f)break;M=Math.max(1,2*f-m)}}if(Jr(t,{errors:C+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:c})>g)break;E=N}const x={isMatch:m>=0,score:Math.max(.001,$)};if(b){const C=ON(v,a);C.length?l&&(x.indices=C):x.isMatch=!1}return x}function IN(e){let t={};for(let s=0,n=e.length;s<n;s+=1){const i=e.charAt(s);t[i]=(t[i]||0)|1<<n-s-1}return t}class kb{constructor(t,{location:s=xt.location,threshold:n=xt.threshold,distance:i=xt.distance,includeMatches:o=xt.includeMatches,findAllMatches:r=xt.findAllMatches,minMatchCharLength:a=xt.minMatchCharLength,isCaseSensitive:l=xt.isCaseSensitive,ignoreLocation:c=xt.ignoreLocation}={}){if(this.options={location:s,threshold:n,distance:i,includeMatches:o,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreLocation:c},this.pattern=l?t:t.toLowerCase(),this.chunks=[],!this.pattern.length)return;const d=(f,g)=>{this.chunks.push({pattern:f,alphabet:IN(f),startIndex:g})},u=this.pattern.length;if(u>Wn){let f=0;const g=u%Wn,m=u-g;for(;f<m;)d(this.pattern.substr(f,Wn),f),f+=Wn;if(g){const b=u-Wn;d(this.pattern.substr(b),b)}}else d(this.pattern,0)}searchIn(t){const{isCaseSensitive:s,includeMatches:n}=this.options;if(s||(t=t.toLowerCase()),this.pattern===t){let m={isMatch:!0,score:0};return n&&(m.indices=[[0,t.length-1]]),m}const{location:i,distance:o,threshold:r,findAllMatches:a,minMatchCharLength:l,ignoreLocation:c}=this.options;let d=[],u=0,f=!1;this.chunks.forEach(({pattern:m,alphabet:b,startIndex:v})=>{const{isMatch:w,score:E,indices:$}=DN(t,m,b,{location:i+v,distance:o,threshold:r,findAllMatches:a,minMatchCharLength:l,includeMatches:n,ignoreLocation:c});w&&(f=!0),u+=E,w&&$&&(d=[...d,...$])});let g={isMatch:f,score:f?u/this.chunks.length:1};return f&&n&&(g.indices=d),g}}class Sn{constructor(t){this.pattern=t}static isMultiMatch(t){return Yp(t,this.multiRegex)}static isSingleMatch(t){return Yp(t,this.singleRegex)}search(){}}function Yp(e,t){const s=e.match(t);return s?s[1]:null}class LN extends Sn{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const s=t===this.pattern;return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}class RN extends Sn{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const n=t.indexOf(this.pattern)===-1;return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class NN extends Sn{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const s=t.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}class FN extends Sn{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const s=!t.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}}class BN extends Sn{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const s=t.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class VN extends Sn{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const s=!t.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}}class Tb extends Sn{constructor(t,{location:s=xt.location,threshold:n=xt.threshold,distance:i=xt.distance,includeMatches:o=xt.includeMatches,findAllMatches:r=xt.findAllMatches,minMatchCharLength:a=xt.minMatchCharLength,isCaseSensitive:l=xt.isCaseSensitive,ignoreLocation:c=xt.ignoreLocation}={}){super(t),this._bitapSearch=new kb(t,{location:s,threshold:n,distance:i,includeMatches:o,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreLocation:c})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class Mb extends Sn{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let s=0,n;const i=[],o=this.pattern.length;for(;(n=t.indexOf(this.pattern,s))>-1;)s=n+o,i.push([n,s-1]);const r=!!i.length;return{isMatch:r,score:r?0:1,indices:i}}}const Gc=[LN,Mb,NN,FN,VN,BN,RN,Tb],qp=Gc.length,HN=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,jN="|";function WN(e,t={}){return e.split(jN).map(s=>{let n=s.trim().split(HN).filter(o=>o&&!!o.trim()),i=[];for(let o=0,r=n.length;o<r;o+=1){const a=n[o];let l=!1,c=-1;for(;!l&&++c<qp;){const d=Gc[c];let u=d.isMultiMatch(a);u&&(i.push(new d(u,t)),l=!0)}if(!l)for(c=-1;++c<qp;){const d=Gc[c];let u=d.isSingleMatch(a);if(u){i.push(new d(u,t));break}}}return i})}const zN=new Set([Tb.type,Mb.type]);class UN{constructor(t,{isCaseSensitive:s=xt.isCaseSensitive,includeMatches:n=xt.includeMatches,minMatchCharLength:i=xt.minMatchCharLength,ignoreLocation:o=xt.ignoreLocation,findAllMatches:r=xt.findAllMatches,location:a=xt.location,threshold:l=xt.threshold,distance:c=xt.distance}={}){this.query=null,this.options={isCaseSensitive:s,includeMatches:n,minMatchCharLength:i,findAllMatches:r,ignoreLocation:o,location:a,threshold:l,distance:c},this.pattern=s?t:t.toLowerCase(),this.query=WN(this.pattern,this.options)}static condition(t,s){return s.useExtendedSearch}searchIn(t){const s=this.query;if(!s)return{isMatch:!1,score:1};const{includeMatches:n,isCaseSensitive:i}=this.options;t=i?t:t.toLowerCase();let o=0,r=[],a=0;for(let l=0,c=s.length;l<c;l+=1){const d=s[l];r.length=0,o=0;for(let u=0,f=d.length;u<f;u+=1){const g=d[u],{isMatch:m,indices:b,score:v}=g.search(t);if(m){if(o+=1,a+=v,n){const w=g.constructor.type;zN.has(w)?r=[...r,...b]:r.push(b)}}else{a=0,o=0,r.length=0;break}}if(o){let u={isMatch:!0,score:a/o};return n&&(u.indices=r),u}}return{isMatch:!1,score:1}}}const Xc=[];function KN(...e){Xc.push(...e)}function Jc(e,t){for(let s=0,n=Xc.length;s<n;s+=1){let i=Xc[s];if(i.condition(e,t))return new i(e,t)}return new kb(e,t)}const Ra={AND:"$and",OR:"$or"},Qc={PATH:"$path",PATTERN:"$val"},Zc=e=>!!(e[Ra.AND]||e[Ra.OR]),YN=e=>!!e[Qc.PATH],qN=e=>!Fs(e)&&Ab(e)&&!Zc(e),Gp=e=>({[Ra.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Ob(e,t,{auto:s=!0}={}){const n=i=>{let o=Object.keys(i);const r=YN(i);if(!r&&o.length>1&&!Zc(i))return n(Gp(i));if(qN(i)){const l=r?i[Qc.PATH]:o[0],c=r?i[Qc.PATTERN]:i[l];if(!ps(c))throw new Error(vN(l));const d={keyId:qc(l),pattern:c};return s&&(d.searcher=Jc(c,t)),d}let a={children:[],operator:o[0]};return o.forEach(l=>{const c=i[l];Fs(c)&&c.forEach(d=>{a.children.push(n(d))})}),a};return Zc(e)||(e=Gp(e)),n(e)}function GN(e,{ignoreFieldNorm:t=xt.ignoreFieldNorm}){e.forEach(s=>{let n=1;s.matches.forEach(({key:i,norm:o,score:r})=>{const a=i?i.weight:null;n*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:o))}),s.score=n})}function XN(e,t){const s=e.matches;t.matches=[],Le(s)&&s.forEach(n=>{if(!Le(n.indices)||!n.indices.length)return;const{indices:i,value:o}=n;let r={indices:i,value:o};n.key&&(r.key=n.key.src),n.idx>-1&&(r.refIndex=n.idx),t.matches.push(r)})}function JN(e,t){t.score=e.score}function QN(e,t,{includeMatches:s=xt.includeMatches,includeScore:n=xt.includeScore}={}){const i=[];return s&&i.push(XN),n&&i.push(JN),e.map(o=>{const{idx:r}=o,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(o,a)}),a})}class Zi{constructor(t,s={},n){this.options={...xt,...s},this.options.useExtendedSearch,this._keyStore=new EN(this.options.keys),this.setCollection(t,n)}setCollection(t,s){if(this._docs=t,s&&!(s instanceof du))throw new Error(bN);this._myIndex=s||Pb(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){Le(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const s=[];for(let n=0,i=this._docs.length;n<i;n+=1){const o=this._docs[n];t(o,n)&&(this.removeAt(n),n-=1,i-=1,s.push(o))}return s}removeAt(t){this._docs.splice(t,1),this._myIndex.removeAt(t)}getIndex(){return this._myIndex}search(t,{limit:s=-1}={}){const{includeMatches:n,includeScore:i,shouldSort:o,sortFn:r,ignoreFieldNorm:a}=this.options;let l=ps(t)?ps(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return GN(l,{ignoreFieldNorm:a}),o&&l.sort(r),Sb(s)&&s>-1&&(l=l.slice(0,s)),QN(l,this._docs,{includeMatches:n,includeScore:i})}_searchStringList(t){const s=Jc(t,this.options),{records:n}=this._myIndex,i=[];return n.forEach(({v:o,i:r,n:a})=>{if(!Le(o))return;const{isMatch:l,score:c,indices:d}=s.searchIn(o);l&&i.push({item:o,idx:r,matches:[{score:c,value:o,norm:a,indices:d}]})}),i}_searchLogical(t){const s=Ob(t,this.options),n=(a,l,c)=>{if(!a.children){const{keyId:u,searcher:f}=a,g=this._findMatches({key:this._keyStore.get(u),value:this._myIndex.getValueForItemAtKeyId(l,u),searcher:f});return g&&g.length?[{idx:c,item:l,matches:g}]:[]}const d=[];for(let u=0,f=a.children.length;u<f;u+=1){const g=a.children[u],m=n(g,l,c);if(m.length)d.push(...m);else if(a.operator===Ra.AND)return[]}return d},i=this._myIndex.records,o={},r=[];return i.forEach(({$:a,i:l})=>{if(Le(a)){let c=n(s,a,l);c.length&&(o[l]||(o[l]={idx:l,item:a,matches:[]},r.push(o[l])),c.forEach(({matches:d})=>{o[l].matches.push(...d)}))}}),r}_searchObjectList(t){const s=Jc(t,this.options),{keys:n,records:i}=this._myIndex,o=[];return i.forEach(({$:r,i:a})=>{if(!Le(r))return;let l=[];n.forEach((c,d)=>{l.push(...this._findMatches({key:c,value:r[d],searcher:s}))}),l.length&&o.push({idx:a,item:r,matches:l})}),o}_findMatches({key:t,value:s,searcher:n}){if(!Le(s))return[];let i=[];if(Fs(s))s.forEach(({v:o,i:r,n:a})=>{if(!Le(o))return;const{isMatch:l,score:c,indices:d}=n.searchIn(o);l&&i.push({score:c,key:t,value:o,idx:r,norm:a,indices:d})});else{const{v:o,n:r}=s,{isMatch:a,score:l,indices:c}=n.searchIn(o);a&&i.push({score:l,key:t,value:o,norm:r,indices:c})}return i}}Zi.version="7.0.0";Zi.createIndex=Pb;Zi.parseIndex=MN;Zi.config=xt;Zi.parseQuery=Ob;KN(UN);var Db={exports:{}};(function(e,t){(function(s,n){e.exports=n()})(Jp,function(){var s=1e3,n=6e4,i=36e5,o="millisecond",r="second",a="minute",l="hour",c="day",d="week",u="month",f="quarter",g="year",m="date",b="Invalid Date",v=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,E={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(G){var V=["th","st","nd","rd"],L=G%100;return"["+G+(V[(L-20)%10]||V[L]||V[0])+"]"}},$=function(G,V,L){var W=String(G);return!W||W.length>=V?G:""+Array(V+1-W.length).join(L)+G},T={s:$,z:function(G){var V=-G.utcOffset(),L=Math.abs(V),W=Math.floor(L/60),K=L%60;return(V<=0?"+":"-")+$(W,2,"0")+":"+$(K,2,"0")},m:function G(V,L){if(V.date()<L.date())return-G(L,V);var W=12*(L.year()-V.year())+(L.month()-V.month()),K=V.clone().add(W,u),ot=L-K<0,ut=V.clone().add(W+(ot?-1:1),u);return+(-(W+(L-K)/(ot?K-ut:ut-K))||0)},a:function(G){return G<0?Math.ceil(G)||0:Math.floor(G)},p:function(G){return{M:u,y:g,w:d,d:c,D:m,h:l,m:a,s:r,ms:o,Q:f}[G]||String(G||"").toLowerCase().replace(/s$/,"")},u:function(G){return G===void 0}},y="en",x={};x[y]=E;var C="$isDayjsObject",S=function(G){return G instanceof N||!(!G||!G[C])},P=function G(V,L,W){var K;if(!V)return y;if(typeof V=="string"){var ot=V.toLowerCase();x[ot]&&(K=ot),L&&(x[ot]=L,K=ot);var ut=V.split("-");if(!K&&ut.length>1)return G(ut[0])}else{var bt=V.name;x[bt]=V,K=bt}return!W&&K&&(y=K),K||!W&&y},M=function(G,V){if(S(G))return G.clone();var L=typeof V=="object"?V:{};return L.date=G,L.args=arguments,new N(L)},I=T;I.l=P,I.i=S,I.w=function(G,V){return M(G,{locale:V.$L,utc:V.$u,x:V.$x,$offset:V.$offset})};var N=function(){function G(L){this.$L=P(L.locale,null,!0),this.parse(L),this.$x=this.$x||L.x||{},this[C]=!0}var V=G.prototype;return V.parse=function(L){this.$d=function(W){var K=W.date,ot=W.utc;if(K===null)return new Date(NaN);if(I.u(K))return new Date;if(K instanceof Date)return new Date(K);if(typeof K=="string"&&!/Z$/i.test(K)){var ut=K.match(v);if(ut){var bt=ut[2]-1||0,_t=(ut[7]||"0").substring(0,3);return ot?new Date(Date.UTC(ut[1],bt,ut[3]||1,ut[4]||0,ut[5]||0,ut[6]||0,_t)):new Date(ut[1],bt,ut[3]||1,ut[4]||0,ut[5]||0,ut[6]||0,_t)}}return new Date(K)}(L),this.init()},V.init=function(){var L=this.$d;this.$y=L.getFullYear(),this.$M=L.getMonth(),this.$D=L.getDate(),this.$W=L.getDay(),this.$H=L.getHours(),this.$m=L.getMinutes(),this.$s=L.getSeconds(),this.$ms=L.getMilliseconds()},V.$utils=function(){return I},V.isValid=function(){return this.$d.toString()!==b},V.isSame=function(L,W){var K=M(L);return this.startOf(W)<=K&&K<=this.endOf(W)},V.isAfter=function(L,W){return M(L)<this.startOf(W)},V.isBefore=function(L,W){return this.endOf(W)<M(L)},V.$g=function(L,W,K){return I.u(L)?this[W]:this.set(K,L)},V.unix=function(){return Math.floor(this.valueOf()/1e3)},V.valueOf=function(){return this.$d.getTime()},V.startOf=function(L,W){var K=this,ot=!!I.u(W)||W,ut=I.p(L),bt=function(tt,at){var B=I.w(K.$u?Date.UTC(K.$y,at,tt):new Date(K.$y,at,tt),K);return ot?B:B.endOf(c)},_t=function(tt,at){return I.w(K.toDate()[tt].apply(K.toDate("s"),(ot?[0,0,0,0]:[23,59,59,999]).slice(at)),K)},Pt=this.$W,At=this.$M,Lt=this.$D,Ct="set"+(this.$u?"UTC":"");switch(ut){case g:return ot?bt(1,0):bt(31,11);case u:return ot?bt(1,At):bt(0,At+1);case d:var j=this.$locale().weekStart||0,st=(Pt<j?Pt+7:Pt)-j;return bt(ot?Lt-st:Lt+(6-st),At);case c:case m:return _t(Ct+"Hours",0);case l:return _t(Ct+"Minutes",1);case a:return _t(Ct+"Seconds",2);case r:return _t(Ct+"Milliseconds",3);default:return this.clone()}},V.endOf=function(L){return this.startOf(L,!1)},V.$set=function(L,W){var K,ot=I.p(L),ut="set"+(this.$u?"UTC":""),bt=(K={},K[c]=ut+"Date",K[m]=ut+"Date",K[u]=ut+"Month",K[g]=ut+"FullYear",K[l]=ut+"Hours",K[a]=ut+"Minutes",K[r]=ut+"Seconds",K[o]=ut+"Milliseconds",K)[ot],_t=ot===c?this.$D+(W-this.$W):W;if(ot===u||ot===g){var Pt=this.clone().set(m,1);Pt.$d[bt](_t),Pt.init(),this.$d=Pt.set(m,Math.min(this.$D,Pt.daysInMonth())).$d}else bt&&this.$d[bt](_t);return this.init(),this},V.set=function(L,W){return this.clone().$set(L,W)},V.get=function(L){return this[I.p(L)]()},V.add=function(L,W){var K,ot=this;L=Number(L);var ut=I.p(W),bt=function(At){var Lt=M(ot);return I.w(Lt.date(Lt.date()+Math.round(At*L)),ot)};if(ut===u)return this.set(u,this.$M+L);if(ut===g)return this.set(g,this.$y+L);if(ut===c)return bt(1);if(ut===d)return bt(7);var _t=(K={},K[a]=n,K[l]=i,K[r]=s,K)[ut]||1,Pt=this.$d.getTime()+L*_t;return I.w(Pt,this)},V.subtract=function(L,W){return this.add(-1*L,W)},V.format=function(L){var W=this,K=this.$locale();if(!this.isValid())return K.invalidDate||b;var ot=L||"YYYY-MM-DDTHH:mm:ssZ",ut=I.z(this),bt=this.$H,_t=this.$m,Pt=this.$M,At=K.weekdays,Lt=K.months,Ct=K.meridiem,j=function(at,B,Mt,A){return at&&(at[B]||at(W,ot))||Mt[B].slice(0,A)},st=function(at){return I.s(bt%12||12,at,"0")},tt=Ct||function(at,B,Mt){var A=at<12?"AM":"PM";return Mt?A.toLowerCase():A};return ot.replace(w,function(at,B){return B||function(Mt){switch(Mt){case"YY":return String(W.$y).slice(-2);case"YYYY":return I.s(W.$y,4,"0");case"M":return Pt+1;case"MM":return I.s(Pt+1,2,"0");case"MMM":return j(K.monthsShort,Pt,Lt,3);case"MMMM":return j(Lt,Pt);case"D":return W.$D;case"DD":return I.s(W.$D,2,"0");case"d":return String(W.$W);case"dd":return j(K.weekdaysMin,W.$W,At,2);case"ddd":return j(K.weekdaysShort,W.$W,At,3);case"dddd":return At[W.$W];case"H":return String(bt);case"HH":return I.s(bt,2,"0");case"h":return st(1);case"hh":return st(2);case"a":return tt(bt,_t,!0);case"A":return tt(bt,_t,!1);case"m":return String(_t);case"mm":return I.s(_t,2,"0");case"s":return String(W.$s);case"ss":return I.s(W.$s,2,"0");case"SSS":return I.s(W.$ms,3,"0");case"Z":return ut}return null}(at)||ut.replace(":","")})},V.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},V.diff=function(L,W,K){var ot,ut=this,bt=I.p(W),_t=M(L),Pt=(_t.utcOffset()-this.utcOffset())*n,At=this-_t,Lt=function(){return I.m(ut,_t)};switch(bt){case g:ot=Lt()/12;break;case u:ot=Lt();break;case f:ot=Lt()/3;break;case d:ot=(At-Pt)/6048e5;break;case c:ot=(At-Pt)/864e5;break;case l:ot=At/i;break;case a:ot=At/n;break;case r:ot=At/s;break;default:ot=At}return K?ot:I.a(ot)},V.daysInMonth=function(){return this.endOf(u).$D},V.$locale=function(){return x[this.$L]},V.locale=function(L,W){if(!L)return this.$L;var K=this.clone(),ot=P(L,W,!0);return ot&&(K.$L=ot),K},V.clone=function(){return I.w(this.$d,this)},V.toDate=function(){return new Date(this.valueOf())},V.toJSON=function(){return this.isValid()?this.toISOString():null},V.toISOString=function(){return this.$d.toISOString()},V.toString=function(){return this.$d.toUTCString()},G}(),Q=N.prototype;return M.prototype=Q,[["$ms",o],["$s",r],["$m",a],["$H",l],["$W",c],["$M",u],["$y",g],["$D",m]].forEach(function(G){Q[G[1]]=function(V){return this.$g(V,G[0],G[1])}}),M.extend=function(G,V){return G.$i||(G(V,N,M),G.$i=!0),M},M.locale=P,M.isDayjs=S,M.unix=function(G){return M(1e3*G)},M.en=x[y],M.Ls=x,M.p={},M})})(Db);var ZN=Db.exports;const Xp=g1(ZN),tF={name:"peerQRCode",props:{peerConfigData:String},mounted(){Qi.toCanvas(document.querySelector("#qrcode"),this.peerConfigData,function(e){e&&console.error(e)})}},eF=e=>(Bs("data-v-0f1cea80"),e=e(),Vs(),e),sF={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},nF={class:"container d-flex h-100 w-100"},iF={class:"card m-auto rounded-3 shadow"},oF={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},rF=eF(()=>p("h4",{class:"mb-0"},"QR Code",-1)),aF={class:"card-body"},lF={id:"qrcode",class:"rounded-3 shadow",ref:"qrcode"};function cF(e,t,s,n,i,o){return H(),q("div",sF,[p("div",nF,[p("div",iF,[p("div",oF,[rF,p("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),p("div",aF,[p("canvas",lF,null,512)])])])])}const dF=kt(tF,[["render",cF],["__scopeId","data-v-0f1cea80"]]),uF={name:"nameInput",props:{bulk:Boolean,data:Object,saving:Boolean}},hF=p("label",{for:"peer_name_textbox",class:"form-label"},[p("small",{class:"text-muted"},"Name")],-1),fF=["disabled"];function pF(e,t,s,n,i,o){return H(),q("div",{class:Rt({inactiveField:this.bulk})},[hF,mt(p("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.name=r),id:"peer_name_textbox",placeholder:""},null,8,fF),[[yt,this.data.name]])],2)}const gF=kt(uF,[["render",pF]]),mF={name:"privatePublicKeyInput",props:{data:Object,saving:Boolean,bulk:Boolean},setup(){return{dashboardStore:Jt()}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},checkMatching(){try{window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey&&(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private Key and Public Key does not match.","danger"))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},_F=p("label",{for:"peer_private_key_textbox",class:"form-label"},[p("small",{class:"text-muted"},[ht("Private Key "),p("code",null,"(Required for QR Code and Download)")])],-1),bF={class:"input-group"},vF=["disabled"],yF=["disabled"],xF=p("i",{class:"bi bi-arrow-repeat"},null,-1),wF=[xF],EF={class:"d-flex"},SF=p("label",{for:"public_key",class:"form-label"},[p("small",{class:"text-muted"},[ht("Public Key "),p("code",null,"(Required)")])],-1),AF={class:"form-check form-switch ms-auto"},CF=["disabled"],$F=p("label",{class:"form-check-label",for:"enablePublicKeyEdit"},[p("small",null,"Edit")],-1),PF=["disabled"];function kF(e,t,s,n,i,o){return H(),q("div",{class:Rt(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[p("div",null,[_F,p("div",bF,[mt(p("input",{type:"text",class:Rt(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[0]||(t[0]=r=>this.keypair.privateKey=r),disabled:!this.editKey||this.bulk,onBlur:t[1]||(t[1]=r=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,vF),[[yt,this.keypair.privateKey]]),p("button",{class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[2]||(t[2]=r=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},wF,8,yF)])]),p("div",null,[p("div",EF,[SF,p("div",AF,[mt(p("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[3]||(t[3]=r=>this.editKey=r)},null,8,CF),[[Xi,this.editKey]]),$F])]),mt(p("input",{class:Rt(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[4]||(t[4]=r=>this.keypair.publicKey=r),onBlur:t[5]||(t[5]=r=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:"text",id:"public_key"},null,42,PF),[[yt,this.keypair.publicKey]])])],2)}const TF=kt(mF,[["render",kF]]),MF={name:"allowedIPsInput",props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(){const e=as(),t=Jt();return{store:e,dashboardStore:t}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp.filter(e=>e.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(e)):this.availableIp.filter(e=>!this.data.allowed_ips.includes(e))}},methods:{addAllowedIp(e){return this.store.checkCIDR(e)?(this.data.allowed_ips.push(e),!0):!1}},watch:{customAvailableIp(){this.allowedIpFormatError=!1}}},dr=e=>(Bs("data-v-99ae26e7"),e=e(),Vs(),e),OF=dr(()=>p("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[p("small",{class:"text-muted"},[ht("Allowed IPs "),p("code",null,"(Required)")])],-1)),DF=["onClick"],IF=dr(()=>p("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)),LF=[IF],RF={class:"d-flex gap-2 align-items-center"},NF={class:"input-group"},FF=["disabled"],BF=["disabled"],VF=dr(()=>p("i",{class:"bi bi-plus-lg"},null,-1)),HF=[VF],jF=dr(()=>p("small",{class:"text-muted"},"or",-1)),WF={class:"dropdown flex-grow-1"},zF=["disabled"],UF=dr(()=>p("i",{class:"bi bi-filter-circle me-2"},null,-1)),KF={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3",style:{"overflow-y":"scroll","max-height":"270px",width:"300px !important"}},YF={class:"px-3 pb-2 pt-1"},qF=["onClick"],GF={class:"me-auto"},XF={key:0},JF={class:"px-3 text-muted"};function QF(e,t,s,n,i,o){return H(),q("div",{class:Rt({inactiveField:this.bulk})},[OF,p("div",{class:Rt(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[dt(or,{name:"list"},{default:Bt(()=>[(H(!0),q(Ht,null,_e(this.data.allowed_ips,(r,a)=>(H(),q("span",{class:"badge rounded-pill text-bg-success",key:r},[ht(lt(r)+" ",1),p("a",{role:"button",onClick:l=>this.data.allowed_ips.splice(a,1)},LF,8,DF)]))),128))]),_:1})],2),p("div",RF,[p("div",NF,[mt(p("input",{type:"text",class:Rt(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:"Enter IP Address/CIDR","onUpdate:modelValue":t[0]||(t[0]=r=>i.customAvailableIp=r),disabled:s.bulk},null,10,FF),[[yt,i.customAvailableIp]]),p("button",{class:"btn btn-outline-success btn-sm rounded-end-3",disabled:s.bulk||!this.customAvailableIp,onClick:t[1]||(t[1]=r=>{this.addAllowedIp(this.customAvailableIp)?this.customAvailableIp="":this.allowedIpFormatError=!0,this.dashboardStore.newMessage("WGDashboard","Allowed IP is invalid","danger")}),type:"button",id:"button-addon2"},HF,8,BF)]),jF,p("div",WF,[p("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!s.availableIp||s.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[UF,ht(" Pick Available IP ")],8,zF),this.availableIp?(H(),q("ul",KF,[p("li",null,[p("div",YF,[mt(p("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[2]||(t[2]=r=>this.availableIpSearchString=r),placeholder:"Search..."},null,512),[[yt,this.availableIpSearchString]])])]),(H(!0),q(Ht,null,_e(this.searchAvailableIps,r=>(H(),q("li",null,[p("a",{class:"dropdown-item d-flex",role:"button",onClick:a=>this.addAllowedIp(r)},[p("span",GF,[p("small",null,lt(r),1)])],8,qF)]))),256)),this.searchAvailableIps.length===0?(H(),q("li",XF,[p("small",JF,'No available IP containing "'+lt(this.availableIpSearchString)+'"',1)])):Vt("",!0)])):Vt("",!0)])])],2)}const ZF=kt(MF,[["render",QF],["__scopeId","data-v-99ae26e7"]]),tB={name:"dnsInput",props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const e=as(),t=Jt();return{store:e,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let e=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in e)if(!this.store.regexCheckIP(e[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS is invalid","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},eB=p("label",{for:"peer_DNS_textbox",class:"form-label"},[p("small",{class:"text-muted"},"DNS")],-1),sB=["disabled"];function nB(e,t,s,n,i,o){return H(),q("div",null,[eB,mt(p("input",{type:"text",class:Rt(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.dns=r),id:"peer_DNS_textbox"},null,10,sB),[[yt,this.dns]])])}const iB=kt(tB,[["render",nB]]),oB={name:"endpointAllowedIps",props:{data:Object,saving:Boolean},setup(){const e=as(),t=Jt();return{store:e,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let e=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in e)if(!this.store.checkCIDR(e[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IP is invalid.","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},rB=p("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[p("small",{class:"text-muted"},[ht("Endpoint Allowed IPs "),p("code",null,"(Required)")])],-1),aB=["disabled"];function lB(e,t,s,n,i,o){return H(),q("div",null,[rB,mt(p("input",{type:"text",class:Rt(["form-control form-control-sm rounded-3",{"is-invalid":i.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.endpointAllowedIps=r),onBlur:t[1]||(t[1]=r=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,aB),[[yt,this.endpointAllowedIps]])])}const cB=kt(oB,[["render",lB]]),dB={name:"presharedKeyInput",props:{data:Object,saving:Boolean}},uB=p("label",{for:"peer_preshared_key_textbox",class:"form-label"},[p("small",{class:"text-muted"},"Pre-Shared Key")],-1),hB=["disabled"];function fB(e,t,s,n,i,o){return H(),q("div",null,[uB,mt(p("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.preshared_key=r),id:"peer_preshared_key_textbox"},null,8,hB),[[yt,this.data.preshared_key]])])}const pB=kt(dB,[["render",fB]]),gB={name:"mtuInput",props:{data:Object,saving:Boolean}},mB=p("label",{for:"peer_mtu",class:"form-label"},[p("small",{class:"text-muted"},"MTU")],-1),_B=["disabled"];function bB(e,t,s,n,i,o){return H(),q("div",null,[mB,mt(p("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.mtu=r),id:"peer_mtu"},null,8,_B),[[yt,this.data.mtu]])])}const vB=kt(gB,[["render",bB]]),yB={name:"persistentKeepAliveInput",props:{data:Object,saving:Boolean}},xB=p("label",{for:"peer_keep_alive",class:"form-label"},[p("small",{class:"text-muted"},"Persistent Keepalive")],-1),wB=["disabled"];function EB(e,t,s,n,i,o){return H(),q("div",null,[xB,mt(p("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.keepalive=r),id:"peer_keep_alive"},null,8,wB),[[yt,this.data.keepalive]])])}const SB=kt(yB,[["render",EB]]),AB={name:"bulkAdd",props:{saving:Boolean,data:Object,availableIp:void 0}},CB={class:"form-check form-switch"},$B=["disabled"],PB=p("label",{class:"form-check-label me-2",for:"bulk_add"},[p("small",null,[p("strong",null,"Bulk Add")])],-1),kB=p("small",{class:"text-muted d-block"}," By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP. ",-1),TB=[kB],MB={key:0,class:"form-group"},OB=["max"],DB={class:"text-muted"};function IB(e,t,s,n,i,o){return H(),q("div",null,[p("div",CB,[mt(p("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=r=>this.data.bulkAdd=r)},null,8,$B),[[Xi,this.data.bulkAdd]]),PB]),p("p",{class:Rt({"mb-0":!this.data.bulkAdd})},TB,2),this.data.bulkAdd?(H(),q("div",MB,[mt(p("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=r=>this.data.bulkAddAmount=r),placeholder:"How many peers you want to add?"},null,8,OB),[[yt,this.data.bulkAddAmount]]),p("small",DB,[ht(" You can add up to "),p("strong",null,lt(this.availableIp.length),1),ht(" peers ")])])):Vt("",!0)])}const LB=kt(AB,[["render",IB]]),RB={name:"peerCreate",components:{BulkAdd:LB,PersistentKeepAliveInput:SB,MtuInput:vB,PresharedKeyInput:pB,EndpointAllowedIps:cB,DnsInput:iB,AllowedIPsInput:ZF,PrivatePublicKeyInput:TF,NameInput:gF},data(){return{data:{bulkAdd:!1,bulkAddAmount:"",name:"",allowed_ips:[],private_key:"",public_key:"",DNS:this.dashboardStore.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:this.dashboardStore.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(this.dashboardStore.Configuration.Peers.peer_keep_alive),mtu:parseInt(this.dashboardStore.Configuration.Peers.peer_mtu),preshared_key:""},availableIp:void 0,availableIpSearchString:"",saving:!1,allowedIpDropdown:void 0}},mounted(){he("/api/getAvailableIPs/"+this.$route.params.id,{},e=>{e.status&&(this.availableIp=e.data)})},setup(){const e=as(),t=Jt();return{store:e,dashboardStore:t}},methods:{peerCreate(){ue("/api/addPeers/"+this.$route.params.id,this.data,e=>{e.status?(this.$router.push(`/configuration/${this.$route.params.id}/peers`),this.dashboardStore.newMessage("Server","Peer create successfully","success")):this.dashboardStore.newMessage("Server",e.message,"danger")})}},computed:{allRequireFieldsFilled(){let e=!0;return this.data.bulkAdd?(this.data.bulkAddAmount.length===0||this.data.bulkAddAmount>this.availableIp.length)&&(e=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(s=>{this.data[s].length===0&&(e=!1)}),e}},watch:{bulkAdd(e){e||(this.data.bulkAddAmount="")},"data.bulkAddAmount"(){this.data.bulkAddAmount>this.availableIp.length&&(this.data.bulkAddAmount=this.availableIp.length)}}},ur=e=>(Bs("data-v-1938be91"),e=e(),Vs(),e),NB={class:"container"},FB={class:"mb-4"},BB=ur(()=>p("h3",{class:"mb-0 text-body"},[p("i",{class:"bi bi-chevron-left"})],-1)),VB=ur(()=>p("h3",{class:"text-body mb-0"},"Add Peers",-1)),HB={class:"d-flex flex-column gap-2"},jB=ur(()=>p("hr",{class:"mb-0 mt-2"},null,-1)),WB=ur(()=>p("hr",{class:"mb-0 mt-2"},null,-1)),zB={class:"row"},UB={key:0,class:"col-sm"},KB={class:"col-sm"},YB={class:"col-sm"},qB={class:"d-flex mt-2"},GB=["disabled"],XB=ur(()=>p("i",{class:"bi bi-plus-circle-fill me-2"},null,-1));function JB(e,t,s,n,i,o){const r=Dt("RouterLink"),a=Dt("BulkAdd"),l=Dt("NameInput"),c=Dt("PrivatePublicKeyInput"),d=Dt("AllowedIPsInput"),u=Dt("EndpointAllowedIps"),f=Dt("DnsInput"),g=Dt("PresharedKeyInput"),m=Dt("MtuInput"),b=Dt("PersistentKeepAliveInput");return H(),q("div",NB,[p("div",FB,[dt(r,{to:"peers",is:"div",class:"d-flex align-items-center gap-4 text-decoration-none"},{default:Bt(()=>[BB,VB]),_:1})]),p("div",HB,[dt(a,{saving:i.saving,data:this.data,availableIp:this.availableIp},null,8,["saving","data","availableIp"]),jB,this.data.bulkAdd?Vt("",!0):(H(),oe(l,{key:0,saving:i.saving,data:this.data},null,8,["saving","data"])),this.data.bulkAdd?Vt("",!0):(H(),oe(c,{key:1,saving:i.saving,data:i.data},null,8,["saving","data"])),this.data.bulkAdd?Vt("",!0):(H(),oe(d,{key:2,availableIp:this.availableIp,saving:i.saving,data:i.data},null,8,["availableIp","saving","data"])),dt(u,{saving:i.saving,data:i.data},null,8,["saving","data"]),dt(f,{saving:i.saving,data:i.data},null,8,["saving","data"]),WB,p("div",zB,[this.data.bulkAdd?Vt("",!0):(H(),q("div",UB,[dt(g,{saving:i.saving,data:i.data,bulk:this.data.bulkAdd},null,8,["saving","data","bulk"])])),p("div",KB,[dt(m,{saving:i.saving,data:i.data},null,8,["saving","data"])]),p("div",YB,[dt(b,{saving:i.saving,data:i.data},null,8,["saving","data"])])]),p("div",qB,[p("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.allRequireFieldsFilled,onClick:t[0]||(t[0]=v=>this.peerCreate())},[XB,ht("Add ")],8,GB)])])])}const Ib=kt(RB,[["render",JB],["__scopeId","data-v-1938be91"]]),QB={name:"scheduleDropdown",props:{options:Array,data:String},mounted(){console.log(this.options)},computed:{currentSelection(){return this.options.find(e=>e.value===this.data)}}},ZB={class:"dropdown"},t3={class:"btn btn-sm btn-outline-primary rounded-3",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},e3={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem",width:"200px"}},s3=["onClick"],n3={key:0,class:"bi bi-check ms-auto"};function i3(e,t,s,n,i,o){return H(),q("div",ZB,[p("button",t3,[p("samp",null,lt(this.currentSelection.display),1)]),p("ul",e3,[(H(!0),q(Ht,null,_e(this.options,r=>(H(),q("li",null,[p("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:a=>e.$emit("update",r.value)},[p("samp",null,lt(r.display),1),r.value===this.currentSelection.value?(H(),q("i",n3)):Vt("",!0)],8,s3)]))),256))])])}const Lb=kt(QB,[["render",i3]]),o3={name:"schedulePeerJob",components:{ScheduleDropdown:Lb},props:{dropdowns:Array[Object],job:Object}},r3={class:"card shadow-sm rounded-3"},a3={class:"card-header bg-transparent text-muted border-0"},l3={class:"d-flex"},c3=p("strong",{class:"me-auto"},"Job ID",-1),d3={class:"card-body pt-1"},u3={class:"d-flex gap-3 align-items-center mb-2"},h3=p("samp",null," if ",-1),f3=p("samp",null," is ",-1),p3=p("input",{class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",style:{width:"auto"}},null,-1),g3=p("samp",null," { ",-1),m3={class:"px-5 d-flex gap-3 align-items-center"},_3=p("samp",null," execute ",-1),b3=p("samp",null," ; ",-1),v3=p("div",null,[p("samp",null,"}")],-1);function y3(e,t,s,n,i,o){const r=Dt("ScheduleDropdown");return H(),q("div",r3,[p("div",a3,[p("small",l3,[c3,ht(" "+lt(this.job.JobID),1)])]),p("div",d3,[p("div",u3,[h3,dt(r,{options:this.dropdowns.Field,data:this.job.Field,onUpdate:t[0]||(t[0]=a=>this.job.Field=a)},null,8,["options","data"]),f3,dt(r,{options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:t[1]||(t[1]=a=>this.job.Operator=a)},null,8,["options","data"]),p3,g3]),p("div",m3,[_3,dt(r,{options:this.dropdowns.Action,data:this.job.Action,onUpdate:t[2]||(t[2]=a=>this.job.Action=a)},null,8,["options","data"]),b3]),v3])])}const x3=kt(o3,[["render",y3]]),w3={name:"peerJobs",props:{selectedPeer:Object},components:{SchedulePeerJob:x3,ScheduleDropdown:Lb},data(){return{dropdowns:{Field:[{display:"Total Received",value:"total_receive"},{display:"Total Sent",value:"total_sent"},{display:"Total Data",value:"total_data"},{display:"Date",value:"date"}],Operator:[{display:"equal",value:"eq"},{display:"not equal",value:"neq"},{display:"larger than",value:"lgt"},{display:"less than",value:"lst"}],Action:[{display:"Restrict Peer",value:"restrict"},{display:"Delete Peer",value:"delete"}]}}}},E3={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S3={class:"container d-flex h-100 w-100"},A3={class:"card m-auto rounded-3 shadow",style:{width:"700px"}},C3={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},$3=p("h4",{class:"mb-0 fw-normal"},[ht("Schedule Jobs "),p("strong")],-1),P3={class:"card-body px-4 pb-4 pt-0"},k3={class:"d-flex"},T3=p("small",{class:"text-muted"}," Name ",-1),M3={class:"ms-auto"},O3={class:"mb-4 d-flex"},D3=p("small",{class:"text-muted"}," Public Key ",-1),I3={class:"ms-auto"};function L3(e,t,s,n,i,o){const r=Dt("SchedulePeerJob");return H(),q("div",E3,[p("div",S3,[p("div",A3,[p("div",C3,[$3,p("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),p("div",P3,[p("div",k3,[T3,p("small",M3,lt(s.selectedPeer.name?s.selectedPeer.name:"Untitled Peer"),1)]),p("div",O3,[D3,p("small",I3,[p("samp",null,lt(this.selectedPeer.id),1)])]),(H(!0),q(Ht,null,_e(this.selectedPeer.jobs,a=>(H(),oe(r,{dropdowns:this.dropdowns,job:a},null,8,["dropdowns","job"]))),256))])])])])}const R3=kt(w3,[["render",L3]]);fl.register(vo,ln,ga,pa,Lo,la,vi,Ro,Nc,ca,da,ua,Wc,zc,Uc,xo,Qo,Yc,ZL,vR,AR,$R,LR);const N3={name:"peerList",components:{PeerJobs:R3,PeerCreate:Ib,PeerQRCode:dF,PeerSettings:sO,PeerSearch:xO,Peer:dD,Line:hN,Bar:uN},setup(){const e=Jt(),t=as();return{dashboardConfigurationStore:e,wireguardConfigurationStore:t}},data(){return{configurationToggling:!1,loading:!1,error:null,configurationInfo:[],configurationPeers:[],historyDataSentDifference:[],historyDataReceivedDifference:[],historySentData:{labels:[],datasets:[{label:"Data Sent",data:[],fill:!1,borderColor:"#198754",tension:0}]},historyReceiveData:{labels:[],datasets:[{label:"Data Received",data:[],fill:!1,borderColor:"#0d6efd",tension:0}]},peerSetting:{modalOpen:!1,selectedPeer:void 0},peerScheduleJobs:{modalOpen:!1,selectedPeer:void 0},peerQRCode:{modalOpen:!1,peerConfigData:void 0},peerCreate:{modalOpen:!1}}},mounted(){},watch:{$route:{immediate:!0,handler(){clearInterval(this.interval),this.loading=!0;let e=this.$route.params.id;this.configurationInfo=[],this.configurationPeers=[],e&&(this.getPeers(e),this.setInterval())}},"dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval"(){clearInterval(this.interval),this.setInterval()}},beforeRouteLeave(){clearInterval(this.interval)},methods:{toggle(){this.configurationToggling=!0,he("/api/toggleWireguardConfiguration/",{configurationName:this.configurationInfo.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.configurationInfo.Name} is
${e.data?"is on":"is off"}`,"Success"):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.configurationInfo.Status=e.data,this.configurationToggling=!1})},getPeers(e=this.$route.params.id){he("/api/getWireguardConfigurationInfo",{configurationName:e},t=>{if(this.configurationInfo=t.data.configurationInfo,this.configurationPeers=t.data.configurationPeers,this.configurationPeers.forEach(s=>{s.restricted=!1}),t.data.configurationRestrictedPeers.forEach(s=>{s.restricted=!0,this.configurationPeers.push(s)}),this.loading=!1,this.configurationPeers.length>0){const s=this.configurationPeers.map(i=>i.total_sent+i.cumu_sent).reduce((i,o)=>i+o).toFixed(4),n=this.configurationPeers.map(i=>i.total_receive+i.cumu_receive).reduce((i,o)=>i+o).toFixed(4);this.historyDataSentDifference[this.historyDataSentDifference.length-1]!==s&&(this.historyDataSentDifference.length>0&&(this.historySentData={labels:[...this.historySentData.labels,Xp().format("HH:mm:ss A")],datasets:[{label:"Data Sent",data:[...this.historySentData.datasets[0].data,((s-this.historyDataSentDifference[this.historyDataSentDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:" #198754",tension:0}]}),this.historyDataSentDifference.push(s)),this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1]!==n&&(this.historyDataReceivedDifference.length>0&&(this.historyReceiveData={labels:[...this.historyReceiveData.labels,Xp().format("HH:mm:ss A")],datasets:[{label:"Data Received",data:[...this.historyReceiveData.datasets[0].data,((n-this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:"#0d6efd",tension:0}]}),this.historyDataReceivedDifference.push(n))}})},setInterval(){this.interval=setInterval(()=>{this.getPeers()},parseInt(this.dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval))}},computed:{configurationSummary(){return{connectedPeers:this.configurationPeers.filter(e=>e.status==="running").length,totalUsage:this.configurationPeers.length>0?this.configurationPeers.map(e=>e.total_data+e.cumu_data).reduce((e,t)=>e+t):0,totalReceive:this.configurationPeers.length>0?this.configurationPeers.map(e=>e.total_receive+e.cumu_receive).reduce((e,t)=>e+t):0,totalSent:this.configurationPeers.length>0?this.configurationPeers.map(e=>e.total_sent+e.cumu_sent).reduce((e,t)=>e+t):0}},receiveData(){return this.historyReceiveData},sentData(){return this.historySentData},individualDataUsage(){return{labels:this.configurationPeers.map(e=>e.name?e.name:`Untitled Peer - ${e.id}`),datasets:[{label:"Total Data Usage",data:this.configurationPeers.map(e=>e.cumu_data+e.total_data),backgroundColor:this.configurationPeers.map(e=>"#0dcaf0"),tooltip:{callbacks:{label:e=>`${e.formattedValue} GB`}}}]}},individualDataUsageChartOption(){return{responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(e,t)=>`${e} GB`},grid:{display:!1}}}}},chartOptions(){return{responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:e=>`${e.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(e,t)=>`${e} MB/s`},grid:{display:!1}}}}},searchPeers(){const e=new Zi(this.configurationPeers,{keys:["name","id","allowed_ip"]}),t=this.wireguardConfigurationStore.searchString?e.search(this.wireguardConfigurationStore.searchString).map(s=>s.item):this.configurationPeers;return this.dashboardConfigurationStore.Configuration.Server.dashboard_sort==="restricted"?t.slice().sort((s,n)=>s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]<n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?1:s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]>n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?-1:0):t.slice().sort((s,n)=>s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]<n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?-1:s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]>n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?1:0)}}},ve=e=>(Bs("data-v-b60a7b13"),e=e(),Vs(),e),F3={key:0},B3={class:"d-flex align-items-center"},V3=ve(()=>p("small",{CLASS:"text-muted"},"CONFIGURATION",-1)),H3={class:"d-flex align-items-center gap-3"},j3={class:"mb-0"},W3={class:"card rounded-3 bg-transparent shadow-sm ms-auto"},z3={class:"card-body py-2 d-flex align-items-center"},U3=ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Status")],-1)),K3={class:"form-check form-switch ms-auto"},Y3=["for"],q3={key:0,class:"spinner-border spinner-border-sm","aria-hidden":"true"},G3=["disabled","id"],X3={class:"row mt-3 gy-2 gx-2 mb-2"},J3={class:"col-6 col-lg-3"},Q3={class:"card rounded-3 bg-transparent shadow-sm"},Z3={class:"card-body py-2"},t5=ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Address")],-1)),e5={class:"col-6 col-lg-3"},s5={class:"card rounded-3 bg-transparent shadow-sm"},n5={class:"card-body py-2"},i5=ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Listen Port")],-1)),o5={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},r5={class:"card rounded-3 bg-transparent shadow-sm"},a5={class:"card-body py-2"},l5=ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Public Key")],-1)),c5={class:"row gx-2 gy-2 mb-2"},d5={class:"col-6 col-lg-3"},u5={class:"card rounded-3 bg-transparent shadow-sm"},h5={class:"card-body d-flex"},f5=ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Connected Peers")],-1)),p5={class:"h4"},g5=ve(()=>p("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1)),m5={class:"col-6 col-lg-3"},_5={class:"card rounded-3 bg-transparent shadow-sm"},b5={class:"card-body d-flex"},v5=ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Total Usage")],-1)),y5={class:"h4"},x5=ve(()=>p("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1)),w5={class:"col-6 col-lg-3"},E5={class:"card rounded-3 bg-transparent shadow-sm"},S5={class:"card-body d-flex"},A5=ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Total Received")],-1)),C5={class:"h4 text-primary"},$5=ve(()=>p("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1)),P5={class:"col-6 col-lg-3"},k5={class:"card rounded-3 bg-transparent shadow-sm"},T5={class:"card-body d-flex"},M5=ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Total Sent")],-1)),O5={class:"h4 text-success"},D5=ve(()=>p("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1)),I5={class:"row gx-2 gy-2 mb-3"},L5={class:"col-12 col-lg-6"},R5={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},N5=ve(()=>p("div",{class:"card-header bg-transparent border-0"},[p("small",{class:"text-muted"},"Peers Total Data Usage")],-1)),F5={class:"card-body pt-1"},B5={class:"col-sm col-lg-3"},V5={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},H5=ve(()=>p("div",{class:"card-header bg-transparent border-0"},[p("small",{class:"text-muted"},"Real Time Received Data Usage")],-1)),j5={class:"card-body pt-1"},W5={class:"col-sm col-lg-3"},z5={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},U5=ve(()=>p("div",{class:"card-header bg-transparent border-0"},[p("small",{class:"text-muted"},"Real Time Sent Data Usage")],-1)),K5={class:"card-body pt-1"},Y5={class:"mb-4"};function q5(e,t,s,n,i,o){const r=Dt("Bar"),a=Dt("Line"),l=Dt("PeerSearch"),c=Dt("Peer"),d=Dt("PeerSettings"),u=Dt("PeerQRCode"),f=Dt("PeerJobs");return this.loading?Vt("",!0):(H(),q("div",F3,[p("div",B3,[p("div",null,[V3,p("div",H3,[p("h1",j3,[p("samp",null,lt(this.configurationInfo.Name),1)])])]),p("div",W3,[p("div",z3,[p("div",null,[U3,p("div",K3,[p("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+this.configurationInfo.id},[ht(lt(this.configurationToggling?"Turning ":"")+" "+lt(this.configurationInfo.Status?"On":"Off")+" ",1),this.configurationToggling?(H(),q("span",q3)):Vt("",!0)],8,Y3),mt(p("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+this.configurationInfo.id,onChange:t[0]||(t[0]=g=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=g=>this.configurationInfo.Status=g)},null,40,G3),[[Xi,this.configurationInfo.Status]])])]),p("div",{class:Rt(["dot ms-5",{active:this.configurationInfo.Status}])},null,2)])])]),p("div",X3,[p("div",J3,[p("div",Q3,[p("div",Z3,[t5,ht(" "+lt(this.configurationInfo.Address),1)])])]),p("div",e5,[p("div",s5,[p("div",n5,[i5,ht(" "+lt(this.configurationInfo.ListenPort),1)])])]),p("div",o5,[p("div",r5,[p("div",a5,[l5,p("samp",null,lt(this.configurationInfo.PublicKey),1)])])])]),p("div",c5,[p("div",d5,[p("div",u5,[p("div",h5,[p("div",null,[f5,p("strong",p5,lt(o.configurationSummary.connectedPeers),1)]),g5])])]),p("div",m5,[p("div",_5,[p("div",b5,[p("div",null,[v5,p("strong",y5,lt(o.configurationSummary.totalUsage.toFixed(4))+" GB",1)]),x5])])]),p("div",w5,[p("div",E5,[p("div",S5,[p("div",null,[A5,p("strong",C5,lt(o.configurationSummary.totalReceive.toFixed(4))+" GB",1)]),$5])])]),p("div",P5,[p("div",k5,[p("div",T5,[p("div",null,[M5,p("strong",O5,lt(o.configurationSummary.totalSent.toFixed(4))+" GB",1)]),D5])])])]),p("div",I5,[p("div",L5,[p("div",R5,[N5,p("div",F5,[dt(r,{data:o.individualDataUsage,options:o.individualDataUsageChartOption,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),p("div",B5,[p("div",V5,[H5,p("div",j5,[dt(a,{options:o.chartOptions,data:o.receiveData,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),p("div",W5,[p("div",z5,[U5,p("div",K5,[dt(a,{options:o.chartOptions,data:o.sentData,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]),p("div",Y5,[dt(l,{configuration:this.configurationInfo},null,8,["configuration"]),dt(or,{name:"list",tag:"div",class:"row gx-2 gy-2 z-0"},{default:Bt(()=>[(H(!0),q(Ht,null,_e(this.searchPeers,g=>(H(),q("div",{class:"col-12 col-lg-6 col-xl-4",key:g.id},[dt(c,{Peer:g,onRefresh:t[2]||(t[2]=m=>this.getPeers()),onJobs:m=>{i.peerScheduleJobs.modalOpen=!0,i.peerScheduleJobs.selectedPeer=this.configurationPeers.find(b=>b.id===g.id)},onSetting:m=>{i.peerSetting.modalOpen=!0,i.peerSetting.selectedPeer=this.configurationPeers.find(b=>b.id===g.id)},onQrcode:t[3]||(t[3]=m=>{this.peerQRCode.peerConfigData=m,this.peerQRCode.modalOpen=!0})},null,8,["Peer","onJobs","onSetting"])]))),128))]),_:1})]),dt(is,{name:"fade"},{default:Bt(()=>[this.peerSetting.modalOpen?(H(),oe(d,{key:"settings",selectedPeer:this.peerSetting.selectedPeer,onRefresh:t[4]||(t[4]=g=>this.getPeers()),onClose:t[5]||(t[5]=g=>this.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):Vt("",!0)]),_:1}),dt(is,{name:"fade"},{default:Bt(()=>[i.peerQRCode.modalOpen?(H(),oe(u,{peerConfigData:this.peerQRCode.peerConfigData,key:"qrcode",onClose:t[6]||(t[6]=g=>this.peerQRCode.modalOpen=!1)},null,8,["peerConfigData"])):Vt("",!0)]),_:1}),dt(is,{name:"fade"},{default:Bt(()=>[this.peerScheduleJobs.modalOpen?(H(),oe(f,{key:0,selectedPeer:this.peerScheduleJobs.selectedPeer,onClose:t[7]||(t[7]=g=>this.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):Vt("",!0)]),_:1})]))}const G5=kt(N3,[["render",q5],["__scopeId","data-v-b60a7b13"]]),X5={name:"ping",data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:Jt()}},mounted(){he("/api/ping/getAllPeersIpAddress",{},e=>{e.status&&(this.loading=!0,this.cips=e.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,he("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},e=>{e.status?this.pingResult=e.data:this.store.newMessage("Server",e.message,"danger")}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},Ve=e=>(Bs("data-v-875f5a3c"),e=e(),Vs(),e),J5={class:"mt-5 text-body"},Q5={class:"container"},Z5=Ve(()=>p("h3",{class:"mb-3 text-body"},"Ping",-1)),tV={class:"row"},eV={class:"col-sm-4 d-flex gap-2 flex-column"},sV=Ve(()=>p("label",{class:"mb-1 text-muted",for:"configuration"},[p("small",null,"Configuration")],-1)),nV=Ve(()=>p("option",{disabled:"",selected:"",value:void 0},"Select a Configuration...",-1)),iV=["value"],oV=Ve(()=>p("label",{class:"mb-1 text-muted",for:"peer"},[p("small",null,"Peer")],-1)),rV=["disabled"],aV=Ve(()=>p("option",{disabled:"",selected:"",value:void 0},"Select a Peer...",-1)),lV=["value"],cV=Ve(()=>p("label",{class:"mb-1 text-muted",for:"ip"},[p("small",null,"IP Address")],-1)),dV=["disabled"],uV=Ve(()=>p("option",{disabled:"",selected:"",value:void 0},"Select a IP...",-1)),hV=Ve(()=>p("label",{class:"mb-1 text-muted",for:"count"},[p("small",null,"Ping Count")],-1)),fV=["disabled"],pV=Ve(()=>p("i",{class:"bi bi-person-walking me-2"},null,-1)),gV={class:"col-sm-8"},mV={key:"pingPlaceholder"},_V={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},bV={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},vV={class:"card-body"},yV=Ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Address")],-1)),xV={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},wV={class:"card-body"},EV=Ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Is Alive")],-1)),SV={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},AV={class:"card-body"},CV=Ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Average / Min / Max Round Trip Time")],-1)),$V={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},PV={class:"card-body"},kV=Ve(()=>p("p",{class:"mb-0 text-muted"},[p("small",null,"Sent / Received / Lost Package")],-1));function TV(e,t,s,n,i,o){return H(),q("div",J5,[p("div",Q5,[Z5,p("div",tV,[p("div",eV,[p("div",null,[sV,mt(p("select",{class:"form-select","onUpdate:modelValue":t[0]||(t[0]=r=>this.selectedConfiguration=r)},[nV,(H(!0),q(Ht,null,_e(this.cips,(r,a)=>(H(),q("option",{value:a},lt(a),9,iV))),256))],512),[[ra,this.selectedConfiguration]])]),p("div",null,[oV,mt(p("select",{id:"peer",class:"form-select","onUpdate:modelValue":t[1]||(t[1]=r=>this.selectedPeer=r),disabled:this.selectedConfiguration===void 0},[aV,this.selectedConfiguration!==void 0?(H(!0),q(Ht,{key:0},_e(this.cips[this.selectedConfiguration],(r,a)=>(H(),q("option",{value:a},lt(a),9,lV))),256)):Vt("",!0)],8,rV),[[ra,this.selectedPeer]])]),p("div",null,[cV,mt(p("select",{id:"ip",class:"form-select","onUpdate:modelValue":t[2]||(t[2]=r=>this.selectedIp=r),disabled:this.selectedPeer===void 0},[uV,this.selectedPeer!==void 0?(H(!0),q(Ht,{key:0},_e(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,r=>(H(),q("option",null,lt(r),1))),256)):Vt("",!0)],8,dV),[[ra,this.selectedIp]])]),p("div",null,[hV,mt(p("input",{class:"form-control",type:"number","onUpdate:modelValue":t[3]||(t[3]=r=>this.count=r),min:"1",id:"count",placeholder:"How many times you want to ping?"},null,512),[[yt,this.count]])]),p("button",{class:"btn btn-primary rounded-3 mt-3",disabled:!this.selectedIp,onClick:t[4]||(t[4]=r=>this.execute())},[pV,ht("Go! ")],8,fV)]),p("div",gV,[dt(or,{name:"ping"},{default:Bt(()=>[this.pingResult?(H(),q("div",_V,[p("div",bV,[p("div",vV,[yV,ht(" "+lt(this.pingResult.address),1)])]),p("div",xV,[p("div",wV,[EV,p("span",{class:Rt([this.pingResult.is_alive?"text-success":"text-danger"])},[p("i",{class:Rt(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),ht(" "+lt(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),p("div",SV,[p("div",AV,[CV,p("samp",null,lt(this.pingResult.avg_rtt)+"ms / "+lt(this.pingResult.min_rtt)+"ms / "+lt(this.pingResult.max_rtt)+"ms ",1)])]),p("div",$V,[p("div",PV,[kV,p("samp",null,lt(this.pingResult.package_sent)+" / "+lt(this.pingResult.package_received)+" / "+lt(this.pingResult.package_loss),1)])])])):(H(),q("div",mV,[(H(),q(Ht,null,_e(4,r=>p("div",{class:Rt(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:Mi({"animation-delay":`${r*.15}s`})},null,6)),64))]))]),_:1})])])])])}const MV=kt(X5,[["render",TV],["__scopeId","data-v-875f5a3c"]]),OV={name:"traceroute",data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:as()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,he("/api/traceroute/execute",{ipAddress:this.ipAddress},e=>{e.status?this.tracerouteResult=e.data:this.store.newMessage("Server",e.message,"danger"),this.tracing=!1}))}}},gl=e=>(Bs("data-v-dda37ccf"),e=e(),Vs(),e),DV={class:"mt-5 text-body"},IV={class:"container"},LV=gl(()=>p("h3",{class:"mb-3 text-body"},"Traceroute",-1)),RV={class:"row"},NV={class:"col-sm-4 d-flex gap-2 flex-column"},FV=gl(()=>p("label",{class:"mb-1 text-muted",for:"ipAddress"},[p("small",null,"IP Address")],-1)),BV=["disabled"],VV=gl(()=>p("i",{class:"bi bi-bullseye me-2"},null,-1)),HV={class:"col-sm-8 position-relative"},jV={key:"pingPlaceholder"},WV={key:"table",class:"w-100"},zV={class:"table table-borderless rounded-3 w-100"},UV=gl(()=>p("thead",null,[p("tr",null,[p("th",{scope:"col"},"Hop"),p("th",{scope:"col"},"IP Address"),p("th",{scope:"col"},"Average / Min / Max Round Trip Time")])],-1));function KV(e,t,s,n,i,o){return H(),q("div",DV,[p("div",IV,[LV,p("div",RV,[p("div",NV,[p("div",null,[FV,mt(p("input",{id:"ipAddress",class:"form-control","onUpdate:modelValue":t[0]||(t[0]=r=>this.ipAddress=r),type:"text",placeholder:"Enter an IP Address you want to trace :)"},null,512),[[yt,this.ipAddress]])]),p("button",{class:"btn btn-primary rounded-3 mt-3",disabled:!this.store.regexCheckIP(this.ipAddress)||this.tracing,onClick:t[1]||(t[1]=r=>this.execute())},[VV,ht(" "+lt(this.tracing?"Tracing...":"Trace It!"),1)],8,BV)]),p("div",HV,[dt(or,{name:"ping"},{default:Bt(()=>[this.tracerouteResult?(H(),q("div",WV,[p("table",zV,[UV,p("tbody",null,[(H(!0),q(Ht,null,_e(this.tracerouteResult,(r,a)=>(H(),q("tr",{class:"animate__fadeInUp animate__animated",style:Mi({"animation-delay":`${a*.05}s`})},[p("td",null,lt(r.hop),1),p("td",null,lt(r.ip),1),p("td",null,lt(r.avg_rtt)+" / "+lt(r.min_rtt)+" / "+lt(r.max_rtt),1)],4))),256))])])])):(H(),q("div",jV,[(H(),q(Ht,null,_e(10,r=>p("div",{class:Rt(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:Mi({"animation-delay":`${r*.05}s`})},null,6)),64))]))]),_:1})])])])])}const YV=kt(OV,[["render",KV],["__scopeId","data-v-dda37ccf"]]),qV=async()=>{let e=!1;return await he("/api/validateAuthentication",{},t=>{e=t.status}),e},uu=zS({history:aS(),routes:[{name:"Index",path:"/",component:VA,meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:DC,meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"/settings",component:xP,meta:{title:"Settings"}},{path:"/ping",name:"Ping",component:MV},{path:"/traceroute",name:"Traceroute",component:YV},{name:"New Configuration",path:"/new_configuration",component:hM,meta:{title:"New Configuration"}},{name:"Configuration",path:"/configuration/:id",component:mM,meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:G5},{name:"Peers Create",path:"create",component:Ib}]}]},{path:"/signin",component:aC,meta:{title:"Sign In"}},{path:"/welcome",component:Jk,meta:{requiresAuth:!0}}]});uu.beforeEach(async(e,t,s)=>{const n=as(),i=Jt();e.meta.title?e.params.id?document.title=e.params.id+" | WGDashboard":document.title=e.meta.title+" | WGDashboard":document.title="WGDashboard",e.meta.requiresAuth?QS.getCookie("authToken")&&await qV()?(await i.getConfiguration(),!n.Configurations&&e.name!=="Configuration List"&&await n.getConfigurations(),i.Redirect=void 0,s()):(i.Redirect=e,s("/signin")):s()});const hu=DE(JS);hu.use(uu);const Rb=NE();Rb.use(({store:e})=>{e.$router=Ua(uu)});hu.use(Rb);hu.mount("#app");