From 00dc461fdf1657e6d39a49ba234c6b95ea923d05 Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Thu, 19 May 2022 23:40:38 +0200 Subject: [PATCH] VueRouter: support for non-root paths (e.g. homeassistant) (#3413) --- assets/js/router.js | 4 +-- .../{index.1062968a.js => index.fce5e1db.js} | 36 +++++++++---------- dist/index.html | 2 +- 3 files changed, 21 insertions(+), 21 deletions(-) rename dist/assets/{index.1062968a.js => index.fce5e1db.js} (85%) diff --git a/assets/js/router.js b/assets/js/router.js index f188fea25..5027be8e7 100644 --- a/assets/js/router.js +++ b/assets/js/router.js @@ -1,8 +1,8 @@ -import { createRouter, createWebHistory } from "vue-router"; +import { createRouter, createWebHashHistory } from "vue-router"; import Main from "./views/Main.vue"; export default createRouter({ - history: createWebHistory(), + history: createWebHashHistory(), routes: [{ path: "/", component: Main, props: true }], }); diff --git a/dist/assets/index.1062968a.js b/dist/assets/index.fce5e1db.js similarity index 85% rename from dist/assets/index.1062968a.js rename to dist/assets/index.fce5e1db.js index 7834076e2..4f0716b80 100644 --- a/dist/assets/index.1062968a.js +++ b/dist/assets/index.fce5e1db.js @@ -1,4 +1,4 @@ -var ng=Object.defineProperty,rg=Object.defineProperties;var sg=Object.getOwnPropertyDescriptors;var Ic=Object.getOwnPropertySymbols;var ig=Object.prototype.hasOwnProperty,og=Object.prototype.propertyIsEnumerable;var Qo=(e,t,n)=>t in e?ng(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,he=(e,t)=>{for(var n in t||(t={}))ig.call(t,n)&&Qo(e,n,t[n]);if(Ic)for(var n of Ic(t))og.call(t,n)&&Qo(e,n,t[n]);return e},gs=(e,t)=>rg(e,sg(t));var ag=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Vn=(e,t,n)=>(Qo(e,typeof t!="symbol"?t+"":t,n),n);var pP=ag((_P,hi)=>{const lg=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerpolicy&&(i.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?i.credentials="include":s.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}};lg();var et="top",gt="bottom",_t="right",tt="left",oo="auto",as=[et,gt,_t,tt],lr="start",Br="end",pd="clippingParents",_l="viewport",kr="popper",gd="reference",Ta=as.reduce(function(e,t){return e.concat([t+"-"+lr,t+"-"+Br])},[]),vl=[].concat(as,[oo]).reduce(function(e,t){return e.concat([t,t+"-"+lr,t+"-"+Br])},[]),_d="beforeRead",vd="read",bd="afterRead",yd="beforeMain",Ed="main",wd="afterMain",Td="beforeWrite",Sd="write",Cd="afterWrite",Ad=[_d,vd,bd,yd,Ed,wd,Td,Sd,Cd];function Qt(e){return e?(e.nodeName||"").toLowerCase():null}function Rt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function jr(e){var t=Rt(e).Element;return e instanceof t||e instanceof Element}function Ct(e){var t=Rt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function bl(e){if(typeof ShadowRoot=="undefined")return!1;var t=Rt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function cg(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},s=t.attributes[n]||{},i=t.elements[n];!Ct(i)||!Qt(i)||(Object.assign(i.style,r),Object.keys(s).forEach(function(o){var a=s[o];a===!1?i.removeAttribute(o):i.setAttribute(o,a===!0?"":a)}))})}function ug(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var s=t.elements[r],i=t.attributes[r]||{},o=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),a=o.reduce(function(l,c){return l[c]="",l},{});!Ct(s)||!Qt(s)||(Object.assign(s.style,a),Object.keys(i).forEach(function(l){s.removeAttribute(l)}))})}}var yl={name:"applyStyles",enabled:!0,phase:"write",fn:cg,effect:ug,requires:["computeStyles"]};function Kt(e){return e.split("-")[0]}var nr=Math.max,Ui=Math.min,Vr=Math.round;function Ur(e,t){t===void 0&&(t=!1);var n=e.getBoundingClientRect(),r=1,s=1;if(Ct(e)&&t){var i=e.offsetHeight,o=e.offsetWidth;o>0&&(r=Vr(n.width)/o||1),i>0&&(s=Vr(n.height)/i||1)}return{width:n.width/r,height:n.height/s,top:n.top/s,right:n.right/r,bottom:n.bottom/s,left:n.left/r,x:n.left/r,y:n.top/s}}function El(e){var t=Ur(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function kd(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&bl(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function cn(e){return Rt(e).getComputedStyle(e)}function fg(e){return["table","td","th"].indexOf(Qt(e))>=0}function Rn(e){return((jr(e)?e.ownerDocument:e.document)||window.document).documentElement}function ao(e){return Qt(e)==="html"?e:e.assignedSlot||e.parentNode||(bl(e)?e.host:null)||Rn(e)}function Mc(e){return!Ct(e)||cn(e).position==="fixed"?null:e.offsetParent}function dg(e){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,n=navigator.userAgent.indexOf("Trident")!==-1;if(n&&Ct(e)){var r=cn(e);if(r.position==="fixed")return null}var s=ao(e);for(bl(s)&&(s=s.host);Ct(s)&&["html","body"].indexOf(Qt(s))<0;){var i=cn(s);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return s;s=s.parentNode}return null}function ni(e){for(var t=Rt(e),n=Mc(e);n&&fg(n)&&cn(n).position==="static";)n=Mc(n);return n&&(Qt(n)==="html"||Qt(n)==="body"&&cn(n).position==="static")?t:n||dg(e)||t}function wl(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ns(e,t,n){return nr(e,Ui(t,n))}function hg(e,t,n){var r=Ns(e,t,n);return r>n?n:r}function Od(){return{top:0,right:0,bottom:0,left:0}}function Ld(e){return Object.assign({},Od(),e)}function Nd(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var mg=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Ld(typeof t!="number"?t:Nd(t,as))};function pg(e){var t,n=e.state,r=e.name,s=e.options,i=n.elements.arrow,o=n.modifiersData.popperOffsets,a=Kt(n.placement),l=wl(a),c=[tt,_t].indexOf(a)>=0,u=c?"height":"width";if(!(!i||!o)){var f=mg(s.padding,n),d=El(i),g=l==="y"?et:tt,S=l==="y"?gt:_t,A=n.rects.reference[u]+n.rects.reference[l]-o[l]-n.rects.popper[u],_=o[l]-n.rects.reference[l],p=ni(i),v=p?l==="y"?p.clientHeight||0:p.clientWidth||0:0,E=A/2-_/2,m=f[g],k=v-d[u]-f[S],$=v/2-d[u]/2+E,L=Ns(m,$,k),H=l;n.modifiersData[r]=(t={},t[H]=L,t.centerOffset=L-$,t)}}function gg(e){var t=e.state,n=e.options,r=n.element,s=r===void 0?"[data-popper-arrow]":r;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||!kd(t.elements.popper,s)||(t.elements.arrow=s))}var $d={name:"arrow",enabled:!0,phase:"main",fn:pg,effect:gg,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Wr(e){return e.split("-")[1]}var _g={top:"auto",right:"auto",bottom:"auto",left:"auto"};function vg(e){var t=e.x,n=e.y,r=window,s=r.devicePixelRatio||1;return{x:Vr(t*s)/s||0,y:Vr(n*s)/s||0}}function Rc(e){var t,n=e.popper,r=e.popperRect,s=e.placement,i=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,f=e.isFixed,d=o.x,g=d===void 0?0:d,S=o.y,A=S===void 0?0:S,_=typeof u=="function"?u({x:g,y:A}):{x:g,y:A};g=_.x,A=_.y;var p=o.hasOwnProperty("x"),v=o.hasOwnProperty("y"),E=tt,m=et,k=window;if(c){var $=ni(n),L="clientHeight",H="clientWidth";if($===Rt(n)&&($=Rn(n),cn($).position!=="static"&&a==="absolute"&&(L="scrollHeight",H="scrollWidth")),$=$,s===et||(s===tt||s===_t)&&i===Br){m=gt;var j=f&&$===k&&k.visualViewport?k.visualViewport.height:$[L];A-=j-r.height,A*=l?1:-1}if(s===tt||(s===et||s===gt)&&i===Br){E=_t;var q=f&&$===k&&k.visualViewport?k.visualViewport.width:$[H];g-=q-r.width,g*=l?1:-1}}var J=Object.assign({position:a},c&&_g),F=u===!0?vg({x:g,y:A}):{x:g,y:A};if(g=F.x,A=F.y,l){var re;return Object.assign({},J,(re={},re[m]=v?"0":"",re[E]=p?"0":"",re.transform=(k.devicePixelRatio||1)<=1?"translate("+g+"px, "+A+"px)":"translate3d("+g+"px, "+A+"px, 0)",re))}return Object.assign({},J,(t={},t[m]=v?A+"px":"",t[E]=p?g+"px":"",t.transform="",t))}function bg(e){var t=e.state,n=e.options,r=n.gpuAcceleration,s=r===void 0?!0:r,i=n.adaptive,o=i===void 0?!0:i,a=n.roundOffsets,l=a===void 0?!0:a,c={placement:Kt(t.placement),variation:Wr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Rc(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Rc(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})}var Tl={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:bg,data:{}},gi={passive:!0};function yg(e){var t=e.state,n=e.instance,r=e.options,s=r.scroll,i=s===void 0?!0:s,o=r.resize,a=o===void 0?!0:o,l=Rt(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&c.forEach(function(u){u.addEventListener("scroll",n.update,gi)}),a&&l.addEventListener("resize",n.update,gi),function(){i&&c.forEach(function(u){u.removeEventListener("scroll",n.update,gi)}),a&&l.removeEventListener("resize",n.update,gi)}}var Sl={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:yg,data:{}},Eg={left:"right",right:"left",bottom:"top",top:"bottom"};function Pi(e){return e.replace(/left|right|bottom|top/g,function(t){return Eg[t]})}var wg={start:"end",end:"start"};function Dc(e){return e.replace(/start|end/g,function(t){return wg[t]})}function Cl(e){var t=Rt(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Al(e){return Ur(Rn(e)).left+Cl(e).scrollLeft}function Tg(e){var t=Rt(e),n=Rn(e),r=t.visualViewport,s=n.clientWidth,i=n.clientHeight,o=0,a=0;return r&&(s=r.width,i=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(o=r.offsetLeft,a=r.offsetTop)),{width:s,height:i,x:o+Al(e),y:a}}function Sg(e){var t,n=Rn(e),r=Cl(e),s=(t=e.ownerDocument)==null?void 0:t.body,i=nr(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),o=nr(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-r.scrollLeft+Al(e),l=-r.scrollTop;return cn(s||n).direction==="rtl"&&(a+=nr(n.clientWidth,s?s.clientWidth:0)-i),{width:i,height:o,x:a,y:l}}function kl(e){var t=cn(e),n=t.overflow,r=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+r)}function Pd(e){return["html","body","#document"].indexOf(Qt(e))>=0?e.ownerDocument.body:Ct(e)&&kl(e)?e:Pd(ao(e))}function $s(e,t){var n;t===void 0&&(t=[]);var r=Pd(e),s=r===((n=e.ownerDocument)==null?void 0:n.body),i=Rt(r),o=s?[i].concat(i.visualViewport||[],kl(r)?r:[]):r,a=t.concat(o);return s?a:a.concat($s(ao(o)))}function Sa(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Cg(e){var t=Ur(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function Fc(e,t){return t===_l?Sa(Tg(e)):jr(t)?Cg(t):Sa(Sg(Rn(e)))}function Ag(e){var t=$s(ao(e)),n=["absolute","fixed"].indexOf(cn(e).position)>=0,r=n&&Ct(e)?ni(e):e;return jr(r)?t.filter(function(s){return jr(s)&&kd(s,r)&&Qt(s)!=="body"}):[]}function kg(e,t,n){var r=t==="clippingParents"?Ag(e):[].concat(t),s=[].concat(r,[n]),i=s[0],o=s.reduce(function(a,l){var c=Fc(e,l);return a.top=nr(c.top,a.top),a.right=Ui(c.right,a.right),a.bottom=Ui(c.bottom,a.bottom),a.left=nr(c.left,a.left),a},Fc(e,i));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function xd(e){var t=e.reference,n=e.element,r=e.placement,s=r?Kt(r):null,i=r?Wr(r):null,o=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(s){case et:l={x:o,y:t.y-n.height};break;case gt:l={x:o,y:t.y+t.height};break;case _t:l={x:t.x+t.width,y:a};break;case tt:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=s?wl(s):null;if(c!=null){var u=c==="y"?"height":"width";switch(i){case lr:l[c]=l[c]-(t[u]/2-n[u]/2);break;case Br:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function zr(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=r===void 0?e.placement:r,i=n.boundary,o=i===void 0?pd:i,a=n.rootBoundary,l=a===void 0?_l:a,c=n.elementContext,u=c===void 0?kr:c,f=n.altBoundary,d=f===void 0?!1:f,g=n.padding,S=g===void 0?0:g,A=Ld(typeof S!="number"?S:Nd(S,as)),_=u===kr?gd:kr,p=e.rects.popper,v=e.elements[d?_:u],E=kg(jr(v)?v:v.contextElement||Rn(e.elements.popper),o,l),m=Ur(e.elements.reference),k=xd({reference:m,element:p,strategy:"absolute",placement:s}),$=Sa(Object.assign({},p,k)),L=u===kr?$:m,H={top:E.top-L.top+A.top,bottom:L.bottom-E.bottom+A.bottom,left:E.left-L.left+A.left,right:L.right-E.right+A.right},j=e.modifiersData.offset;if(u===kr&&j){var q=j[s];Object.keys(H).forEach(function(J){var F=[_t,gt].indexOf(J)>=0?1:-1,re=[et,gt].indexOf(J)>=0?"y":"x";H[J]+=q[re]*F})}return H}function Og(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=n.boundary,i=n.rootBoundary,o=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?vl:l,u=Wr(r),f=u?a?Ta:Ta.filter(function(S){return Wr(S)===u}):as,d=f.filter(function(S){return c.indexOf(S)>=0});d.length===0&&(d=f);var g=d.reduce(function(S,A){return S[A]=zr(e,{placement:A,boundary:s,rootBoundary:i,padding:o})[Kt(A)],S},{});return Object.keys(g).sort(function(S,A){return g[S]-g[A]})}function Lg(e){if(Kt(e)===oo)return[];var t=Pi(e);return[Dc(e),t,Dc(t)]}function Ng(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var s=n.mainAxis,i=s===void 0?!0:s,o=n.altAxis,a=o===void 0?!0:o,l=n.fallbackPlacements,c=n.padding,u=n.boundary,f=n.rootBoundary,d=n.altBoundary,g=n.flipVariations,S=g===void 0?!0:g,A=n.allowedAutoPlacements,_=t.options.placement,p=Kt(_),v=p===_,E=l||(v||!S?[Pi(_)]:Lg(_)),m=[_].concat(E).reduce(function(Ee,M){return Ee.concat(Kt(M)===oo?Og(t,{placement:M,boundary:u,rootBoundary:f,padding:c,flipVariations:S,allowedAutoPlacements:A}):M)},[]),k=t.rects.reference,$=t.rects.popper,L=new Map,H=!0,j=m[0],q=0;q=0,x=P?"width":"height",Z=zr(t,{placement:J,boundary:u,rootBoundary:f,altBoundary:d,padding:c}),ee=P?re?_t:tt:re?gt:et;k[x]>$[x]&&(ee=Pi(ee));var oe=Pi(ee),le=[];if(i&&le.push(Z[F]<=0),a&&le.push(Z[ee]<=0,Z[oe]<=0),le.every(function(Ee){return Ee})){j=J,H=!1;break}L.set(J,le)}if(H)for(var ue=S?3:1,pe=function(M){var X=m.find(function(B){var te=L.get(B);if(te)return te.slice(0,M).every(function(ge){return ge})});if(X)return j=X,"break"},ve=ue;ve>0;ve--){var Oe=pe(ve);if(Oe==="break")break}t.placement!==j&&(t.modifiersData[r]._skip=!0,t.placement=j,t.reset=!0)}}var Id={name:"flip",enabled:!0,phase:"main",fn:Ng,requiresIfExists:["offset"],data:{_skip:!1}};function Hc(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Bc(e){return[et,_t,gt,tt].some(function(t){return e[t]>=0})}function $g(e){var t=e.state,n=e.name,r=t.rects.reference,s=t.rects.popper,i=t.modifiersData.preventOverflow,o=zr(t,{elementContext:"reference"}),a=zr(t,{altBoundary:!0}),l=Hc(o,r),c=Hc(a,s,i),u=Bc(l),f=Bc(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":f})}var Md={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:$g};function Pg(e,t,n){var r=Kt(e),s=[tt,et].indexOf(r)>=0?-1:1,i=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,o=i[0],a=i[1];return o=o||0,a=(a||0)*s,[tt,_t].indexOf(r)>=0?{x:a,y:o}:{x:o,y:a}}function xg(e){var t=e.state,n=e.options,r=e.name,s=n.offset,i=s===void 0?[0,0]:s,o=vl.reduce(function(u,f){return u[f]=Pg(f,t.rects,i),u},{}),a=o[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=o}var Rd={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:xg};function Ig(e){var t=e.state,n=e.name;t.modifiersData[n]=xd({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var Ol={name:"popperOffsets",enabled:!0,phase:"read",fn:Ig,data:{}};function Mg(e){return e==="x"?"y":"x"}function Rg(e){var t=e.state,n=e.options,r=e.name,s=n.mainAxis,i=s===void 0?!0:s,o=n.altAxis,a=o===void 0?!1:o,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,f=n.padding,d=n.tether,g=d===void 0?!0:d,S=n.tetherOffset,A=S===void 0?0:S,_=zr(t,{boundary:l,rootBoundary:c,padding:f,altBoundary:u}),p=Kt(t.placement),v=Wr(t.placement),E=!v,m=wl(p),k=Mg(m),$=t.modifiersData.popperOffsets,L=t.rects.reference,H=t.rects.popper,j=typeof A=="function"?A(Object.assign({},t.rects,{placement:t.placement})):A,q=typeof j=="number"?{mainAxis:j,altAxis:j}:Object.assign({mainAxis:0,altAxis:0},j),J=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,F={x:0,y:0};if(!!$){if(i){var re,P=m==="y"?et:tt,x=m==="y"?gt:_t,Z=m==="y"?"height":"width",ee=$[m],oe=ee+_[P],le=ee-_[x],ue=g?-H[Z]/2:0,pe=v===lr?L[Z]:H[Z],ve=v===lr?-H[Z]:-L[Z],Oe=t.elements.arrow,Ee=g&&Oe?El(Oe):{width:0,height:0},M=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Od(),X=M[P],B=M[x],te=Ns(0,L[Z],Ee[Z]),ge=E?L[Z]/2-ue-te-X-q.mainAxis:pe-te-X-q.mainAxis,be=E?-L[Z]/2+ue+te+B+q.mainAxis:ve+te+B+q.mainAxis,y=t.elements.arrow&&ni(t.elements.arrow),w=y?m==="y"?y.clientTop||0:y.clientLeft||0:0,h=(re=J==null?void 0:J[m])!=null?re:0,b=ee+ge-h-w,O=ee+be-h,I=Ns(g?Ui(oe,b):oe,ee,g?nr(le,O):le);$[m]=I,F[m]=I-ee}if(a){var R,W=m==="x"?et:tt,Q=m==="x"?gt:_t,z=$[k],C=k==="y"?"height":"width",N=z+_[W],ne=z-_[Q],G=[et,tt].indexOf(p)!==-1,ie=(R=J==null?void 0:J[k])!=null?R:0,ce=G?N:z-L[C]-H[C]-ie+q.altAxis,me=G?z+L[C]+H[C]-ie-q.altAxis:ne,ke=g&&G?hg(ce,z,me):Ns(g?ce:N,z,g?me:ne);$[k]=ke,F[k]=ke-z}t.modifiersData[r]=F}}var Dd={name:"preventOverflow",enabled:!0,phase:"main",fn:Rg,requiresIfExists:["offset"]};function Dg(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Fg(e){return e===Rt(e)||!Ct(e)?Cl(e):Dg(e)}function Hg(e){var t=e.getBoundingClientRect(),n=Vr(t.width)/e.offsetWidth||1,r=Vr(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Bg(e,t,n){n===void 0&&(n=!1);var r=Ct(t),s=Ct(t)&&Hg(t),i=Rn(t),o=Ur(e,s),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((Qt(t)!=="body"||kl(i))&&(a=Fg(t)),Ct(t)?(l=Ur(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=Al(i))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function jg(e){var t=new Map,n=new Set,r=[];e.forEach(function(i){t.set(i.name,i)});function s(i){n.add(i.name);var o=[].concat(i.requires||[],i.requiresIfExists||[]);o.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&s(l)}}),r.push(i)}return e.forEach(function(i){n.has(i.name)||s(i)}),r}function Vg(e){var t=jg(e);return Ad.reduce(function(n,r){return n.concat(t.filter(function(s){return s.phase===r}))},[])}function Ug(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Wg(e){var t=e.reduce(function(n,r){var s=n[r.name];return n[r.name]=s?Object.assign({},s,r,{options:Object.assign({},s.options,r.options),data:Object.assign({},s.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var jc={placement:"bottom",modifiers:[],strategy:"absolute"};function Vc(){for(var e=arguments.length,t=new Array(e),n=0;nt in e?ng(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,he=(e,t)=>{for(var n in t||(t={}))ig.call(t,n)&&Qo(e,n,t[n]);if(Ic)for(var n of Ic(t))og.call(t,n)&&Qo(e,n,t[n]);return e},gs=(e,t)=>rg(e,sg(t));var ag=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Vn=(e,t,n)=>(Qo(e,typeof t!="symbol"?t+"":t,n),n);var gP=ag((vP,hi)=>{const lg=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerpolicy&&(i.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?i.credentials="include":s.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}};lg();var et="top",gt="bottom",_t="right",tt="left",oo="auto",as=[et,gt,_t,tt],lr="start",Br="end",pd="clippingParents",_l="viewport",kr="popper",gd="reference",Ta=as.reduce(function(e,t){return e.concat([t+"-"+lr,t+"-"+Br])},[]),vl=[].concat(as,[oo]).reduce(function(e,t){return e.concat([t,t+"-"+lr,t+"-"+Br])},[]),_d="beforeRead",vd="read",bd="afterRead",yd="beforeMain",Ed="main",wd="afterMain",Td="beforeWrite",Sd="write",Cd="afterWrite",Ad=[_d,vd,bd,yd,Ed,wd,Td,Sd,Cd];function Qt(e){return e?(e.nodeName||"").toLowerCase():null}function Rt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function jr(e){var t=Rt(e).Element;return e instanceof t||e instanceof Element}function Ct(e){var t=Rt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function bl(e){if(typeof ShadowRoot=="undefined")return!1;var t=Rt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function cg(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},s=t.attributes[n]||{},i=t.elements[n];!Ct(i)||!Qt(i)||(Object.assign(i.style,r),Object.keys(s).forEach(function(o){var a=s[o];a===!1?i.removeAttribute(o):i.setAttribute(o,a===!0?"":a)}))})}function ug(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var s=t.elements[r],i=t.attributes[r]||{},o=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),a=o.reduce(function(l,c){return l[c]="",l},{});!Ct(s)||!Qt(s)||(Object.assign(s.style,a),Object.keys(i).forEach(function(l){s.removeAttribute(l)}))})}}var yl={name:"applyStyles",enabled:!0,phase:"write",fn:cg,effect:ug,requires:["computeStyles"]};function Kt(e){return e.split("-")[0]}var nr=Math.max,Ui=Math.min,Vr=Math.round;function Ur(e,t){t===void 0&&(t=!1);var n=e.getBoundingClientRect(),r=1,s=1;if(Ct(e)&&t){var i=e.offsetHeight,o=e.offsetWidth;o>0&&(r=Vr(n.width)/o||1),i>0&&(s=Vr(n.height)/i||1)}return{width:n.width/r,height:n.height/s,top:n.top/s,right:n.right/r,bottom:n.bottom/s,left:n.left/r,x:n.left/r,y:n.top/s}}function El(e){var t=Ur(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function kd(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&bl(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function cn(e){return Rt(e).getComputedStyle(e)}function fg(e){return["table","td","th"].indexOf(Qt(e))>=0}function Rn(e){return((jr(e)?e.ownerDocument:e.document)||window.document).documentElement}function ao(e){return Qt(e)==="html"?e:e.assignedSlot||e.parentNode||(bl(e)?e.host:null)||Rn(e)}function Mc(e){return!Ct(e)||cn(e).position==="fixed"?null:e.offsetParent}function dg(e){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,n=navigator.userAgent.indexOf("Trident")!==-1;if(n&&Ct(e)){var r=cn(e);if(r.position==="fixed")return null}var s=ao(e);for(bl(s)&&(s=s.host);Ct(s)&&["html","body"].indexOf(Qt(s))<0;){var i=cn(s);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return s;s=s.parentNode}return null}function ni(e){for(var t=Rt(e),n=Mc(e);n&&fg(n)&&cn(n).position==="static";)n=Mc(n);return n&&(Qt(n)==="html"||Qt(n)==="body"&&cn(n).position==="static")?t:n||dg(e)||t}function wl(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ns(e,t,n){return nr(e,Ui(t,n))}function hg(e,t,n){var r=Ns(e,t,n);return r>n?n:r}function Od(){return{top:0,right:0,bottom:0,left:0}}function Ld(e){return Object.assign({},Od(),e)}function Nd(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var mg=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Ld(typeof t!="number"?t:Nd(t,as))};function pg(e){var t,n=e.state,r=e.name,s=e.options,i=n.elements.arrow,o=n.modifiersData.popperOffsets,a=Kt(n.placement),l=wl(a),c=[tt,_t].indexOf(a)>=0,u=c?"height":"width";if(!(!i||!o)){var f=mg(s.padding,n),d=El(i),g=l==="y"?et:tt,S=l==="y"?gt:_t,A=n.rects.reference[u]+n.rects.reference[l]-o[l]-n.rects.popper[u],_=o[l]-n.rects.reference[l],p=ni(i),v=p?l==="y"?p.clientHeight||0:p.clientWidth||0:0,E=A/2-_/2,m=f[g],k=v-d[u]-f[S],$=v/2-d[u]/2+E,L=Ns(m,$,k),H=l;n.modifiersData[r]=(t={},t[H]=L,t.centerOffset=L-$,t)}}function gg(e){var t=e.state,n=e.options,r=n.element,s=r===void 0?"[data-popper-arrow]":r;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||!kd(t.elements.popper,s)||(t.elements.arrow=s))}var $d={name:"arrow",enabled:!0,phase:"main",fn:pg,effect:gg,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Wr(e){return e.split("-")[1]}var _g={top:"auto",right:"auto",bottom:"auto",left:"auto"};function vg(e){var t=e.x,n=e.y,r=window,s=r.devicePixelRatio||1;return{x:Vr(t*s)/s||0,y:Vr(n*s)/s||0}}function Rc(e){var t,n=e.popper,r=e.popperRect,s=e.placement,i=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,f=e.isFixed,d=o.x,g=d===void 0?0:d,S=o.y,A=S===void 0?0:S,_=typeof u=="function"?u({x:g,y:A}):{x:g,y:A};g=_.x,A=_.y;var p=o.hasOwnProperty("x"),v=o.hasOwnProperty("y"),E=tt,m=et,k=window;if(c){var $=ni(n),L="clientHeight",H="clientWidth";if($===Rt(n)&&($=Rn(n),cn($).position!=="static"&&a==="absolute"&&(L="scrollHeight",H="scrollWidth")),$=$,s===et||(s===tt||s===_t)&&i===Br){m=gt;var j=f&&$===k&&k.visualViewport?k.visualViewport.height:$[L];A-=j-r.height,A*=l?1:-1}if(s===tt||(s===et||s===gt)&&i===Br){E=_t;var q=f&&$===k&&k.visualViewport?k.visualViewport.width:$[H];g-=q-r.width,g*=l?1:-1}}var J=Object.assign({position:a},c&&_g),F=u===!0?vg({x:g,y:A}):{x:g,y:A};if(g=F.x,A=F.y,l){var re;return Object.assign({},J,(re={},re[m]=v?"0":"",re[E]=p?"0":"",re.transform=(k.devicePixelRatio||1)<=1?"translate("+g+"px, "+A+"px)":"translate3d("+g+"px, "+A+"px, 0)",re))}return Object.assign({},J,(t={},t[m]=v?A+"px":"",t[E]=p?g+"px":"",t.transform="",t))}function bg(e){var t=e.state,n=e.options,r=n.gpuAcceleration,s=r===void 0?!0:r,i=n.adaptive,o=i===void 0?!0:i,a=n.roundOffsets,l=a===void 0?!0:a,c={placement:Kt(t.placement),variation:Wr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Rc(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Rc(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})}var Tl={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:bg,data:{}},gi={passive:!0};function yg(e){var t=e.state,n=e.instance,r=e.options,s=r.scroll,i=s===void 0?!0:s,o=r.resize,a=o===void 0?!0:o,l=Rt(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&c.forEach(function(u){u.addEventListener("scroll",n.update,gi)}),a&&l.addEventListener("resize",n.update,gi),function(){i&&c.forEach(function(u){u.removeEventListener("scroll",n.update,gi)}),a&&l.removeEventListener("resize",n.update,gi)}}var Sl={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:yg,data:{}},Eg={left:"right",right:"left",bottom:"top",top:"bottom"};function Pi(e){return e.replace(/left|right|bottom|top/g,function(t){return Eg[t]})}var wg={start:"end",end:"start"};function Dc(e){return e.replace(/start|end/g,function(t){return wg[t]})}function Cl(e){var t=Rt(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Al(e){return Ur(Rn(e)).left+Cl(e).scrollLeft}function Tg(e){var t=Rt(e),n=Rn(e),r=t.visualViewport,s=n.clientWidth,i=n.clientHeight,o=0,a=0;return r&&(s=r.width,i=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(o=r.offsetLeft,a=r.offsetTop)),{width:s,height:i,x:o+Al(e),y:a}}function Sg(e){var t,n=Rn(e),r=Cl(e),s=(t=e.ownerDocument)==null?void 0:t.body,i=nr(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),o=nr(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-r.scrollLeft+Al(e),l=-r.scrollTop;return cn(s||n).direction==="rtl"&&(a+=nr(n.clientWidth,s?s.clientWidth:0)-i),{width:i,height:o,x:a,y:l}}function kl(e){var t=cn(e),n=t.overflow,r=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+r)}function Pd(e){return["html","body","#document"].indexOf(Qt(e))>=0?e.ownerDocument.body:Ct(e)&&kl(e)?e:Pd(ao(e))}function $s(e,t){var n;t===void 0&&(t=[]);var r=Pd(e),s=r===((n=e.ownerDocument)==null?void 0:n.body),i=Rt(r),o=s?[i].concat(i.visualViewport||[],kl(r)?r:[]):r,a=t.concat(o);return s?a:a.concat($s(ao(o)))}function Sa(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Cg(e){var t=Ur(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function Fc(e,t){return t===_l?Sa(Tg(e)):jr(t)?Cg(t):Sa(Sg(Rn(e)))}function Ag(e){var t=$s(ao(e)),n=["absolute","fixed"].indexOf(cn(e).position)>=0,r=n&&Ct(e)?ni(e):e;return jr(r)?t.filter(function(s){return jr(s)&&kd(s,r)&&Qt(s)!=="body"}):[]}function kg(e,t,n){var r=t==="clippingParents"?Ag(e):[].concat(t),s=[].concat(r,[n]),i=s[0],o=s.reduce(function(a,l){var c=Fc(e,l);return a.top=nr(c.top,a.top),a.right=Ui(c.right,a.right),a.bottom=Ui(c.bottom,a.bottom),a.left=nr(c.left,a.left),a},Fc(e,i));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function xd(e){var t=e.reference,n=e.element,r=e.placement,s=r?Kt(r):null,i=r?Wr(r):null,o=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(s){case et:l={x:o,y:t.y-n.height};break;case gt:l={x:o,y:t.y+t.height};break;case _t:l={x:t.x+t.width,y:a};break;case tt:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=s?wl(s):null;if(c!=null){var u=c==="y"?"height":"width";switch(i){case lr:l[c]=l[c]-(t[u]/2-n[u]/2);break;case Br:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function zr(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=r===void 0?e.placement:r,i=n.boundary,o=i===void 0?pd:i,a=n.rootBoundary,l=a===void 0?_l:a,c=n.elementContext,u=c===void 0?kr:c,f=n.altBoundary,d=f===void 0?!1:f,g=n.padding,S=g===void 0?0:g,A=Ld(typeof S!="number"?S:Nd(S,as)),_=u===kr?gd:kr,p=e.rects.popper,v=e.elements[d?_:u],E=kg(jr(v)?v:v.contextElement||Rn(e.elements.popper),o,l),m=Ur(e.elements.reference),k=xd({reference:m,element:p,strategy:"absolute",placement:s}),$=Sa(Object.assign({},p,k)),L=u===kr?$:m,H={top:E.top-L.top+A.top,bottom:L.bottom-E.bottom+A.bottom,left:E.left-L.left+A.left,right:L.right-E.right+A.right},j=e.modifiersData.offset;if(u===kr&&j){var q=j[s];Object.keys(H).forEach(function(J){var F=[_t,gt].indexOf(J)>=0?1:-1,re=[et,gt].indexOf(J)>=0?"y":"x";H[J]+=q[re]*F})}return H}function Og(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=n.boundary,i=n.rootBoundary,o=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?vl:l,u=Wr(r),f=u?a?Ta:Ta.filter(function(S){return Wr(S)===u}):as,d=f.filter(function(S){return c.indexOf(S)>=0});d.length===0&&(d=f);var g=d.reduce(function(S,A){return S[A]=zr(e,{placement:A,boundary:s,rootBoundary:i,padding:o})[Kt(A)],S},{});return Object.keys(g).sort(function(S,A){return g[S]-g[A]})}function Lg(e){if(Kt(e)===oo)return[];var t=Pi(e);return[Dc(e),t,Dc(t)]}function Ng(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var s=n.mainAxis,i=s===void 0?!0:s,o=n.altAxis,a=o===void 0?!0:o,l=n.fallbackPlacements,c=n.padding,u=n.boundary,f=n.rootBoundary,d=n.altBoundary,g=n.flipVariations,S=g===void 0?!0:g,A=n.allowedAutoPlacements,_=t.options.placement,p=Kt(_),v=p===_,E=l||(v||!S?[Pi(_)]:Lg(_)),m=[_].concat(E).reduce(function(Ee,M){return Ee.concat(Kt(M)===oo?Og(t,{placement:M,boundary:u,rootBoundary:f,padding:c,flipVariations:S,allowedAutoPlacements:A}):M)},[]),k=t.rects.reference,$=t.rects.popper,L=new Map,H=!0,j=m[0],q=0;q=0,x=P?"width":"height",Z=zr(t,{placement:J,boundary:u,rootBoundary:f,altBoundary:d,padding:c}),ee=P?re?_t:tt:re?gt:et;k[x]>$[x]&&(ee=Pi(ee));var oe=Pi(ee),le=[];if(i&&le.push(Z[F]<=0),a&&le.push(Z[ee]<=0,Z[oe]<=0),le.every(function(Ee){return Ee})){j=J,H=!1;break}L.set(J,le)}if(H)for(var ue=S?3:1,pe=function(M){var X=m.find(function(B){var te=L.get(B);if(te)return te.slice(0,M).every(function(ge){return ge})});if(X)return j=X,"break"},ve=ue;ve>0;ve--){var Oe=pe(ve);if(Oe==="break")break}t.placement!==j&&(t.modifiersData[r]._skip=!0,t.placement=j,t.reset=!0)}}var Id={name:"flip",enabled:!0,phase:"main",fn:Ng,requiresIfExists:["offset"],data:{_skip:!1}};function Hc(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Bc(e){return[et,_t,gt,tt].some(function(t){return e[t]>=0})}function $g(e){var t=e.state,n=e.name,r=t.rects.reference,s=t.rects.popper,i=t.modifiersData.preventOverflow,o=zr(t,{elementContext:"reference"}),a=zr(t,{altBoundary:!0}),l=Hc(o,r),c=Hc(a,s,i),u=Bc(l),f=Bc(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":f})}var Md={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:$g};function Pg(e,t,n){var r=Kt(e),s=[tt,et].indexOf(r)>=0?-1:1,i=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,o=i[0],a=i[1];return o=o||0,a=(a||0)*s,[tt,_t].indexOf(r)>=0?{x:a,y:o}:{x:o,y:a}}function xg(e){var t=e.state,n=e.options,r=e.name,s=n.offset,i=s===void 0?[0,0]:s,o=vl.reduce(function(u,f){return u[f]=Pg(f,t.rects,i),u},{}),a=o[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=o}var Rd={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:xg};function Ig(e){var t=e.state,n=e.name;t.modifiersData[n]=xd({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var Ol={name:"popperOffsets",enabled:!0,phase:"read",fn:Ig,data:{}};function Mg(e){return e==="x"?"y":"x"}function Rg(e){var t=e.state,n=e.options,r=e.name,s=n.mainAxis,i=s===void 0?!0:s,o=n.altAxis,a=o===void 0?!1:o,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,f=n.padding,d=n.tether,g=d===void 0?!0:d,S=n.tetherOffset,A=S===void 0?0:S,_=zr(t,{boundary:l,rootBoundary:c,padding:f,altBoundary:u}),p=Kt(t.placement),v=Wr(t.placement),E=!v,m=wl(p),k=Mg(m),$=t.modifiersData.popperOffsets,L=t.rects.reference,H=t.rects.popper,j=typeof A=="function"?A(Object.assign({},t.rects,{placement:t.placement})):A,q=typeof j=="number"?{mainAxis:j,altAxis:j}:Object.assign({mainAxis:0,altAxis:0},j),J=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,F={x:0,y:0};if(!!$){if(i){var re,P=m==="y"?et:tt,x=m==="y"?gt:_t,Z=m==="y"?"height":"width",ee=$[m],oe=ee+_[P],le=ee-_[x],ue=g?-H[Z]/2:0,pe=v===lr?L[Z]:H[Z],ve=v===lr?-H[Z]:-L[Z],Oe=t.elements.arrow,Ee=g&&Oe?El(Oe):{width:0,height:0},M=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Od(),X=M[P],B=M[x],te=Ns(0,L[Z],Ee[Z]),ge=E?L[Z]/2-ue-te-X-q.mainAxis:pe-te-X-q.mainAxis,be=E?-L[Z]/2+ue+te+B+q.mainAxis:ve+te+B+q.mainAxis,y=t.elements.arrow&&ni(t.elements.arrow),w=y?m==="y"?y.clientTop||0:y.clientLeft||0:0,h=(re=J==null?void 0:J[m])!=null?re:0,b=ee+ge-h-w,O=ee+be-h,I=Ns(g?Ui(oe,b):oe,ee,g?nr(le,O):le);$[m]=I,F[m]=I-ee}if(a){var R,W=m==="x"?et:tt,Q=m==="x"?gt:_t,z=$[k],C=k==="y"?"height":"width",N=z+_[W],ne=z-_[Q],G=[et,tt].indexOf(p)!==-1,ie=(R=J==null?void 0:J[k])!=null?R:0,ce=G?N:z-L[C]-H[C]-ie+q.altAxis,me=G?z+L[C]+H[C]-ie-q.altAxis:ne,ke=g&&G?hg(ce,z,me):Ns(g?ce:N,z,g?me:ne);$[k]=ke,F[k]=ke-z}t.modifiersData[r]=F}}var Dd={name:"preventOverflow",enabled:!0,phase:"main",fn:Rg,requiresIfExists:["offset"]};function Dg(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Fg(e){return e===Rt(e)||!Ct(e)?Cl(e):Dg(e)}function Hg(e){var t=e.getBoundingClientRect(),n=Vr(t.width)/e.offsetWidth||1,r=Vr(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Bg(e,t,n){n===void 0&&(n=!1);var r=Ct(t),s=Ct(t)&&Hg(t),i=Rn(t),o=Ur(e,s),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((Qt(t)!=="body"||kl(i))&&(a=Fg(t)),Ct(t)?(l=Ur(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=Al(i))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function jg(e){var t=new Map,n=new Set,r=[];e.forEach(function(i){t.set(i.name,i)});function s(i){n.add(i.name);var o=[].concat(i.requires||[],i.requiresIfExists||[]);o.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&s(l)}}),r.push(i)}return e.forEach(function(i){n.has(i.name)||s(i)}),r}function Vg(e){var t=jg(e);return Ad.reduce(function(n,r){return n.concat(t.filter(function(s){return s.phase===r}))},[])}function Ug(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Wg(e){var t=e.reduce(function(n,r){var s=n[r.name];return n[r.name]=s?Object.assign({},s,r,{options:Object.assign({},s.options,r.options),data:Object.assign({},s.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var jc={placement:"bottom",modifiers:[],strategy:"absolute"};function Vc(){for(var e=arguments.length,t=new Array(e),n=0;nmp?Symbol(e):"_vr_"+e,BT=ds("rvlm"),Mf=ds("rvd"),Ec=ds("r"),pp=ds("rl"),el=ds("rvl"),Pr=typeof window!="undefined";function jT(e){return e.__esModule||mp&&e[Symbol.toStringTag]==="Module"}const $e=Object.assign;function ya(e,t){const n={};for(const r in t){const s=t[r];n[r]=Array.isArray(s)?s.map(e):e(s)}return n}const Ks=()=>{},VT=/\/$/,UT=e=>e.replace(VT,"");function Ea(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("?"),l=t.indexOf("#",a>-1?a:0);return a>-1&&(r=t.slice(0,a),i=t.slice(a+1,l>-1?l:t.length),s=e(i)),l>-1&&(r=r||t.slice(0,l),o=t.slice(l,t.length)),r=YT(r!=null?r:t,n),{fullPath:r+(i&&"?")+i+o,path:r,query:s,hash:o}}function WT(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Rf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function zT(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&rs(t.matched[r],n.matched[s])&&gp(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function rs(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function gp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!KT(e[n],t[n]))return!1;return!0}function KT(e,t){return Array.isArray(e)?Df(e,t):Array.isArray(t)?Df(t,e):e===t}function Df(e,t){return Array.isArray(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function YT(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/");let s=n.length-1,i,o;for(i=0;i({left:window.pageXOffset,top:window.pageYOffset});function QT(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=JT(s,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 Ff(e,t){return(history.state?history.state.position-t:-1)+e}const tl=new Map;function ZT(e,t){tl.set(e,t)}function eS(e){const t=tl.get(e);return tl.delete(e),t}let tS=()=>location.protocol+"//"+location.host;function _p(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let a=s.includes(e.slice(i))?e.slice(i).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),Rf(l,"")}return Rf(n,e)+r+s}function nS(e,t,n,r){let s=[],i=[],o=null;const a=({state:d})=>{const g=_p(e,location),S=n.value,A=t.value;let _=0;if(d){if(n.value=g,t.value=d,o&&o===S){o=null;return}_=A?d.position-A.position:0}else r(g);s.forEach(p=>{p(n.value,S,{delta:_,type:ti.pop,direction:_?_>0?Ys.forward:Ys.back:Ys.unknown})})};function l(){o=n.value}function c(d){s.push(d);const g=()=>{const S=s.indexOf(d);S>-1&&s.splice(S,1)};return i.push(g),g}function u(){const{history:d}=window;!d.state||d.replaceState($e({},d.state,{scroll:Wo()}),"")}function f(){for(const d of i)d();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u),{pauseListeners:l,listen:c,destroy:f}}function Hf(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Wo():null}}function rS(e){const{history:t,location:n}=window,r={value:_p(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,c,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:tS()+e+l;try{t[u?"replaceState":"pushState"](c,"",d),s.value=c}catch(g){console.error(g),n[u?"replace":"assign"](d)}}function o(l,c){const u=$e({},t.state,Hf(s.value.back,l,s.value.forward,!0),c,{position:s.value.position});i(l,u,!0),r.value=l}function a(l,c){const u=$e({},s.value,t.state,{forward:l,scroll:Wo()});i(u.current,u,!0);const f=$e({},Hf(r.value,l,null),{position:u.position+1},c);i(l,f,!1),r.value=l}return{location:r,state:s,push:a,replace:o}}function sS(e){e=qT(e);const t=rS(e),n=nS(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=$e({location:"",base:e,go:r,createHref:XT.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function iS(e){return typeof e=="string"||e&&typeof e=="object"}function vp(e){return typeof e=="string"||typeof e=="symbol"}const bn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},bp=ds("nf");var Bf;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Bf||(Bf={}));function ss(e,t){return $e(new Error,{type:e,[bp]:!0},t)}function yn(e,t){return e instanceof Error&&bp in e&&(t==null||!!(e.type&t))}const jf="[^/]+?",oS={sensitive:!1,strict:!1,start:!0,end:!0},aS=/[.+*?^${}()[\]/\\]/g;function lS(e,t){const n=$e({},oS,t),r=[];let s=n.start?"^":"";const i=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(s+="/");for(let f=0;f1&&(u.endsWith("/")?u=u.slice(0,-1):f=!0);else throw new Error(`Missing required param "${S}"`);u+=v}}return u}return{re:o,score:r,keys:i,parse:a,stringify:l}}function cS(e,t){let n=0;for(;nt.length?t.length===1&&t[0]===40+40?1:-1:0}function uS(e,t){let n=0;const r=e.score,s=t.score;for(;n1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function d(){c+=l}for(;a{o(v)}:Ks}function o(u){if(vp(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(o),f.alias.forEach(o))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return n}function l(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!yp(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!Vf(u)&&r.set(u.record.name,u)}function c(u,f){let d,g={},S,A;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw ss(1,{location:u});A=d.record.name,g=$e(gS(f.params,d.keys.filter(v=>!v.optional).map(v=>v.name)),u.params),S=d.stringify(g)}else if("path"in u)S=u.path,d=n.find(v=>v.re.test(S)),d&&(g=d.parse(S),A=d.record.name);else{if(d=f.name?r.get(f.name):n.find(v=>v.re.test(f.path)),!d)throw ss(1,{location:u,currentLocation:f});A=d.record.name,g=$e({},f.params,u.params),S=d.stringify(g)}const _=[];let p=d;for(;p;)_.unshift(p.record),p=p.parent;return{name:A,path:S,params:g,matched:_,meta:bS(_)}}return e.forEach(u=>i(u)),{addRoute:i,resolve:c,removeRoute:o,getRoutes:a,getRecordMatcher:s}}function gS(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function _S(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:vS(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||{}:{default:e.component}}}function vS(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="boolean"?n:n[r];return t}function Vf(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function bS(e){return e.reduce((t,n)=>$e(t,n.meta),{})}function Uf(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function yp(e,t){return t.children.some(n=>n===e||yp(e,n))}const Ep=/#/g,yS=/&/g,ES=/\//g,wS=/=/g,TS=/\?/g,wp=/\+/g,SS=/%5B/g,CS=/%5D/g,Tp=/%5E/g,AS=/%60/g,Sp=/%7B/g,kS=/%7C/g,Cp=/%7D/g,OS=/%20/g;function wc(e){return encodeURI(""+e).replace(kS,"|").replace(SS,"[").replace(CS,"]")}function LS(e){return wc(e).replace(Sp,"{").replace(Cp,"}").replace(Tp,"^")}function nl(e){return wc(e).replace(wp,"%2B").replace(OS,"+").replace(Ep,"%23").replace(yS,"%26").replace(AS,"`").replace(Sp,"{").replace(Cp,"}").replace(Tp,"^")}function NS(e){return nl(e).replace(wS,"%3D")}function $S(e){return wc(e).replace(Ep,"%23").replace(TS,"%3F")}function PS(e){return e==null?"":$S(e).replace(ES,"%2F")}function so(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function xS(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;si&&nl(i)):[r&&nl(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function IS(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Array.isArray(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}function Cs(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function Cn(e,t,n,r,s){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((o,a)=>{const l=f=>{f===!1?a(ss(4,{from:n,to:t})):f instanceof Error?a(f):iS(f)?a(ss(2,{from:t,to:f})):(i&&r.enterCallbacks[s]===i&&typeof f=="function"&&i.push(f),o())},c=e.call(r&&r.instances[s],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch(f=>a(f))})}function wa(e,t,n,r){const s=[];for(const i of e)for(const o in i.components){let a=i.components[o];if(!(t!=="beforeRouteEnter"&&!i.instances[o]))if(MS(a)){const c=(a.__vccOpts||a)[t];c&&s.push(Cn(c,n,r,i,o))}else{let l=a();s.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${o}" at "${i.path}"`));const u=jT(c)?c.default:c;i.components[o]=u;const d=(u.__vccOpts||u)[t];return d&&Cn(d,n,r,i,o)()}))}}return s}function MS(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function zf(e){const t=Gt(Ec),n=Gt(pp),r=St(()=>t.resolve(Fr(e.to))),s=St(()=>{const{matched:l}=r.value,{length:c}=l,u=l[c-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(rs.bind(null,u));if(d>-1)return d;const g=Kf(l[c-2]);return c>1&&Kf(u)===g&&f[f.length-1].path!==g?f.findIndex(rs.bind(null,l[c-2])):d}),i=St(()=>s.value>-1&&HS(n.params,r.value.params)),o=St(()=>s.value>-1&&s.value===n.matched.length-1&&gp(n.params,r.value.params));function a(l={}){return FS(l)?t[Fr(e.replace)?"replace":"push"](Fr(e.to)).catch(Ks):Promise.resolve()}return{route:r,href:St(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}const RS=us({name:"RouterLink",props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:zf,setup(e,{slots:t}){const n=Fn(zf(e)),{options:r}=Gt(Ec),s=St(()=>({[Yf(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Yf(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&t.default(n);return e.custom?i:Hn("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),DS=RS;function FS(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 HS(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Array.isArray(s)||s.length!==r.length||r.some((i,o)=>i!==s[o]))return!1}return!0}function Kf(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Yf=(e,t,n)=>e!=null?e:t!=null?t:n,BS=us({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Gt(el),s=St(()=>e.route||r.value),i=Gt(Mf,0),o=St(()=>s.value.matched[i]);Bs(Mf,i+1),Bs(BT,o),Bs(el,s);const a=Rs();return or(()=>[a.value,o.value,e.name],([l,c,u],[f,d,g])=>{c&&(c.instances[u]=l,d&&d!==c&&l&&l===f&&(c.leaveGuards.size||(c.leaveGuards=d.leaveGuards),c.updateGuards.size||(c.updateGuards=d.updateGuards))),l&&c&&(!d||!rs(c,d)||!f)&&(c.enterCallbacks[u]||[]).forEach(S=>S(l))},{flush:"post"}),()=>{const l=s.value,c=o.value,u=c&&c.components[e.name],f=e.name;if(!u)return qf(n.default,{Component:u,route:l});const d=c.props[e.name],g=d?d===!0?l.params:typeof d=="function"?d(l):d:null,A=Hn(u,$e({},g,t,{onVnodeUnmounted:_=>{_.component.isUnmounted&&(c.instances[f]=null)},ref:a}));return qf(n.default,{Component:A,route:l})||A}}});function qf(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const jS=BS;function VS(e){const t=pS(e.routes,e),n=e.parseQuery||xS,r=e.stringifyQuery||Wf,s=e.history,i=Cs(),o=Cs(),a=Cs(),l=$h(bn);let c=bn;Pr&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ya.bind(null,M=>""+M),f=ya.bind(null,PS),d=ya.bind(null,so);function g(M,X){let B,te;return vp(M)?(B=t.getRecordMatcher(M),te=X):te=M,t.addRoute(te,B)}function S(M){const X=t.getRecordMatcher(M);X&&t.removeRoute(X)}function A(){return t.getRoutes().map(M=>M.record)}function _(M){return!!t.getRecordMatcher(M)}function p(M,X){if(X=$e({},X||l.value),typeof M=="string"){const w=Ea(n,M,X.path),h=t.resolve({path:w.path},X),b=s.createHref(w.fullPath);return $e(w,h,{params:d(h.params),hash:so(w.hash),redirectedFrom:void 0,href:b})}let B;if("path"in M)B=$e({},M,{path:Ea(n,M.path,X.path).path});else{const w=$e({},M.params);for(const h in w)w[h]==null&&delete w[h];B=$e({},M,{params:f(M.params)}),X.params=f(X.params)}const te=t.resolve(B,X),ge=M.hash||"";te.params=u(d(te.params));const be=WT(r,$e({},M,{hash:LS(ge),path:te.path})),y=s.createHref(be);return $e({fullPath:be,hash:ge,query:r===Wf?IS(M.query):M.query||{}},te,{redirectedFrom:void 0,href:y})}function v(M){return typeof M=="string"?Ea(n,M,l.value.path):$e({},M)}function E(M,X){if(c!==M)return ss(8,{from:X,to:M})}function m(M){return L(M)}function k(M){return m($e(v(M),{replace:!0}))}function $(M){const X=M.matched[M.matched.length-1];if(X&&X.redirect){const{redirect:B}=X;let te=typeof B=="function"?B(M):B;return typeof te=="string"&&(te=te.includes("?")||te.includes("#")?te=v(te):{path:te},te.params={}),$e({query:M.query,hash:M.hash,params:M.params},te)}}function L(M,X){const B=c=p(M),te=l.value,ge=M.state,be=M.force,y=M.replace===!0,w=$(B);if(w)return L($e(v(w),{state:ge,force:be,replace:y}),X||B);const h=B;h.redirectedFrom=X;let b;return!be&&zT(r,te,B)&&(b=ss(16,{to:h,from:te}),ue(te,te,!0,!1)),(b?Promise.resolve(b):j(h,te)).catch(O=>yn(O)?yn(O,2)?O:le(O):ee(O,h,te)).then(O=>{if(O){if(yn(O,2))return L($e(v(O.to),{state:ge,force:be,replace:y}),X||h)}else O=J(h,te,!0,y,ge);return q(h,te,O),O})}function H(M,X){const B=E(M,X);return B?Promise.reject(B):Promise.resolve()}function j(M,X){let B;const[te,ge,be]=US(M,X);B=wa(te.reverse(),"beforeRouteLeave",M,X);for(const w of te)w.leaveGuards.forEach(h=>{B.push(Cn(h,M,X))});const y=H.bind(null,M,X);return B.push(y),Ar(B).then(()=>{B=[];for(const w of i.list())B.push(Cn(w,M,X));return B.push(y),Ar(B)}).then(()=>{B=wa(ge,"beforeRouteUpdate",M,X);for(const w of ge)w.updateGuards.forEach(h=>{B.push(Cn(h,M,X))});return B.push(y),Ar(B)}).then(()=>{B=[];for(const w of M.matched)if(w.beforeEnter&&!X.matched.includes(w))if(Array.isArray(w.beforeEnter))for(const h of w.beforeEnter)B.push(Cn(h,M,X));else B.push(Cn(w.beforeEnter,M,X));return B.push(y),Ar(B)}).then(()=>(M.matched.forEach(w=>w.enterCallbacks={}),B=wa(be,"beforeRouteEnter",M,X),B.push(y),Ar(B))).then(()=>{B=[];for(const w of o.list())B.push(Cn(w,M,X));return B.push(y),Ar(B)}).catch(w=>yn(w,8)?w:Promise.reject(w))}function q(M,X,B){for(const te of a.list())te(M,X,B)}function J(M,X,B,te,ge){const be=E(M,X);if(be)return be;const y=X===bn,w=Pr?history.state:{};B&&(te||y?s.replace(M.fullPath,$e({scroll:y&&w&&w.scroll},ge)):s.push(M.fullPath,ge)),l.value=M,ue(M,X,B,y),le()}let F;function re(){F||(F=s.listen((M,X,B)=>{const te=p(M),ge=$(te);if(ge){L($e(ge,{replace:!0}),te).catch(Ks);return}c=te;const be=l.value;Pr&&ZT(Ff(be.fullPath,B.delta),Wo()),j(te,be).catch(y=>yn(y,12)?y:yn(y,2)?(L(y.to,te).then(w=>{yn(w,20)&&!B.delta&&B.type===ti.pop&&s.go(-1,!1)}).catch(Ks),Promise.reject()):(B.delta&&s.go(-B.delta,!1),ee(y,te,be))).then(y=>{y=y||J(te,be,!1),y&&(B.delta?s.go(-B.delta,!1):B.type===ti.pop&&yn(y,20)&&s.go(-1,!1)),q(te,be,y)}).catch(Ks)}))}let P=Cs(),x=Cs(),Z;function ee(M,X,B){le(M);const te=x.list();return te.length?te.forEach(ge=>ge(M,X,B)):console.error(M),Promise.reject(M)}function oe(){return Z&&l.value!==bn?Promise.resolve():new Promise((M,X)=>{P.add([M,X])})}function le(M){return Z||(Z=!M,re(),P.list().forEach(([X,B])=>M?B(M):X()),P.reset()),M}function ue(M,X,B,te){const{scrollBehavior:ge}=e;if(!Pr||!ge)return Promise.resolve();const be=!B&&eS(Ff(M.fullPath,0))||(te||!B)&&history.state&&history.state.scroll||null;return Oo().then(()=>ge(M,X,be)).then(y=>y&&QT(y)).catch(y=>ee(y,M,X))}const pe=M=>s.go(M);let ve;const Oe=new Set;return{currentRoute:l,addRoute:g,removeRoute:S,hasRoute:_,getRoutes:A,resolve:p,options:e,push:m,replace:k,go:pe,back:()=>pe(-1),forward:()=>pe(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:x.add,isReady:oe,install(M){const X=this;M.component("RouterLink",DS),M.component("RouterView",jS),M.config.globalProperties.$router=X,Object.defineProperty(M.config.globalProperties,"$route",{enumerable:!0,get:()=>Fr(l)}),Pr&&!ve&&l.value===bn&&(ve=!0,m(s.location).catch(ge=>{}));const B={};for(const ge in bn)B[ge]=St(()=>l.value[ge]);M.provide(Ec,X),M.provide(pp,Fn(B)),M.provide(el,l);const te=M.unmount;Oe.add(M),M.unmount=function(){Oe.delete(M),Oe.size<1&&(c=bn,F&&F(),F=null,l.value=bn,ve=!1,Z=!1),te()}}}}function Ar(e){return e.reduce((t,n)=>t.then(()=>n()),Promise.resolve())}function US(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;ors(c,a))?r.push(a):n.push(a));const l=e.matched[o];l&&(t.matched.find(c=>rs(c,l))||s.push(l))}return[n,r,s]}if(!document.querySelector("style[data-shopicon]")){const e=document.createElement("style");e.setAttribute("data-shopicon",!0),e.innerHTML=` + */const mp=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol",ds=e=>mp?Symbol(e):"_vr_"+e,BT=ds("rvlm"),Mf=ds("rvd"),Ec=ds("r"),pp=ds("rl"),el=ds("rvl"),Pr=typeof window!="undefined";function jT(e){return e.__esModule||mp&&e[Symbol.toStringTag]==="Module"}const $e=Object.assign;function ya(e,t){const n={};for(const r in t){const s=t[r];n[r]=Array.isArray(s)?s.map(e):e(s)}return n}const Ks=()=>{},VT=/\/$/,UT=e=>e.replace(VT,"");function Ea(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("?"),l=t.indexOf("#",a>-1?a:0);return a>-1&&(r=t.slice(0,a),i=t.slice(a+1,l>-1?l:t.length),s=e(i)),l>-1&&(r=r||t.slice(0,l),o=t.slice(l,t.length)),r=YT(r!=null?r:t,n),{fullPath:r+(i&&"?")+i+o,path:r,query:s,hash:o}}function WT(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Rf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function zT(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&rs(t.matched[r],n.matched[s])&&gp(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function rs(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function gp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!KT(e[n],t[n]))return!1;return!0}function KT(e,t){return Array.isArray(e)?Df(e,t):Array.isArray(t)?Df(t,e):e===t}function Df(e,t){return Array.isArray(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function YT(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/");let s=n.length-1,i,o;for(i=0;i({left:window.pageXOffset,top:window.pageYOffset});function QT(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=JT(s,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 Ff(e,t){return(history.state?history.state.position-t:-1)+e}const tl=new Map;function ZT(e,t){tl.set(e,t)}function eS(e){const t=tl.get(e);return tl.delete(e),t}let tS=()=>location.protocol+"//"+location.host;function _p(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let a=s.includes(e.slice(i))?e.slice(i).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),Rf(l,"")}return Rf(n,e)+r+s}function nS(e,t,n,r){let s=[],i=[],o=null;const a=({state:d})=>{const g=_p(e,location),S=n.value,A=t.value;let _=0;if(d){if(n.value=g,t.value=d,o&&o===S){o=null;return}_=A?d.position-A.position:0}else r(g);s.forEach(p=>{p(n.value,S,{delta:_,type:ti.pop,direction:_?_>0?Ys.forward:Ys.back:Ys.unknown})})};function l(){o=n.value}function c(d){s.push(d);const g=()=>{const S=s.indexOf(d);S>-1&&s.splice(S,1)};return i.push(g),g}function u(){const{history:d}=window;!d.state||d.replaceState($e({},d.state,{scroll:Wo()}),"")}function f(){for(const d of i)d();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u),{pauseListeners:l,listen:c,destroy:f}}function Hf(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Wo():null}}function rS(e){const{history:t,location:n}=window,r={value:_p(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,c,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:tS()+e+l;try{t[u?"replaceState":"pushState"](c,"",d),s.value=c}catch(g){console.error(g),n[u?"replace":"assign"](d)}}function o(l,c){const u=$e({},t.state,Hf(s.value.back,l,s.value.forward,!0),c,{position:s.value.position});i(l,u,!0),r.value=l}function a(l,c){const u=$e({},s.value,t.state,{forward:l,scroll:Wo()});i(u.current,u,!0);const f=$e({},Hf(r.value,l,null),{position:u.position+1},c);i(l,f,!1),r.value=l}return{location:r,state:s,push:a,replace:o}}function sS(e){e=qT(e);const t=rS(e),n=nS(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=$e({location:"",base:e,go:r,createHref:XT.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function iS(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),sS(e)}function oS(e){return typeof e=="string"||e&&typeof e=="object"}function vp(e){return typeof e=="string"||typeof e=="symbol"}const bn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},bp=ds("nf");var Bf;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Bf||(Bf={}));function ss(e,t){return $e(new Error,{type:e,[bp]:!0},t)}function yn(e,t){return e instanceof Error&&bp in e&&(t==null||!!(e.type&t))}const jf="[^/]+?",aS={sensitive:!1,strict:!1,start:!0,end:!0},lS=/[.+*?^${}()[\]/\\]/g;function cS(e,t){const n=$e({},aS,t),r=[];let s=n.start?"^":"";const i=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(s+="/");for(let f=0;f1&&(u.endsWith("/")?u=u.slice(0,-1):f=!0);else throw new Error(`Missing required param "${S}"`);u+=v}}return u}return{re:o,score:r,keys:i,parse:a,stringify:l}}function uS(e,t){let n=0;for(;nt.length?t.length===1&&t[0]===40+40?1:-1:0}function fS(e,t){let n=0;const r=e.score,s=t.score;for(;n1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function d(){c+=l}for(;a{o(v)}:Ks}function o(u){if(vp(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(o),f.alias.forEach(o))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return n}function l(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!yp(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!Vf(u)&&r.set(u.record.name,u)}function c(u,f){let d,g={},S,A;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw ss(1,{location:u});A=d.record.name,g=$e(_S(f.params,d.keys.filter(v=>!v.optional).map(v=>v.name)),u.params),S=d.stringify(g)}else if("path"in u)S=u.path,d=n.find(v=>v.re.test(S)),d&&(g=d.parse(S),A=d.record.name);else{if(d=f.name?r.get(f.name):n.find(v=>v.re.test(f.path)),!d)throw ss(1,{location:u,currentLocation:f});A=d.record.name,g=$e({},f.params,u.params),S=d.stringify(g)}const _=[];let p=d;for(;p;)_.unshift(p.record),p=p.parent;return{name:A,path:S,params:g,matched:_,meta:yS(_)}}return e.forEach(u=>i(u)),{addRoute:i,resolve:c,removeRoute:o,getRoutes:a,getRecordMatcher:s}}function _S(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function vS(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:bS(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||{}:{default:e.component}}}function bS(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="boolean"?n:n[r];return t}function Vf(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function yS(e){return e.reduce((t,n)=>$e(t,n.meta),{})}function Uf(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function yp(e,t){return t.children.some(n=>n===e||yp(e,n))}const Ep=/#/g,ES=/&/g,wS=/\//g,TS=/=/g,SS=/\?/g,wp=/\+/g,CS=/%5B/g,AS=/%5D/g,Tp=/%5E/g,kS=/%60/g,Sp=/%7B/g,OS=/%7C/g,Cp=/%7D/g,LS=/%20/g;function wc(e){return encodeURI(""+e).replace(OS,"|").replace(CS,"[").replace(AS,"]")}function NS(e){return wc(e).replace(Sp,"{").replace(Cp,"}").replace(Tp,"^")}function nl(e){return wc(e).replace(wp,"%2B").replace(LS,"+").replace(Ep,"%23").replace(ES,"%26").replace(kS,"`").replace(Sp,"{").replace(Cp,"}").replace(Tp,"^")}function $S(e){return nl(e).replace(TS,"%3D")}function PS(e){return wc(e).replace(Ep,"%23").replace(SS,"%3F")}function xS(e){return e==null?"":PS(e).replace(wS,"%2F")}function so(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function IS(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;si&&nl(i)):[r&&nl(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function MS(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Array.isArray(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}function Cs(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function Cn(e,t,n,r,s){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((o,a)=>{const l=f=>{f===!1?a(ss(4,{from:n,to:t})):f instanceof Error?a(f):oS(f)?a(ss(2,{from:t,to:f})):(i&&r.enterCallbacks[s]===i&&typeof f=="function"&&i.push(f),o())},c=e.call(r&&r.instances[s],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch(f=>a(f))})}function wa(e,t,n,r){const s=[];for(const i of e)for(const o in i.components){let a=i.components[o];if(!(t!=="beforeRouteEnter"&&!i.instances[o]))if(RS(a)){const c=(a.__vccOpts||a)[t];c&&s.push(Cn(c,n,r,i,o))}else{let l=a();s.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${o}" at "${i.path}"`));const u=jT(c)?c.default:c;i.components[o]=u;const d=(u.__vccOpts||u)[t];return d&&Cn(d,n,r,i,o)()}))}}return s}function RS(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function zf(e){const t=Gt(Ec),n=Gt(pp),r=St(()=>t.resolve(Fr(e.to))),s=St(()=>{const{matched:l}=r.value,{length:c}=l,u=l[c-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(rs.bind(null,u));if(d>-1)return d;const g=Kf(l[c-2]);return c>1&&Kf(u)===g&&f[f.length-1].path!==g?f.findIndex(rs.bind(null,l[c-2])):d}),i=St(()=>s.value>-1&&BS(n.params,r.value.params)),o=St(()=>s.value>-1&&s.value===n.matched.length-1&&gp(n.params,r.value.params));function a(l={}){return HS(l)?t[Fr(e.replace)?"replace":"push"](Fr(e.to)).catch(Ks):Promise.resolve()}return{route:r,href:St(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}const DS=us({name:"RouterLink",props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:zf,setup(e,{slots:t}){const n=Fn(zf(e)),{options:r}=Gt(Ec),s=St(()=>({[Yf(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Yf(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&t.default(n);return e.custom?i:Hn("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),FS=DS;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 BS(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Array.isArray(s)||s.length!==r.length||r.some((i,o)=>i!==s[o]))return!1}return!0}function Kf(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Yf=(e,t,n)=>e!=null?e:t!=null?t:n,jS=us({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Gt(el),s=St(()=>e.route||r.value),i=Gt(Mf,0),o=St(()=>s.value.matched[i]);Bs(Mf,i+1),Bs(BT,o),Bs(el,s);const a=Rs();return or(()=>[a.value,o.value,e.name],([l,c,u],[f,d,g])=>{c&&(c.instances[u]=l,d&&d!==c&&l&&l===f&&(c.leaveGuards.size||(c.leaveGuards=d.leaveGuards),c.updateGuards.size||(c.updateGuards=d.updateGuards))),l&&c&&(!d||!rs(c,d)||!f)&&(c.enterCallbacks[u]||[]).forEach(S=>S(l))},{flush:"post"}),()=>{const l=s.value,c=o.value,u=c&&c.components[e.name],f=e.name;if(!u)return qf(n.default,{Component:u,route:l});const d=c.props[e.name],g=d?d===!0?l.params:typeof d=="function"?d(l):d:null,A=Hn(u,$e({},g,t,{onVnodeUnmounted:_=>{_.component.isUnmounted&&(c.instances[f]=null)},ref:a}));return qf(n.default,{Component:A,route:l})||A}}});function qf(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const VS=jS;function US(e){const t=gS(e.routes,e),n=e.parseQuery||IS,r=e.stringifyQuery||Wf,s=e.history,i=Cs(),o=Cs(),a=Cs(),l=$h(bn);let c=bn;Pr&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ya.bind(null,M=>""+M),f=ya.bind(null,xS),d=ya.bind(null,so);function g(M,X){let B,te;return vp(M)?(B=t.getRecordMatcher(M),te=X):te=M,t.addRoute(te,B)}function S(M){const X=t.getRecordMatcher(M);X&&t.removeRoute(X)}function A(){return t.getRoutes().map(M=>M.record)}function _(M){return!!t.getRecordMatcher(M)}function p(M,X){if(X=$e({},X||l.value),typeof M=="string"){const w=Ea(n,M,X.path),h=t.resolve({path:w.path},X),b=s.createHref(w.fullPath);return $e(w,h,{params:d(h.params),hash:so(w.hash),redirectedFrom:void 0,href:b})}let B;if("path"in M)B=$e({},M,{path:Ea(n,M.path,X.path).path});else{const w=$e({},M.params);for(const h in w)w[h]==null&&delete w[h];B=$e({},M,{params:f(M.params)}),X.params=f(X.params)}const te=t.resolve(B,X),ge=M.hash||"";te.params=u(d(te.params));const be=WT(r,$e({},M,{hash:NS(ge),path:te.path})),y=s.createHref(be);return $e({fullPath:be,hash:ge,query:r===Wf?MS(M.query):M.query||{}},te,{redirectedFrom:void 0,href:y})}function v(M){return typeof M=="string"?Ea(n,M,l.value.path):$e({},M)}function E(M,X){if(c!==M)return ss(8,{from:X,to:M})}function m(M){return L(M)}function k(M){return m($e(v(M),{replace:!0}))}function $(M){const X=M.matched[M.matched.length-1];if(X&&X.redirect){const{redirect:B}=X;let te=typeof B=="function"?B(M):B;return typeof te=="string"&&(te=te.includes("?")||te.includes("#")?te=v(te):{path:te},te.params={}),$e({query:M.query,hash:M.hash,params:M.params},te)}}function L(M,X){const B=c=p(M),te=l.value,ge=M.state,be=M.force,y=M.replace===!0,w=$(B);if(w)return L($e(v(w),{state:ge,force:be,replace:y}),X||B);const h=B;h.redirectedFrom=X;let b;return!be&&zT(r,te,B)&&(b=ss(16,{to:h,from:te}),ue(te,te,!0,!1)),(b?Promise.resolve(b):j(h,te)).catch(O=>yn(O)?yn(O,2)?O:le(O):ee(O,h,te)).then(O=>{if(O){if(yn(O,2))return L($e(v(O.to),{state:ge,force:be,replace:y}),X||h)}else O=J(h,te,!0,y,ge);return q(h,te,O),O})}function H(M,X){const B=E(M,X);return B?Promise.reject(B):Promise.resolve()}function j(M,X){let B;const[te,ge,be]=WS(M,X);B=wa(te.reverse(),"beforeRouteLeave",M,X);for(const w of te)w.leaveGuards.forEach(h=>{B.push(Cn(h,M,X))});const y=H.bind(null,M,X);return B.push(y),Ar(B).then(()=>{B=[];for(const w of i.list())B.push(Cn(w,M,X));return B.push(y),Ar(B)}).then(()=>{B=wa(ge,"beforeRouteUpdate",M,X);for(const w of ge)w.updateGuards.forEach(h=>{B.push(Cn(h,M,X))});return B.push(y),Ar(B)}).then(()=>{B=[];for(const w of M.matched)if(w.beforeEnter&&!X.matched.includes(w))if(Array.isArray(w.beforeEnter))for(const h of w.beforeEnter)B.push(Cn(h,M,X));else B.push(Cn(w.beforeEnter,M,X));return B.push(y),Ar(B)}).then(()=>(M.matched.forEach(w=>w.enterCallbacks={}),B=wa(be,"beforeRouteEnter",M,X),B.push(y),Ar(B))).then(()=>{B=[];for(const w of o.list())B.push(Cn(w,M,X));return B.push(y),Ar(B)}).catch(w=>yn(w,8)?w:Promise.reject(w))}function q(M,X,B){for(const te of a.list())te(M,X,B)}function J(M,X,B,te,ge){const be=E(M,X);if(be)return be;const y=X===bn,w=Pr?history.state:{};B&&(te||y?s.replace(M.fullPath,$e({scroll:y&&w&&w.scroll},ge)):s.push(M.fullPath,ge)),l.value=M,ue(M,X,B,y),le()}let F;function re(){F||(F=s.listen((M,X,B)=>{const te=p(M),ge=$(te);if(ge){L($e(ge,{replace:!0}),te).catch(Ks);return}c=te;const be=l.value;Pr&&ZT(Ff(be.fullPath,B.delta),Wo()),j(te,be).catch(y=>yn(y,12)?y:yn(y,2)?(L(y.to,te).then(w=>{yn(w,20)&&!B.delta&&B.type===ti.pop&&s.go(-1,!1)}).catch(Ks),Promise.reject()):(B.delta&&s.go(-B.delta,!1),ee(y,te,be))).then(y=>{y=y||J(te,be,!1),y&&(B.delta?s.go(-B.delta,!1):B.type===ti.pop&&yn(y,20)&&s.go(-1,!1)),q(te,be,y)}).catch(Ks)}))}let P=Cs(),x=Cs(),Z;function ee(M,X,B){le(M);const te=x.list();return te.length?te.forEach(ge=>ge(M,X,B)):console.error(M),Promise.reject(M)}function oe(){return Z&&l.value!==bn?Promise.resolve():new Promise((M,X)=>{P.add([M,X])})}function le(M){return Z||(Z=!M,re(),P.list().forEach(([X,B])=>M?B(M):X()),P.reset()),M}function ue(M,X,B,te){const{scrollBehavior:ge}=e;if(!Pr||!ge)return Promise.resolve();const be=!B&&eS(Ff(M.fullPath,0))||(te||!B)&&history.state&&history.state.scroll||null;return Oo().then(()=>ge(M,X,be)).then(y=>y&&QT(y)).catch(y=>ee(y,M,X))}const pe=M=>s.go(M);let ve;const Oe=new Set;return{currentRoute:l,addRoute:g,removeRoute:S,hasRoute:_,getRoutes:A,resolve:p,options:e,push:m,replace:k,go:pe,back:()=>pe(-1),forward:()=>pe(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:x.add,isReady:oe,install(M){const X=this;M.component("RouterLink",FS),M.component("RouterView",VS),M.config.globalProperties.$router=X,Object.defineProperty(M.config.globalProperties,"$route",{enumerable:!0,get:()=>Fr(l)}),Pr&&!ve&&l.value===bn&&(ve=!0,m(s.location).catch(ge=>{}));const B={};for(const ge in bn)B[ge]=St(()=>l.value[ge]);M.provide(Ec,X),M.provide(pp,Fn(B)),M.provide(el,l);const te=M.unmount;Oe.add(M),M.unmount=function(){Oe.delete(M),Oe.size<1&&(c=bn,F&&F(),F=null,l.value=bn,ve=!1,Z=!1),te()}}}}function Ar(e){return e.reduce((t,n)=>t.then(()=>n()),Promise.resolve())}function WS(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;ors(c,a))?r.push(a):n.push(a));const l=e.matched[o];l&&(t.matched.find(c=>rs(c,l))||s.push(l))}return[n,r,s]}if(!document.querySelector("style[data-shopicon]")){const e=document.createElement("style");e.setAttribute("data-shopicon",!0),e.innerHTML=` [data-shopicon] { display: block; width: 24px; aspect-ratio: 1; } [data-shopicon][size=m] { width: 32px; } [data-shopicon][size=l] { width: 48px; } @@ -26,12 +26,12 @@ var ng=Object.defineProperty,rg=Object.defineProperties;var sg=Object.getOwnProp [data-shopicon] path:not([fill]), [data-shopicon] polygon:not([fill]), [data-shopicon] rect:not([fill]) { fill: currentColor; } - `,document.head.appendChild(e)}var WS='';class zS extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=WS}}window.customElements.define("shopicon-regular-arrowup",zS);var KS='';class YS extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=KS}}window.customElements.define("shopicon-regular-menu",YS);const{protocol:qS,hostname:GS,port:Gf,pathname:XS}=window.location,rl=dp.create({baseURL:qS+"//"+GS+(Gf?":"+Gf:"")+XS});rl.interceptors.response.use(e=>e,e=>{const t=e.config.baseURL+e.config.url,n=`${e.message}: API request failed ${t}`;window.app.error({message:n})});const JS={name:"TopNavigation",props:{vehicleLogins:{type:Object,default:()=>({})}},computed:{logoutCount(){return this.providerLogins.filter(e=>!e.loggedIn).length},providerLogins(){return Object.entries(this.vehicleLogins).map(([e,t])=>({title:e,loggedIn:t.authenticated,loginPath:t.uri+"/login",logoutPath:t.uri+"/logout"}))}},methods:{handleProviderAuthorization:async function(e){e.loggedIn?rl.post(e.logoutPath):rl.post(e.loginPath).then(function(t){window.location.href=t.data.loginUri})}}},QS={type:"button","data-bs-toggle":"dropdown","data-bs-target":"#navbarNavAltMarkup","aria-controls":"navbarNavAltMarkup","aria-expanded":"false","aria-label":"Toggle navigation",class:"btn btn-sm btn-outline-secondary position-relative"},ZS={key:0,class:"position-absolute top-0 start-100 translate-middle p-2 bg-danger border border-light rounded-circle"},eC=T("span",{class:"visually-hidden"},"login available",-1),tC=[eC],nC=T("shopicon-regular-menu",null,null,-1),rC={class:"dropdown-menu dropdown-menu-end"},sC={class:"dropdown-item",href:"https://docs.evcc.io/blog/",target:"_blank"},iC={class:"dropdown-item",href:"https://docs.evcc.io/docs/Home/",target:"_blank"},oC={class:"dropdown-item",href:"https://github.com/evcc-io/evcc",target:"_blank"},aC={class:"dropdown-item",href:"https://evcc.io/",target:"_blank"},lC=T("li",null,[T("hr",{class:"dropdown-divider"})],-1),cC={class:"dropdown-header"},uC=["onClick"],fC={key:0,class:"d-inline-block p-1 rounded-circle bg-danger border border-light rounded-circle"};function dC(e,t,n,r,s,i){return V(),Y("div",null,[T("button",QS,[i.logoutCount>0?(V(),Y("span",ZS,tC)):Ne("",!0),nC]),T("ul",rC,[T("li",null,[T("a",sC,K(e.$t("header.blog")),1)]),T("li",null,[T("a",iC,K(e.$t("header.docs")),1)]),T("li",null,[T("a",oC,K(e.$t("header.github")),1)]),T("li",null,[T("a",aC,K(e.$t("header.about")),1)]),i.providerLogins.length>0?(V(),Y(Pe,{key:0},[lC,T("li",null,[T("h6",cC,K(e.$t("header.login")),1)]),(V(!0),Y(Pe,null,Zt(i.providerLogins,o=>(V(),Y("li",{key:o.title},[T("button",{type:"button",class:"dropdown-item",onClick:a=>i.handleProviderAuthorization(o)},[o.loggedIn?Ne("",!0):(V(),Y("span",fC)),Re(" "+K(o.title)+" "+K(e.$t(o.loggedIn?"main.provider.logout":"main.provider.login")),1)],8,uC)]))),128))],64)):Ne("",!0)])])}var hC=Ie(JS,[["render",dC]]),mC='';class pC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=mC}}window.customElements.define("shopicon-regular-exclamationtriangle",pC);var hn={data:function(){return{fmtLimit:100,fmtDigits:1}},methods:{round:function(e,t){var n=10**t;return(Math.round(e*n)/n).toFixed(t)},fmt:function(e){return e==null?0:(e=Math.abs(e),e>=this.fmtLimit?this.round(e/1e3,this.fmtDigits):this.round(e,0))},fmtKw:function(e=0,t=!0,n=!0){const r=t?1:0,s=t?e/1e3:e;let i="";return n&&(i=t?" kW":" W"),`${new Intl.NumberFormat(this.$i18n.locale,{style:"decimal",minimumFractionDigits:r,maximumFractionDigits:r}).format(s)}${i}`},fmtKWh:function(e){return this.fmtKw(e)+"h"},fmtUnit:function(e){return Math.abs(e)>=this.fmtLimit?"k":""},fmtDuration:function(e){if(e<=0||e==null)return"\u2014";var t="0"+e%60,n="0"+Math.floor(e/60)%60,r=""+Math.floor(e/3600);return r.length<2&&(r="0"+r),r+":"+n.substr(-2)+":"+t.substr(-2)},fmtShortDuration:function(e=0,t=!1){if(e<=0)return"\u2014";var n=e%60,r=Math.floor(e/60)%60,s=Math.floor(e/3600),i="";return s>=1?i=s+":"+`${r}`.padStart(2,"0"):r>=1?i=r+":"+`${n}`.padStart(2,"0"):i=`${n}`,t&&(i+=this.fmtShortDurationUnit(e)),i},fmtShortDurationUnit:function(e=0){if(e<=0)return"";var t=Math.floor(e/60)%60,n=Math.floor(e/3600);return n>=1?"h":t>=1?"m":"s"},fmtDayString:function(e){const t=`${e.getFullYear()}`,n=`${e.getMonth()+1}`.padStart(2,"0"),r=`${e.getDate()}`.padStart(2,"0");return`${t}-${n}-${r}`},fmtTimeString:function(e){const t=`${e.getHours()}`.padStart(2,"0"),n=`${e.getMinutes()}`.padStart(2,"0");return`${t}:${n}`},isToday:function(e){return new Date().toDateString()===e.toDateString()},isTomorrow:function(e){const t=new Date;return t.setDate(t.getDate()+1),t.toDateString()===e.toDateString()},weekdayPrefix:function(e){const t=new Intl.RelativeTimeFormat(this.$i18n.locale,{numeric:"auto"});return this.isToday(e)?t.formatToParts(0,"day")[0].value:this.isTomorrow(e)?t.formatToParts(1,"day")[0].value:new Intl.DateTimeFormat(this.$i18n.locale,{weekday:"short"}).format(e)},fmtAbsoluteDate:function(e){const t=this.weekdayPrefix(e),n=new Intl.DateTimeFormat(this.$i18n.locale,{hour:"numeric",minute:"numeric"}).format(e);return`${t} ${n}`},fmtMoney:function(e=0,t="EUR"){return new Intl.NumberFormat(this.$i18n.locale,{style:"currency",currency:t}).format(e)},fmtPricePerKWh:function(e=0,t="EUR"){let n=t,r=e,s=3;return["EUR","USD"].includes(t)&&(r*=100,n="ct",s=1),`${new Intl.NumberFormat(this.$i18n.locale,{style:"decimal",maximumFractionDigits:s}).format(r)} ${n}/kWh`},fmtTimeAgo:function(e){const t={day:864e5,hour:36e5,minute:6e4,second:1e3},n=new Intl.RelativeTimeFormat(this.$i18n.locale,{numeric:"auto"});for(var r in t)if(Math.abs(e)>t[r]||r=="second")return n.format(Math.round(e/t[r]),r)}}};const gC={name:"Notifications",mixins:[hn],props:{notifications:Array},computed:{iconVisible:function(){return this.notifications.length>0},iconClass:function(){return this.notifications.find(e=>e.type==="error")?"text-danger":"text-warning"}},created:function(){this.interval=setInterval(()=>{this.$forceUpdate()},10*1e3)},unmounted:function(){clearTimeout(this.interval)},methods:{clear:function(){window.app&&window.app.clear()}}},_C={href:"#","data-bs-toggle":"modal","data-bs-target":"#notificationModal",class:"btn btn-sm btn-link text-decoration-none link-light text-nowrap"},vC={id:"notificationModal",class:"modal fade text-dark",tabindex:"-1",role:"dialog","aria-hidden":"true","data-bs-backdrop":"true"},bC={class:"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable",role:"document"},yC={class:"modal-content"},EC={class:"modal-header"},wC={class:"modal-title"},TC=T("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1),SC={class:"modal-body"},CC=["title"],AC={class:"d-flex align-items-baseline"},kC={class:"flex-grow-1 px-2 py-1 text-break"},OC={key:0,class:"badge rounded-pill bg-secondary"},LC={class:"modal-footer"};function NC(e,t,n,r,s,i){return V(),Y("div",null,[Xi(T("button",_C,[T("shopicon-regular-exclamationtriangle",{class:xe(i.iconClass)},null,2)],512),[[dc,i.iconVisible]]),T("div",vC,[T("div",bC,[T("div",yC,[T("div",EC,[T("h5",wC,K(e.$t("notifications.modalTitle")),1),TC]),T("div",SC,[(V(!0),Y(Pe,null,Zt(n.notifications,(o,a)=>(V(),Y("div",{key:a},[T("small",{class:"d-flex justify-content-end mt-3",title:e.fmtAbsoluteDate(o.time)},K(e.fmtTimeAgo(o.time-new Date)),9,CC),T("p",AC,[T("shopicon-regular-exclamationtriangle",{class:xe([{"text-danger":o.type==="error","text-warning":o.type==="warn"},"flex-grow-0 d-block"])},null,2),T("span",kC,K(o.message),1),o.count>1?(V(),Y("span",OC,K(o.count),1)):Ne("",!0)])]))),128))]),T("div",LC,[T("button",{type:"button","data-bs-dismiss":"modal","aria-label":"Close",class:"btn btn-outline-secondary",onClick:t[0]||(t[0]=(...o)=>i.clear&&i.clear(...o))},K(e.$t("notifications.dismissAll")),1)])])])])])}var $C=Ie(gC,[["render",NC]]),PC='';class xC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=PC}}window.customElements.define("shopicon-filled-square",xC);var IC='';class MC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=IC}}window.customElements.define("shopicon-regular-arrowdown",MC);var RC='';class DC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=RC}}window.customElements.define("shopicon-regular-batteryfull",DC);var FC='';class HC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=FC}}window.customElements.define("shopicon-regular-batterythreequarters",HC);var BC='';class jC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=BC}}window.customElements.define("shopicon-regular-batteryhalf",jC);var VC='';class UC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=VC}}window.customElements.define("shopicon-regular-batteryquarter",UC);var WC='';class zC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=WC}}window.customElements.define("shopicon-regular-batteryempty",zC);const KC={name:"BatteryIcon",props:{soc:{type:Number,default:0}},computed:{icon:function(){return this.soc>80?"batteryfull":this.soc>60?"batterythreequarters":this.soc>40?"batteryhalf":this.soc>20?"batteryquarter":"batteryempty"}}};function YC(e,t,n,r,s,i){return V(),Je(sc(`shopicon-regular-${i.icon}`))}var Ap=Ie(KC,[["render",YC]]);const qC={name:"LabelBar",props:{value:{type:Number,default:0},hideIcon:{type:Boolean},top:{type:Boolean},bottom:{type:Boolean},first:{type:Boolean},last:{type:Boolean}}},GC={class:"label-bar-scale"},XC={class:"label-bar-icon"};function JC(e,t,n,r,s,i){return V(),Y("div",{class:xe(["label-bar",{"label-bar--hide-icon":n.hideIcon,"label-bar--hidden":!n.value,"label-bar--top":n.top,"label-bar--bottom":n.bottom,"label-bar--first":n.first,"label-bar--last":n.last}])},[T("div",GC,[T("div",XC,[ac(e.$slots,"default",{},void 0,!0)])])],2)}var QC=Ie(qC,[["render",JC],["__scopeId","data-v-ec52d0bc"]]),ZC='';class eA extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=ZC}}window.customElements.define("shopicon-regular-car3",eA);var tA='';class nA extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=tA}}window.customElements.define("shopicon-regular-sun",nA);var rA='';class sA extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=rA}}window.customElements.define("shopicon-regular-home",sA);const iA={name:"Visualization",components:{BatteryIcon:Ap,LabelBar:QC},mixins:[hn],props:{gridImport:{type:Number,default:0},selfConsumption:{type:Number,default:0},pvExport:{type:Number,default:0},loadpoints:{type:Number,default:0},batteryCharge:{type:Number,default:0},batteryDischarge:{type:Number,default:0},pvProduction:{type:Number,default:0},homePower:{type:Number,default:0},batterySoC:{type:Number,default:0},valuesInKw:{type:Boolean,default:!1}},data:function(){return{width:0,visualizationReady:!1}},computed:{gridExport:function(){return this.applyThreshold(this.pvExport)},totalRaw:function(){return this.gridImport+this.selfConsumption+this.pvExport},gridImportAdjusted:function(){return this.applyThreshold(this.gridImport)},selfConsumptionAdjusted:function(){return this.applyThreshold(this.selfConsumption)},pvExportAdjusted:function(){return this.applyThreshold(this.pvExport)},totalAdjusted:function(){return this.gridImportAdjusted+this.selfConsumptionAdjusted+this.pvExportAdjusted}},watch:{totalAdjusted:function(){!this.visualizationReady&&this.totalAdjusted>0&&setTimeout(()=>{this.visualizationReady=!0},500)}},mounted:function(){this.$nextTick(function(){window.addEventListener("resize",this.updateElementWidth),this.updateElementWidth()})},beforeUnmount(){window.removeEventListener("resize",this.updateElementWidth)},methods:{widthTotal:function(e){return this.totalAdjusted===0?"0%":100/this.totalAdjusted*e+"%"},kw:function(e){return this.fmtKw(e,this.valuesInKw,!0)},kwNoUnit:function(e){return this.fmtKw(e,this.valuesInKw,!1)},powerLabelAvailableSpace(e){if(this.totalAdjusted===0)return 0;const t=100/this.totalAdjusted*e;return this.width/100*t},powerLabelEnoughSpace(e){return this.powerLabelAvailableSpace(e)>60},powerLabelSomeSpace(e){return this.powerLabelAvailableSpace(e)>35},hideLabelIcon(e,t=32){if(this.totalAdjusted===0)return!0;const n=100/this.totalAdjusted*e;return this.width/100*n(Ft("data-v-6d3ba8b7"),e=e(),Ht(),e),oA={class:"label-scale d-flex"},aA={class:"d-flex justify-content-start flex-grow-1"},lA=br(()=>T("shopicon-regular-sun",null,null,-1)),cA=br(()=>T("shopicon-regular-powersupply",null,null,-1)),uA=br(()=>T("div",{class:"label-scale-name"},"In",-1)),fA={ref:"site_progress",class:"site-progress"},dA={key:0,class:"power"},hA={key:1,class:"power"},mA={key:0,class:"power"},pA={key:1,class:"power"},gA={key:0,class:"power"},_A={key:1,class:"power"},vA={key:0,class:"site-progress-bar bg-light border no-wrap w-100"},bA={class:"label-scale d-flex"},yA={class:"d-flex justify-content-start flex-grow-1"},EA=br(()=>T("shopicon-regular-home",null,null,-1)),wA=br(()=>T("shopicon-regular-car3",null,null,-1)),TA=br(()=>T("shopicon-regular-powersupply",null,null,-1)),SA=br(()=>T("div",{class:"label-scale-name"},"Out",-1));function CA(e,t,n,r,s,i){const o=Ce("LabelBar"),a=Ce("BatteryIcon");return V(),Y("div",{class:xe(["visualization",{"visualization--ready":e.visualizationReady}])},[T("div",oA,[T("div",aA,[se(o,dt(rt(i.labelBarProps("top","pvProduction"))),{default:wt(()=>[lA]),_:1},16),se(o,dt(rt(i.labelBarProps("top","batteryDischarge"))),{default:wt(()=>[se(a,{soc:n.batterySoC},null,8,["soc"])]),_:1},16),se(o,dt(rt(i.labelBarProps("top","gridImport"))),{default:wt(()=>[cA]),_:1},16)]),uA]),T("div",fA,[T("div",{class:"site-progress-bar self-consumption",style:Ke({width:i.widthTotal(i.selfConsumptionAdjusted)})},[i.powerLabelEnoughSpace(n.selfConsumption)?(V(),Y("span",dA,K(i.kw(n.selfConsumption)),1)):i.powerLabelSomeSpace(n.selfConsumption)?(V(),Y("span",hA,K(i.kwNoUnit(n.selfConsumption)),1)):Ne("",!0)],4),T("div",{class:"site-progress-bar grid-import",style:Ke({width:i.widthTotal(i.gridImportAdjusted)})},[i.powerLabelEnoughSpace(n.gridImport)?(V(),Y("span",mA,K(i.kw(n.gridImport)),1)):i.powerLabelSomeSpace(n.gridImport)?(V(),Y("span",pA,K(i.kwNoUnit(n.gridImport)),1)):Ne("",!0)],4),T("div",{class:"site-progress-bar pv-export",style:Ke({width:i.widthTotal(i.pvExportAdjusted)})},[i.powerLabelEnoughSpace(n.pvExport)?(V(),Y("span",gA,K(i.kw(n.pvExport)),1)):i.powerLabelSomeSpace(n.pvExport)?(V(),Y("span",_A,K(i.kwNoUnit(n.pvExport)),1)):Ne("",!0)],4),i.totalAdjusted<=0?(V(),Y("div",vA,[T("span",null,K(e.$t("main.energyflow.noEnergy")),1)])):Ne("",!0)],512),T("div",bA,[T("div",yA,[se(o,dt(rt(i.labelBarProps("bottom","homePower"))),{default:wt(()=>[EA]),_:1},16),se(o,dt(rt(i.labelBarProps("bottom","loadpoints"))),{default:wt(()=>[wA]),_:1},16),se(o,dt(rt(i.labelBarProps("bottom","batteryCharge"))),{default:wt(()=>[se(a,{soc:n.batterySoC},null,8,["soc"])]),_:1},16),se(o,dt(rt(i.labelBarProps("bottom","gridExport"))),{default:wt(()=>[TA]),_:1},16)]),SA])],2)}var AA=Ie(iA,[["render",CA],["__scopeId","data-v-6d3ba8b7"]]),kA='';class OA extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=kA}}window.customElements.define("shopicon-regular-powersupply",OA);const LA={name:"EnergyflowEntry",components:{BatteryIcon:Ap},mixins:[hn],props:{name:{type:String},icon:{type:String},power:{type:Number},soc:{type:Number},valuesInKw:{type:Boolean}},computed:{active:function(){return this.power>10},isBattery:function(){return this.icon==="battery"},hasSoC:function(){return this.isBattery&&!isNaN(this.soc)}},methods:{kw:function(e){return this.fmtKw(e,this.valuesInKw)}}},NA={class:"d-flex flex-nowrap"},$A={class:"text-nowrap flex-grow-1 ms-3"},PA={class:"text-end text-nowrap ps-1 fw-bold"},xA={key:0};function IA(e,t,n,r,s,i){const o=Ce("BatteryIcon");return V(),Y("div",{class:xe(["d-flex justify-content-between mb-2 entry",{"text-gray-medium":!i.active}])},[T("span",NA,[i.isBattery?(V(),Je(o,{key:0,soc:n.soc},null,8,["soc"])):(V(),Je(sc(`shopicon-regular-${n.icon}`),{key:1}))]),T("span",$A,K(n.name),1),T("span",PA,[i.hasSoC?(V(),Y("span",xA,K(n.soc)+"% / ",1)):Ne("",!0),Re(K(i.kw(n.power)),1)])],2)}var MA=Ie(LA,[["render",IA],["__scopeId","data-v-d9ddb656"]]);const RA={name:"Energyflow",components:{Visualization:AA,EnergyflowEntry:MA},mixins:[hn],props:{gridConfigured:Boolean,gridPower:{type:Number,default:0},homePower:{type:Number,default:0},pvConfigured:Boolean,pvPower:{type:Number,default:0},loadpointsPower:{type:Number,default:0},activeLoadpointsCount:{type:Number,default:0},batteryConfigured:Boolean,batteryPower:{type:Number,default:0},batterySoC:{type:Number,default:0}},data:()=>({detailsOpen:!1,detailsCompleteHeight:null}),computed:{gridImport:function(){return Math.max(0,this.gridPower)},pvProduction:function(){return this.pvConfigured?Math.abs(this.pvPower):this.pvExport},batteryPowerAdjusted:function(){return Math.abs(this.batteryPower)<50?0:this.batteryPower},batteryDischarge:function(){return Math.abs(Math.max(0,this.batteryPowerAdjusted))},batteryCharge:function(){return Math.abs(Math.min(0,this.batteryPowerAdjusted)*-1)},selfConsumption:function(){const e=this.batteryDischarge+this.pvProduction,t=this.homePower+this.batteryCharge+this.loadpointsPower;return Math.min(e,t)},pvExport:function(){return Math.max(0,this.gridPower*-1)},valuesInKw:function(){return this.gridImport+this.selfConsumption+this.pvExport>1e3},inPower:function(){return this.gridImport+this.pvProduction+this.batteryDischarge},outPower:function(){return this.homePower+this.loadpointsPower+this.pvExport+this.batteryCharge},detailsHeight:function(){return this.detailsOpen?this.detailsCompleteHeight+"px":0}},mounted(){window.addEventListener("resize",this.updateHeight)},unmounted(){window.removeEventListener("resize",this.updateHeight)},methods:{kw:function(e){return this.fmtKw(e,this.valuesInKw)},toggleDetails:function(){this.updateHeight(),this.detailsOpen=!this.detailsOpen},updateHeight:function(){this.detailsCompleteHeight=this.$refs.detailsInner.offsetHeight}}},hs=e=>(Ft("data-v-74c36cd4"),e=e(),Ht(),e),DA={class:"row"},FA=hs(()=>T("div",{class:"indicator position-absolute bottom-0 start-50"},[T("shopicon-regular-arrowdown")],-1)),HA={ref:"detailsInner",class:"details-inner row"},BA={class:"col-12 d-flex justify-content-between pt-2 mb-4"},jA={class:"d-flex flex-nowrap align-items-center"},VA=hs(()=>T("span",{class:"color-self me-2"},[T("shopicon-filled-square")],-1)),UA={key:0,class:"d-flex flex-nowrap align-items-center"},WA=hs(()=>T("span",{class:"color-grid ms-2"},[T("shopicon-filled-square")],-1)),zA={key:1,class:"d-flex flex-nowrap align-items-center"},KA=hs(()=>T("span",{class:"color-export ms-2"},[T("shopicon-filled-square")],-1)),YA={class:"col-12 col-md-6 pe-md-5 pb-4 d-flex flex-column justify-content-between"},qA={class:"d-flex justify-content-between align-items-end mb-4"},GA=hs(()=>T("h3",{class:"m-0"},"In",-1)),XA={class:"fw-bold"},JA={class:"col-12 col-md-6 ps-md-5 pb-4 d-flex flex-column justify-content-between"},QA={class:"d-flex justify-content-between align-items-end mb-4"},ZA=hs(()=>T("h3",{class:"m-0"},"Out",-1)),e2={class:"fw-bold"};function t2(e,t,n,r,s,i){const o=Ce("Visualization"),a=Ce("EnergyflowEntry");return V(),Y("div",{class:xe(["energyflow cursor-pointer position-relative",{"energyflow--open":e.detailsOpen}]),onClick:t[0]||(t[0]=(...l)=>i.toggleDetails&&i.toggleDetails(...l))},[T("div",DA,[se(o,{class:"col-12 mb-3 mb-md-4",gridImport:i.gridImport,selfConsumption:i.selfConsumption,loadpoints:n.loadpointsPower,pvExport:i.pvExport,batteryCharge:i.batteryCharge,batteryDischarge:i.batteryDischarge,pvProduction:i.pvProduction,homePower:n.homePower,batterySoC:n.batterySoC,valuesInKw:i.valuesInKw},null,8,["gridImport","selfConsumption","loadpoints","pvExport","batteryCharge","batteryDischarge","pvProduction","homePower","batterySoC","valuesInKw"])]),FA,T("div",{class:"details",style:Ke({height:i.detailsHeight})},[T("div",HA,[T("div",BA,[T("div",jA,[VA,T("span",null,K(e.$t("main.energyflow.selfConsumption")),1)]),i.gridImport>0?(V(),Y("div",UA,[T("span",null,K(e.$t("main.energyflow.gridImport")),1),WA])):(V(),Y("div",zA,[T("span",null,K(e.$t("main.energyflow.pvExport")),1),KA]))]),T("div",YA,[T("div",qA,[GA,T("span",XA,K(i.kw(i.inPower)),1)]),T("div",null,[se(a,{name:e.$t("main.energyflow.pvProduction"),icon:"sun",power:i.pvProduction,valuesInKw:i.valuesInKw},null,8,["name","power","valuesInKw"]),n.batteryConfigured?(V(),Je(a,{key:0,name:e.$t("main.energyflow.batteryDischarge"),icon:"battery",soc:n.batterySoC,power:i.batteryDischarge,valuesInKw:i.valuesInKw},null,8,["name","soc","power","valuesInKw"])):Ne("",!0),se(a,{name:e.$t("main.energyflow.gridImport"),icon:"powersupply",power:i.gridImport,valuesInKw:i.valuesInKw},null,8,["name","power","valuesInKw"])])]),T("div",JA,[T("div",QA,[ZA,T("span",e2,K(i.kw(i.outPower)),1)]),T("div",null,[se(a,{name:e.$t("main.energyflow.homePower"),icon:"home",power:n.homePower,valuesInKw:i.valuesInKw},null,8,["name","power","valuesInKw"]),se(a,{name:e.$tc("main.energyflow.loadpoints",n.activeLoadpointsCount,{count:n.activeLoadpointsCount}),icon:"car3",power:n.loadpointsPower,valuesInKw:i.valuesInKw},null,8,["name","power","valuesInKw"]),n.batteryConfigured?(V(),Je(a,{key:0,name:e.$t("main.energyflow.batteryCharge"),icon:"battery",soc:n.batterySoC,power:i.batteryCharge,valuesInKw:i.valuesInKw},null,8,["name","soc","power","valuesInKw"])):Ne("",!0),se(a,{name:e.$t("main.energyflow.pvExport"),icon:"powersupply",power:i.pvExport,valuesInKw:i.valuesInKw},null,8,["name","power","valuesInKw"])])])],512)],4)],2)}var Xf=Ie(RA,[["render",t2],["__scopeId","data-v-74c36cd4"]]),n2='';class r2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=n2}}window.customElements.define("shopicon-filled-circle",r2);var s2='';class i2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=s2}}window.customElements.define("shopicon-regular-lightning",i2);var o2='';class a2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=o2}}window.customElements.define("shopicon-filled-options",a2);const l2={name:"Mode",props:{mode:String},emits:["updated"],data(){return{modes:["off","now","minpv","pv"]}},methods:{isActive:function(e){return this.mode===this.mapToOldModes(e)},setTargetMode:function(e){this.$emit("updated",this.mapToOldModes(e))},mapToOldModes:function(e){return{fast:"now",cheap:"pv"}[e]||e}}},c2={key:0,class:"mode-group border d-inline-flex",role:"group"},u2=["onClick"],f2={key:1,class:"mode-group border d-inline-flex",role:"group"},d2=["onClick"],h2={class:"d-inline d-sm-none"},m2={class:"d-none d-sm-inline"};function p2(e,t,n,r,s,i){return e.$hiddenFeatures?(V(),Y("div",c2,[(V(),Y(Pe,null,Zt(["fast","cheap"],o=>T("button",{key:o,type:"button",class:xe(["btn",{active:i.isActive(o)}]),onClick:a=>i.setTargetMode(o)},K(e.$t(`main.mode.${o}`)),11,u2)),64))])):(V(),Y("div",f2,[(V(!0),Y(Pe,null,Zt(s.modes,o=>(V(),Y("button",{key:o,type:"button",class:xe(["btn",{active:i.isActive(o)}]),onClick:a=>i.setTargetMode(o)},[T("span",h2,K(e.$t(`main.mode.${o}Short`)),1),T("span",m2,K(e.$t(`main.mode.${o}Long`)),1)],10,d2))),128))]))}var g2=Ie(l2,[["render",p2],["__scopeId","data-v-b76c4bcc"]]),yr={methods:{collectProps:function(e){let t={};for(var n in e.props)n in this&&(t[n]=this[n]);return t}}};const _2={name:"LabelAndValue",props:{label:String,value:String,extraValue:String,onDark:Boolean}},v2={class:"mb-2 label"},b2={class:"value m-0"},y2={key:0,class:"extraValue d-block d-sm-inline text-nowrap"};function E2(e,t,n,r,s,i){return V(),Y("div",{class:xe(["root",{"root--dark":n.onDark}])},[T("div",v2,K(n.label),1),ac(e.$slots,"default",{},()=>[T("h3",b2,[Re(K(n.value)+" ",1),n.extraValue?(V(),Y("span",y2,K(n.extraValue),1)):Ne("",!0)])],!0)],2)}var Tc=Ie(_2,[["render",E2],["__scopeId","data-v-61a0ab7e"]]),w2='';class T2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=w2}}window.customElements.define("shopicon-regular-cablecharge",T2);const S2={name:"VehicleTitle",mixins:[yr],props:{vehiclePresent:Boolean,vehicleTitle:String,parked:Boolean,connected:Boolean},computed:{carIcon(){return this.connected||this.parked},name(){return this.vehiclePresent||this.parked?this.vehicleTitle||this.$t("main.vehicle.fallbackName"):this.connected?this.$t("main.vehicle.unknown"):this.$t("main.vehicle.none")}}},C2={class:"d-flex justify-content-between mb-3 align-items-center"},A2={class:"d-flex align-items-center m-0 flex-grow-1 overflow-hidden"},k2={key:0,class:"me-2 flex-shrink-0 car-icon"},O2={key:1,class:"me-2 flex-shrink-0 car-icon"},L2={class:"flex-grow-1 text-truncate"},N2={key:0,class:"btn btn-link text-white p-0 flex-shrink-0"},$2=T("shopicon-filled-options",{size:"s"},null,-1),P2=[$2];function x2(e,t,n,r,s,i){return V(),Y("div",C2,[T("h4",A2,[i.carIcon?(V(),Y("shopicon-regular-car3",k2)):(V(),Y("shopicon-regular-cablecharge",O2)),T("span",L2,K(i.name),1)]),e.$hiddenFeatures?(V(),Y("button",N2,P2)):Ne("",!0)])}var Jf=Ie(S2,[["render",x2]]);const I2={name:"VehicleSoc",props:{connected:Boolean,vehiclePresent:Boolean,vehicleSoC:Number,enabled:Boolean,charging:Boolean,minSoC:Number,targetSoC:Number,parked:Boolean},emits:["target-soc-drag","target-soc-updated"],data:function(){return{selectedTargetSoC:null,interactionStartScreenY:null}},computed:{vehicleSoCDisplayWidth:function(){return this.vehiclePresent&&this.vehicleSoC>=0?this.vehicleSoC:100},progressColor:function(){return this.minSoCActive?"bg-danger":"bg-primary"},minSoCActive:function(){return this.minSoC>0&&this.vehicleSoCthis.vehicleSoC?this.visibleTargetSoC-this.vehicleSoC:null},visibleTargetSoC:function(){return Number(this.selectedTargetSoC||this.targetSoC)}},watch:{targetSoC:function(){this.selectedTargetSoC=this.targetSoC}},methods:{changeTargetSoCStart:function(e){const t=e.screenY||e.changedTouches[0].screenY;this.interactionStartScreenY=t},changeTargetSoCEnd:function(e){const t=e.screenY||e.changedTouches[0].screenY;if(Math.abs(t-this.interactionStartScreenY)>80)return e.preventDefault(),e.target.value=this.targetSoC,this.selectedTargetSoC=this.targetSoC,!1;e.target.value!==this.targetSoC&&this.$emit("target-soc-updated",e.target.value)},movedTargetSoC:function(e){return e.target.value<20?(e.target.value=20,this.selectedTargetSoC=e.target.value,e.preventDefault(),!1):(this.selectedTargetSoC=e.target.value,this.$emit("target-soc-drag",this.selectedTargetSoC),!0)}}},M2={class:"vehicle-soc"},R2={class:"progress"},D2={class:"target"},F2=["value"];function H2(e,t,n,r,s,i){return V(),Y("div",M2,[T("div",R2,[n.connected||n.parked?(V(),Y("div",{key:0,class:xe(["progress-bar",{[i.progressColor]:!0,"progress-bar-striped":n.charging,"progress-bar-animated":n.charging}]),role:"progressbar",style:Ke({width:`${i.vehicleSoCDisplayWidth}%`})},null,6)):Ne("",!0),i.remainingSoCWidth>0&&n.enabled&&n.connected?(V(),Y("div",{key:1,class:xe(["progress-bar bg-muted",i.progressColor]),role:"progressbar",style:Ke({width:`${i.remainingSoCWidth}%`,transition:"none"})},null,6)):Ne("",!0)]),T("div",D2,[T("div",{class:"target-label d-flex align-items-center justify-content-center",style:Ke({left:`${i.visibleTargetSoC}%`})},null,4),n.vehiclePresent&&(n.connected||n.parked)?(V(),Y("input",{key:0,type:"range",min:"0",max:"100",step:"5",value:i.visibleTargetSoC,class:"target-slider",onInput:t[0]||(t[0]=(...o)=>i.movedTargetSoC&&i.movedTargetSoC(...o)),onMousedown:t[1]||(t[1]=(...o)=>i.changeTargetSoCStart&&i.changeTargetSoCStart(...o)),onTouchstart:t[2]||(t[2]=(...o)=>i.changeTargetSoCStart&&i.changeTargetSoCStart(...o)),onMouseup:t[3]||(t[3]=(...o)=>i.changeTargetSoCEnd&&i.changeTargetSoCEnd(...o)),onTouchend:t[4]||(t[4]=(...o)=>i.changeTargetSoCEnd&&i.changeTargetSoCEnd(...o))},null,40,F2)):Ne("",!0)])])}var Qf=Ie(I2,[["render",H2],["__scopeId","data-v-cbe29806"]]);const B2={name:"VehicleStatus",mixins:[yr,hn],props:{vehicleSoC:Number,minSoC:Number,enabled:Boolean,connected:Boolean,charging:Boolean,targetTime:String,targetTimeProjectedStart:String,phaseAction:String,phaseRemainingInterpolated:Number,pvAction:String,pvRemainingInterpolated:Number},computed:{phaseTimerActive(){return this.charging&&this.phaseRemainingInterpolated>0&&["scale1p","scale3p"].includes(this.phaseAction)},pvTimerActive(){return this.pvRemainingInterpolated>0&&["enable","disable"].includes(this.pvAction)},message:function(){const e=(t,n)=>this.$t(`main.vehicleStatus.${t}`,n);if(!this.connected)return e("disconnected");if(this.minSoC>0&&this.vehicleSoC';class W2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=U2}}window.customElements.define("shopicon-filled-plus",W2);var z2='';class K2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=z2}}window.customElements.define("shopicon-filled-edit",K2);const Y2="7:00",ed="last_target_time",q2={name:"TargetCharge",components:{LabelAndValue:Tc},mixins:[hn],props:{id:[String,Number],targetTime:String,targetTimeActive:Boolean,targetSoC:Number,disabled:Boolean},emits:["target-time-updated","target-time-removed"],data:function(){return{selectedDay:null,selectedTime:null}},computed:{targetChargeEnabled:function(){return this.targetTime},buttonIsEnabled:function(){return this.targetChargeEnabled&&!this.disabled},selectedTargetTimeValid:function(){return new Datenew Date;this.targetChargeEnabled&&t&&(e=new Date(this.targetTime)),this.selectedDay=this.fmtDayString(e),this.selectedTime=this.fmtTimeString(e)},dayOptions:function(){const e=[],t=new Date,n=[this.$t("main.targetCharge.today"),this.$t("main.targetCharge.tomorrow")];for(let r=0;r<7;r++){const s=t.toLocaleDateString("default",{month:"short",day:"numeric"}),i=n[r]||t.toLocaleDateString("default",{weekday:"long"});e.push({value:t.toISOString().split("T")[0],name:`${s} (${i})`}),t.setDate(t.getDate()+1)}return e},minTime:function(){return new Date().toISOString().split("T")[1].slice(0,-8)},setTargetTime:function(){try{const e=this.selectedTargetTime.getHours(),t=this.selectedTargetTime.getMinutes();window.localStorage[ed]=`${e}:${t}`}catch(e){console.warn(e)}this.$emit("target-time-updated",this.selectedTargetTime)},removeTargetTime:function(){this.$emit("target-time-removed")}}},kp=e=>(Ft("data-v-26c7faef"),e=e(),Ht(),e),G2=["data-bs-target"],X2={key:0},J2={key:1},Q2=["id"],Z2={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},ek={class:"modal-content"},tk={class:"modal-header"},nk={class:"modal-title"},rk=kp(()=>T("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1)),sk={class:"modal-body"},ik={class:"form-group"},ok={for:"targetTimeLabel",class:"mb-3"},ak={class:"d-flex justify-content-between",style:{"max-width":"350px"}},lk=["value"],ck={key:0,class:"text-danger mb-0"},uk={class:"small mt-3 text-muted mb-0"},fk={class:"text-evcc"},dk=kp(()=>T("a",{href:"https://github.com/evcc-io/evcc/discussions/1433",target:"_blank"},"GitHub Discussions",-1)),hk=Re(". "),mk={class:"modal-footer d-flex justify-content-between"},pk=["disabled"];function gk(e,t,n,r,s,i){const o=Ce("LabelAndValue");return V(),Y("div",null,[se(o,{class:"flex-grow-1",label:e.$t("main.targetCharge.title"),"on-dark":""},{default:wt(()=>[T("button",{class:xe(["btn btn-link p-0 value text-end",i.buttonIsEnabled?"text-white":"text-gray-light"]),"data-bs-toggle":"modal","data-bs-target":`#${i.modalId}`},[i.targetChargeEnabled?(V(),Y("strong",X2,K(i.targetTimeLabel()),1)):(V(),Y("span",J2,K(e.$t("main.targetCharge.setTargetTime")),1))],10,G2)]),_:1},8,["label"]),(V(),Je(Mo,{to:"body"},[T("div",{id:i.modalId,class:"modal fade text-dark","data-bs-backdrop":"true",tabindex:"-1",role:"dialog","aria-hidden":"true"},[T("div",Z2,[T("div",ek,[T("div",tk,[T("h5",nk,K(e.$t("main.targetCharge.modalTitle")),1),rk]),T("form",{onSubmit:t[3]||(t[3]=Dm((...a)=>i.setTargetTime&&i.setTargetTime(...a),["prevent"]))},[T("div",sk,[T("div",ik,[T("label",ok,K(e.$t("main.targetCharge.description",{targetSoC:n.targetSoC})),1),T("div",ak,[Xi(T("select",{"onUpdate:modelValue":t[0]||(t[0]=a=>e.selectedDay=a),class:"form-select me-2",style:{"flex-basis":"60%"}},[(V(!0),Y(Pe,null,Zt(i.dayOptions(),a=>(V(),Y("option",{key:a.value,value:a.value},K(a.name),9,lk))),128))],512),[[fc,e.selectedDay]]),Xi(T("input",{"onUpdate:modelValue":t[1]||(t[1]=a=>e.selectedTime=a),type:"time",class:"form-control ms-2",style:{"flex-basis":"40%"},step:60*5,required:""},null,512),[[Zs,e.selectedTime]])])]),i.selectedTargetTimeValid?Ne("",!0):(V(),Y("p",ck,K(e.$t("main.targetCharge.targetIsInThePast")),1)),T("p",uk,[T("strong",fk,K(e.$t("main.targetCharge.experimentalLabel"))+": ",1),Re(" "+K(e.$t("main.targetCharge.experimentalText"))+" ",1),dk,hk])]),T("div",mk,[T("button",{type:"button",class:"btn btn-outline-secondary","data-bs-dismiss":"modal",onClick:t[2]||(t[2]=(...a)=>i.removeTargetTime&&i.removeTargetTime(...a))},K(e.$t("main.targetCharge.remove")),1),T("button",{type:"submit",class:"btn btn-primary","data-bs-dismiss":"modal",disabled:!i.selectedTargetTimeValid},K(e.$t("main.targetCharge.activate")),9,pk)])],32)])])],8,Q2)]))])}var td=Ie(q2,[["render",gk],["__scopeId","data-v-26c7faef"]]);const _k={name:"Vehicle",components:{VehicleTitle:Jf,VehicleSoc:Qf,VehicleStatus:Zf,LabelAndValue:Tc,TargetCharge:td},mixins:[yr],props:{id:[String,Number],connected:Boolean,vehiclePresent:Boolean,vehicleSoC:Number,enabled:Boolean,charging:Boolean,minSoC:Number,vehicleRange:Number,vehicleTitle:String,targetTimeActive:Boolean,targetTime:String,targetTimeProjectedStart:String,targetSoC:Number,mode:String,phaseAction:String,phaseRemainingInterpolated:Number,pvAction:String,pvRemainingInterpolated:Number,parked:Boolean},emits:["target-time-removed","target-time-updated","target-soc-updated"],data(){return{displayTargetSoC:this.targetSoC}},computed:{vehicleSocProps:function(){return this.collectProps(Qf)},vehicleStatus:function(){return this.collectProps(Zf)},vehicleTitleProps:function(){return this.collectProps(Jf)},targetCharge:function(){return this.collectProps(td)},estimatedTargetRange:function(){return this.vehicleSoC>10&&this.vehicleRange&&this.displayTargetSoC?Math.round(this.displayTargetSoC*(this.vehicleRange/this.vehicleSoC))+" km":null},targetChargeDisabled:function(){return!this.connected||!["pv","minpv"].includes(this.mode)}},watch:{targetSoC:function(){this.displayTargetSoC=this.targetSoC}},methods:{targetSocDrag:function(e){this.displayTargetSoC=e},targetSocUpdated:function(e){this.displayTargetSoC=e,this.$emit("target-soc-updated",e)},setTargetTime:function(e){this.$emit("target-time-updated",e)},removeTargetTime:function(){this.$emit("target-time-removed")}}},vk=e=>(Ft("data-v-ec875aa2"),e=e(),Ht(),e),bk={class:"vehicle p-4 pb-3"},yk={key:1},Ek={class:"details d-flex flex-wrap justify-content-between"},wk={key:0,class:"d-flex justify-content-start"},Tk=vk(()=>T("small",null,"vor 5 Stunden",-1)),Sk=[Tk];function Ck(e,t,n,r,s,i){const o=Ce("VehicleTitle"),a=Ce("VehicleStatus"),l=Ce("VehicleSoc"),c=Ce("LabelAndValue"),u=Ce("TargetCharge");return V(),Y("div",bk,[se(o,dt(rt(i.vehicleTitleProps)),null,16),n.parked?Ne("",!0):(V(),Je(a,Mt({key:0},i.vehicleStatus,{class:"mb-2"}),null,16)),se(l,Mt(i.vehicleSocProps,{class:"mt-2 mb-4",onTargetSocUpdated:i.targetSocUpdated,onTargetSocDrag:i.targetSocDrag}),null,16,["onTargetSocUpdated","onTargetSocDrag"]),n.vehiclePresent?(V(),Y("div",yk,[T("div",Ek,[se(c,{class:"flex-grow-1 text-start",label:e.$t("main.vehicle.vehicleSoC"),value:`${n.vehicleSoC||"--"} %`,extraValue:n.vehicleRange?`${n.vehicleRange} km`:null,"on-dark":""},null,8,["label","value","extraValue"]),se(c,{class:"flex-grow-1 text-center",label:e.$t("main.vehicle.targetSoC"),value:`${s.displayTargetSoC} %`,extraValue:i.estimatedTargetRange,"on-dark":""},null,8,["label","value","extraValue"]),se(u,Mt({class:"flex-grow-1 text-end target-charge"},i.targetCharge,{disabled:i.targetChargeDisabled,onTargetTimeUpdated:i.setTargetTime,onTargetTimeRemoved:i.removeTargetTime}),null,16,["disabled","onTargetTimeUpdated","onTargetTimeRemoved"])]),e.$hiddenFeatures?(V(),Y("div",wk,Sk)):Ne("",!0)])):Ne("",!0)])}var sl=Ie(_k,[["render",Ck],["__scopeId","data-v-ec875aa2"]]);const Ak={name:"Phases",props:{chargeCurrent:{type:Number},chargeCurrents:{type:Array},activePhases:{type:Number},minCurrent:{type:Number},maxCurrent:{type:Number}},methods:{inactive(e){return e>this.activePhases},targetWidth(){let e=Math.min(Math.max(this.minCurrent,this.chargeCurrent),this.maxCurrent);return 100/this.maxCurrent*e},realWidth(e){if(this.chargeCurrents){const t=this.chargeCurrents[e-1]||0;return 100/this.maxCurrent*t}return this.targetWidth()}}},kk={class:"phases d-flex justify-content-between"};function Ok(e,t,n,r,s,i){return V(),Y("div",kk,[(V(),Y(Pe,null,Zt([1,2,3],o=>T("div",{key:o,class:xe(["phase me-1",{inactive:i.inactive(o)}])},[T("div",{class:"target",style:Ke({width:`${i.targetWidth()}%`})},null,4),T("div",{class:"real",style:Ke({width:`${i.realWidth(o)}%`})},null,4)],2)),64))])}var nd=Ie(Ak,[["render",Ok],["__scopeId","data-v-5aa38c33"]]);const Lk={name:"Loadpoint",components:{Mode:g2,Vehicle:sl,Phases:nd,LabelAndValue:Tc},mixins:[hn,yr],props:{id:Number,single:Boolean,title:String,mode:String,targetSoC:Number,remoteDisabled:Boolean,remoteDisabledSource:String,chargeDuration:Number,charging:Boolean,connected:Boolean,enabled:Boolean,vehicleTitle:String,vehicleSoC:Number,vehiclePresent:Boolean,vehicleRange:Number,minSoC:Number,targetTime:String,targetTimeActive:Boolean,targetTimeProjectedStart:String,vehicleProviderLoggedIn:Boolean,vehicleProviderLoginPath:String,vehicleProviderLogoutPath:String,chargePower:Number,chargedEnergy:Number,climater:String,chargeRemainingDuration:Number,phases:Number,minCurrent:Number,maxCurrent:Number,activePhases:Number,chargeCurrent:Number,vehicleCapacity:Number,connectedDuration:Number,chargeCurrents:Array,chargeConfigured:Boolean,chargeRemainingEnergy:Number,phaseAction:String,phaseRemaining:Number,pvRemaining:Number,pvAction:String},data(){return{tickerHandler:null,phaseRemainingInterpolated:this.phaseRemaining,pvRemainingInterpolated:this.pvRemaining,chargeDurationInterpolated:this.chargeDuration,chargeRemainingDurationInterpolated:this.chargeRemainingDuration}},computed:{phasesProps:function(){return this.collectProps(nd)},vehicle:function(){return this.collectProps(sl)}},watch:{phaseRemaining(){this.phaseRemainingInterpolated=this.phaseRemaining},pvRemaining(){this.pvRemainingInterpolated=this.pvRemaining},chargeDuration(){this.chargeDurationInterpolated=this.chargeDuration},chargeRemainingDuration(){this.chargeRemainingDurationInterpolated=this.chargeRemainingDuration}},mounted(){this.tickerHandler=setInterval(this.tick,1e3)},unmounted(){clearInterval(this.tickerHandler)},methods:{tick(){this.phaseRemainingInterpolated>0&&this.phaseRemainingInterpolated--,this.pvRemainingInterpolated>0&&this.pvRemainingInterpolated--,this.chargeDurationInterpolated>0&&this.charging&&this.chargeDurationInterpolated++,this.chargeRemainingDurationInterpolated>0&&this.charging&&this.chargeRemainingDurationInterpolated--},apiPath:function(e){return"loadpoints/"+this.id+"/"+e},setTargetMode:function(e){er.post(this.apiPath("mode")+"/"+e)},setTargetSoC:function(e){er.post(this.apiPath("targetsoc")+"/"+e)},setTargetTime:function(e){er.post(`${this.apiPath("targetcharge")}/${this.targetSoC}/${e.toISOString()}`)},removeTargetTime:function(){er.delete(this.apiPath("targetcharge"))}}},Nk=e=>(Ft("data-v-5164c12c"),e=e(),Ht(),e),$k={class:"loadpoint bg-white p-4"},Pk={class:"d-flex justify-content-between align-items-center mb-3"},xk={class:"mb-3 me-2 text-truncate"},Ik={class:"mb-3 d-flex align-items-center"},Mk={key:0,class:"btn btn-link text-gray p-0 flex-shrink-0"},Rk=Nk(()=>T("shopicon-filled-options",{size:"s"},null,-1)),Dk=[Rk],Fk={class:"details d-flex align-items-start mb-3"},Hk={class:"d-flex align-items-center"};function Bk(e,t,n,r,s,i){const o=Ce("Mode"),a=Ce("LabelAndValue"),l=Ce("Phases"),c=Ce("Vehicle");return V(),Y("div",$k,[T("div",Pk,[T("h3",xk,K(n.title||e.$t("main.loadpoint.fallbackName")),1),T("div",Ik,[se(o,{mode:n.mode,onUpdated:i.setTargetMode},null,8,["mode","onUpdated"]),e.$hiddenFeatures?(V(),Y("button",Mk,Dk)):Ne("",!0)])]),n.remoteDisabled?(V(),Y("div",{key:0,class:xe(["alert alert-warning my-4 py-2",`${n.remoteDisabled==="hard"?"alert-danger":"alert-warning"}`]),role:"alert"},K(e.$t(n.remoteDisabled==="hard"?"main.loadpoint.remoteDisabledHard":"main.loadpoint.remoteDisabledSoft",{source:n.remoteDisabledSource})),3)):Ne("",!0),T("div",Fk,[T("div",null,[T("div",Hk,[se(a,{label:e.$t("main.loadpoint.power"),value:e.fmtKw(n.chargePower),class:"mb-2"},null,8,["label","value"]),T("shopicon-regular-lightning",{class:xe(["text-evcc opacity-transiton",`opacity-${n.charging?"100":"0"}`]),size:"m"},null,2)]),se(l,Mt(i.phasesProps,{class:["opacity-transiton",`opacity-${n.charging?"100":"0"}`]}),null,16,["class"])]),se(a,{label:e.$t("main.loadpoint.charged"),value:e.fmtKWh(n.chargedEnergy)},null,8,["label","value"]),s.chargeRemainingDurationInterpolated?(V(),Je(a,{key:0,label:e.$t("main.loadpoint.remaining"),value:` + `,document.head.appendChild(e)}var zS='';class KS extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=zS}}window.customElements.define("shopicon-regular-arrowup",KS);var YS='';class qS extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=YS}}window.customElements.define("shopicon-regular-menu",qS);const{protocol:GS,hostname:XS,port:Gf,pathname:JS}=window.location,rl=dp.create({baseURL:GS+"//"+XS+(Gf?":"+Gf:"")+JS});rl.interceptors.response.use(e=>e,e=>{const t=e.config.baseURL+e.config.url,n=`${e.message}: API request failed ${t}`;window.app.error({message:n})});const QS={name:"TopNavigation",props:{vehicleLogins:{type:Object,default:()=>({})}},computed:{logoutCount(){return this.providerLogins.filter(e=>!e.loggedIn).length},providerLogins(){return Object.entries(this.vehicleLogins).map(([e,t])=>({title:e,loggedIn:t.authenticated,loginPath:t.uri+"/login",logoutPath:t.uri+"/logout"}))}},methods:{handleProviderAuthorization:async function(e){e.loggedIn?rl.post(e.logoutPath):rl.post(e.loginPath).then(function(t){window.location.href=t.data.loginUri})}}},ZS={type:"button","data-bs-toggle":"dropdown","data-bs-target":"#navbarNavAltMarkup","aria-controls":"navbarNavAltMarkup","aria-expanded":"false","aria-label":"Toggle navigation",class:"btn btn-sm btn-outline-secondary position-relative"},eC={key:0,class:"position-absolute top-0 start-100 translate-middle p-2 bg-danger border border-light rounded-circle"},tC=T("span",{class:"visually-hidden"},"login available",-1),nC=[tC],rC=T("shopicon-regular-menu",null,null,-1),sC={class:"dropdown-menu dropdown-menu-end"},iC={class:"dropdown-item",href:"https://docs.evcc.io/blog/",target:"_blank"},oC={class:"dropdown-item",href:"https://docs.evcc.io/docs/Home/",target:"_blank"},aC={class:"dropdown-item",href:"https://github.com/evcc-io/evcc",target:"_blank"},lC={class:"dropdown-item",href:"https://evcc.io/",target:"_blank"},cC=T("li",null,[T("hr",{class:"dropdown-divider"})],-1),uC={class:"dropdown-header"},fC=["onClick"],dC={key:0,class:"d-inline-block p-1 rounded-circle bg-danger border border-light rounded-circle"};function hC(e,t,n,r,s,i){return V(),Y("div",null,[T("button",ZS,[i.logoutCount>0?(V(),Y("span",eC,nC)):Ne("",!0),rC]),T("ul",sC,[T("li",null,[T("a",iC,K(e.$t("header.blog")),1)]),T("li",null,[T("a",oC,K(e.$t("header.docs")),1)]),T("li",null,[T("a",aC,K(e.$t("header.github")),1)]),T("li",null,[T("a",lC,K(e.$t("header.about")),1)]),i.providerLogins.length>0?(V(),Y(Pe,{key:0},[cC,T("li",null,[T("h6",uC,K(e.$t("header.login")),1)]),(V(!0),Y(Pe,null,Zt(i.providerLogins,o=>(V(),Y("li",{key:o.title},[T("button",{type:"button",class:"dropdown-item",onClick:a=>i.handleProviderAuthorization(o)},[o.loggedIn?Ne("",!0):(V(),Y("span",dC)),Re(" "+K(o.title)+" "+K(e.$t(o.loggedIn?"main.provider.logout":"main.provider.login")),1)],8,fC)]))),128))],64)):Ne("",!0)])])}var mC=Ie(QS,[["render",hC]]),pC='';class gC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=pC}}window.customElements.define("shopicon-regular-exclamationtriangle",gC);var hn={data:function(){return{fmtLimit:100,fmtDigits:1}},methods:{round:function(e,t){var n=10**t;return(Math.round(e*n)/n).toFixed(t)},fmt:function(e){return e==null?0:(e=Math.abs(e),e>=this.fmtLimit?this.round(e/1e3,this.fmtDigits):this.round(e,0))},fmtKw:function(e=0,t=!0,n=!0){const r=t?1:0,s=t?e/1e3:e;let i="";return n&&(i=t?" kW":" W"),`${new Intl.NumberFormat(this.$i18n.locale,{style:"decimal",minimumFractionDigits:r,maximumFractionDigits:r}).format(s)}${i}`},fmtKWh:function(e){return this.fmtKw(e)+"h"},fmtUnit:function(e){return Math.abs(e)>=this.fmtLimit?"k":""},fmtDuration:function(e){if(e<=0||e==null)return"\u2014";var t="0"+e%60,n="0"+Math.floor(e/60)%60,r=""+Math.floor(e/3600);return r.length<2&&(r="0"+r),r+":"+n.substr(-2)+":"+t.substr(-2)},fmtShortDuration:function(e=0,t=!1){if(e<=0)return"\u2014";var n=e%60,r=Math.floor(e/60)%60,s=Math.floor(e/3600),i="";return s>=1?i=s+":"+`${r}`.padStart(2,"0"):r>=1?i=r+":"+`${n}`.padStart(2,"0"):i=`${n}`,t&&(i+=this.fmtShortDurationUnit(e)),i},fmtShortDurationUnit:function(e=0){if(e<=0)return"";var t=Math.floor(e/60)%60,n=Math.floor(e/3600);return n>=1?"h":t>=1?"m":"s"},fmtDayString:function(e){const t=`${e.getFullYear()}`,n=`${e.getMonth()+1}`.padStart(2,"0"),r=`${e.getDate()}`.padStart(2,"0");return`${t}-${n}-${r}`},fmtTimeString:function(e){const t=`${e.getHours()}`.padStart(2,"0"),n=`${e.getMinutes()}`.padStart(2,"0");return`${t}:${n}`},isToday:function(e){return new Date().toDateString()===e.toDateString()},isTomorrow:function(e){const t=new Date;return t.setDate(t.getDate()+1),t.toDateString()===e.toDateString()},weekdayPrefix:function(e){const t=new Intl.RelativeTimeFormat(this.$i18n.locale,{numeric:"auto"});return this.isToday(e)?t.formatToParts(0,"day")[0].value:this.isTomorrow(e)?t.formatToParts(1,"day")[0].value:new Intl.DateTimeFormat(this.$i18n.locale,{weekday:"short"}).format(e)},fmtAbsoluteDate:function(e){const t=this.weekdayPrefix(e),n=new Intl.DateTimeFormat(this.$i18n.locale,{hour:"numeric",minute:"numeric"}).format(e);return`${t} ${n}`},fmtMoney:function(e=0,t="EUR"){return new Intl.NumberFormat(this.$i18n.locale,{style:"currency",currency:t}).format(e)},fmtPricePerKWh:function(e=0,t="EUR"){let n=t,r=e,s=3;return["EUR","USD"].includes(t)&&(r*=100,n="ct",s=1),`${new Intl.NumberFormat(this.$i18n.locale,{style:"decimal",maximumFractionDigits:s}).format(r)} ${n}/kWh`},fmtTimeAgo:function(e){const t={day:864e5,hour:36e5,minute:6e4,second:1e3},n=new Intl.RelativeTimeFormat(this.$i18n.locale,{numeric:"auto"});for(var r in t)if(Math.abs(e)>t[r]||r=="second")return n.format(Math.round(e/t[r]),r)}}};const _C={name:"Notifications",mixins:[hn],props:{notifications:Array},computed:{iconVisible:function(){return this.notifications.length>0},iconClass:function(){return this.notifications.find(e=>e.type==="error")?"text-danger":"text-warning"}},created:function(){this.interval=setInterval(()=>{this.$forceUpdate()},10*1e3)},unmounted:function(){clearTimeout(this.interval)},methods:{clear:function(){window.app&&window.app.clear()}}},vC={href:"#","data-bs-toggle":"modal","data-bs-target":"#notificationModal",class:"btn btn-sm btn-link text-decoration-none link-light text-nowrap"},bC={id:"notificationModal",class:"modal fade text-dark",tabindex:"-1",role:"dialog","aria-hidden":"true","data-bs-backdrop":"true"},yC={class:"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable",role:"document"},EC={class:"modal-content"},wC={class:"modal-header"},TC={class:"modal-title"},SC=T("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1),CC={class:"modal-body"},AC=["title"],kC={class:"d-flex align-items-baseline"},OC={class:"flex-grow-1 px-2 py-1 text-break"},LC={key:0,class:"badge rounded-pill bg-secondary"},NC={class:"modal-footer"};function $C(e,t,n,r,s,i){return V(),Y("div",null,[Xi(T("button",vC,[T("shopicon-regular-exclamationtriangle",{class:xe(i.iconClass)},null,2)],512),[[dc,i.iconVisible]]),T("div",bC,[T("div",yC,[T("div",EC,[T("div",wC,[T("h5",TC,K(e.$t("notifications.modalTitle")),1),SC]),T("div",CC,[(V(!0),Y(Pe,null,Zt(n.notifications,(o,a)=>(V(),Y("div",{key:a},[T("small",{class:"d-flex justify-content-end mt-3",title:e.fmtAbsoluteDate(o.time)},K(e.fmtTimeAgo(o.time-new Date)),9,AC),T("p",kC,[T("shopicon-regular-exclamationtriangle",{class:xe([{"text-danger":o.type==="error","text-warning":o.type==="warn"},"flex-grow-0 d-block"])},null,2),T("span",OC,K(o.message),1),o.count>1?(V(),Y("span",LC,K(o.count),1)):Ne("",!0)])]))),128))]),T("div",NC,[T("button",{type:"button","data-bs-dismiss":"modal","aria-label":"Close",class:"btn btn-outline-secondary",onClick:t[0]||(t[0]=(...o)=>i.clear&&i.clear(...o))},K(e.$t("notifications.dismissAll")),1)])])])])])}var PC=Ie(_C,[["render",$C]]),xC='';class IC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=xC}}window.customElements.define("shopicon-filled-square",IC);var MC='';class RC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=MC}}window.customElements.define("shopicon-regular-arrowdown",RC);var DC='';class FC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=DC}}window.customElements.define("shopicon-regular-batteryfull",FC);var HC='';class BC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=HC}}window.customElements.define("shopicon-regular-batterythreequarters",BC);var jC='';class VC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=jC}}window.customElements.define("shopicon-regular-batteryhalf",VC);var UC='';class WC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=UC}}window.customElements.define("shopicon-regular-batteryquarter",WC);var zC='';class KC extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=zC}}window.customElements.define("shopicon-regular-batteryempty",KC);const YC={name:"BatteryIcon",props:{soc:{type:Number,default:0}},computed:{icon:function(){return this.soc>80?"batteryfull":this.soc>60?"batterythreequarters":this.soc>40?"batteryhalf":this.soc>20?"batteryquarter":"batteryempty"}}};function qC(e,t,n,r,s,i){return V(),Je(sc(`shopicon-regular-${i.icon}`))}var Ap=Ie(YC,[["render",qC]]);const GC={name:"LabelBar",props:{value:{type:Number,default:0},hideIcon:{type:Boolean},top:{type:Boolean},bottom:{type:Boolean},first:{type:Boolean},last:{type:Boolean}}},XC={class:"label-bar-scale"},JC={class:"label-bar-icon"};function QC(e,t,n,r,s,i){return V(),Y("div",{class:xe(["label-bar",{"label-bar--hide-icon":n.hideIcon,"label-bar--hidden":!n.value,"label-bar--top":n.top,"label-bar--bottom":n.bottom,"label-bar--first":n.first,"label-bar--last":n.last}])},[T("div",XC,[T("div",JC,[ac(e.$slots,"default",{},void 0,!0)])])],2)}var ZC=Ie(GC,[["render",QC],["__scopeId","data-v-ec52d0bc"]]),eA='';class tA extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=eA}}window.customElements.define("shopicon-regular-car3",tA);var nA='';class rA extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=nA}}window.customElements.define("shopicon-regular-sun",rA);var sA='';class iA extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=sA}}window.customElements.define("shopicon-regular-home",iA);const oA={name:"Visualization",components:{BatteryIcon:Ap,LabelBar:ZC},mixins:[hn],props:{gridImport:{type:Number,default:0},selfConsumption:{type:Number,default:0},pvExport:{type:Number,default:0},loadpoints:{type:Number,default:0},batteryCharge:{type:Number,default:0},batteryDischarge:{type:Number,default:0},pvProduction:{type:Number,default:0},homePower:{type:Number,default:0},batterySoC:{type:Number,default:0},valuesInKw:{type:Boolean,default:!1}},data:function(){return{width:0,visualizationReady:!1}},computed:{gridExport:function(){return this.applyThreshold(this.pvExport)},totalRaw:function(){return this.gridImport+this.selfConsumption+this.pvExport},gridImportAdjusted:function(){return this.applyThreshold(this.gridImport)},selfConsumptionAdjusted:function(){return this.applyThreshold(this.selfConsumption)},pvExportAdjusted:function(){return this.applyThreshold(this.pvExport)},totalAdjusted:function(){return this.gridImportAdjusted+this.selfConsumptionAdjusted+this.pvExportAdjusted}},watch:{totalAdjusted:function(){!this.visualizationReady&&this.totalAdjusted>0&&setTimeout(()=>{this.visualizationReady=!0},500)}},mounted:function(){this.$nextTick(function(){window.addEventListener("resize",this.updateElementWidth),this.updateElementWidth()})},beforeUnmount(){window.removeEventListener("resize",this.updateElementWidth)},methods:{widthTotal:function(e){return this.totalAdjusted===0?"0%":100/this.totalAdjusted*e+"%"},kw:function(e){return this.fmtKw(e,this.valuesInKw,!0)},kwNoUnit:function(e){return this.fmtKw(e,this.valuesInKw,!1)},powerLabelAvailableSpace(e){if(this.totalAdjusted===0)return 0;const t=100/this.totalAdjusted*e;return this.width/100*t},powerLabelEnoughSpace(e){return this.powerLabelAvailableSpace(e)>60},powerLabelSomeSpace(e){return this.powerLabelAvailableSpace(e)>35},hideLabelIcon(e,t=32){if(this.totalAdjusted===0)return!0;const n=100/this.totalAdjusted*e;return this.width/100*n(Ft("data-v-6d3ba8b7"),e=e(),Ht(),e),aA={class:"label-scale d-flex"},lA={class:"d-flex justify-content-start flex-grow-1"},cA=br(()=>T("shopicon-regular-sun",null,null,-1)),uA=br(()=>T("shopicon-regular-powersupply",null,null,-1)),fA=br(()=>T("div",{class:"label-scale-name"},"In",-1)),dA={ref:"site_progress",class:"site-progress"},hA={key:0,class:"power"},mA={key:1,class:"power"},pA={key:0,class:"power"},gA={key:1,class:"power"},_A={key:0,class:"power"},vA={key:1,class:"power"},bA={key:0,class:"site-progress-bar bg-light border no-wrap w-100"},yA={class:"label-scale d-flex"},EA={class:"d-flex justify-content-start flex-grow-1"},wA=br(()=>T("shopicon-regular-home",null,null,-1)),TA=br(()=>T("shopicon-regular-car3",null,null,-1)),SA=br(()=>T("shopicon-regular-powersupply",null,null,-1)),CA=br(()=>T("div",{class:"label-scale-name"},"Out",-1));function AA(e,t,n,r,s,i){const o=Ce("LabelBar"),a=Ce("BatteryIcon");return V(),Y("div",{class:xe(["visualization",{"visualization--ready":e.visualizationReady}])},[T("div",aA,[T("div",lA,[se(o,dt(rt(i.labelBarProps("top","pvProduction"))),{default:wt(()=>[cA]),_:1},16),se(o,dt(rt(i.labelBarProps("top","batteryDischarge"))),{default:wt(()=>[se(a,{soc:n.batterySoC},null,8,["soc"])]),_:1},16),se(o,dt(rt(i.labelBarProps("top","gridImport"))),{default:wt(()=>[uA]),_:1},16)]),fA]),T("div",dA,[T("div",{class:"site-progress-bar self-consumption",style:Ke({width:i.widthTotal(i.selfConsumptionAdjusted)})},[i.powerLabelEnoughSpace(n.selfConsumption)?(V(),Y("span",hA,K(i.kw(n.selfConsumption)),1)):i.powerLabelSomeSpace(n.selfConsumption)?(V(),Y("span",mA,K(i.kwNoUnit(n.selfConsumption)),1)):Ne("",!0)],4),T("div",{class:"site-progress-bar grid-import",style:Ke({width:i.widthTotal(i.gridImportAdjusted)})},[i.powerLabelEnoughSpace(n.gridImport)?(V(),Y("span",pA,K(i.kw(n.gridImport)),1)):i.powerLabelSomeSpace(n.gridImport)?(V(),Y("span",gA,K(i.kwNoUnit(n.gridImport)),1)):Ne("",!0)],4),T("div",{class:"site-progress-bar pv-export",style:Ke({width:i.widthTotal(i.pvExportAdjusted)})},[i.powerLabelEnoughSpace(n.pvExport)?(V(),Y("span",_A,K(i.kw(n.pvExport)),1)):i.powerLabelSomeSpace(n.pvExport)?(V(),Y("span",vA,K(i.kwNoUnit(n.pvExport)),1)):Ne("",!0)],4),i.totalAdjusted<=0?(V(),Y("div",bA,[T("span",null,K(e.$t("main.energyflow.noEnergy")),1)])):Ne("",!0)],512),T("div",yA,[T("div",EA,[se(o,dt(rt(i.labelBarProps("bottom","homePower"))),{default:wt(()=>[wA]),_:1},16),se(o,dt(rt(i.labelBarProps("bottom","loadpoints"))),{default:wt(()=>[TA]),_:1},16),se(o,dt(rt(i.labelBarProps("bottom","batteryCharge"))),{default:wt(()=>[se(a,{soc:n.batterySoC},null,8,["soc"])]),_:1},16),se(o,dt(rt(i.labelBarProps("bottom","gridExport"))),{default:wt(()=>[SA]),_:1},16)]),CA])],2)}var kA=Ie(oA,[["render",AA],["__scopeId","data-v-6d3ba8b7"]]),OA='';class LA extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=OA}}window.customElements.define("shopicon-regular-powersupply",LA);const NA={name:"EnergyflowEntry",components:{BatteryIcon:Ap},mixins:[hn],props:{name:{type:String},icon:{type:String},power:{type:Number},soc:{type:Number},valuesInKw:{type:Boolean}},computed:{active:function(){return this.power>10},isBattery:function(){return this.icon==="battery"},hasSoC:function(){return this.isBattery&&!isNaN(this.soc)}},methods:{kw:function(e){return this.fmtKw(e,this.valuesInKw)}}},$A={class:"d-flex flex-nowrap"},PA={class:"text-nowrap flex-grow-1 ms-3"},xA={class:"text-end text-nowrap ps-1 fw-bold"},IA={key:0};function MA(e,t,n,r,s,i){const o=Ce("BatteryIcon");return V(),Y("div",{class:xe(["d-flex justify-content-between mb-2 entry",{"text-gray-medium":!i.active}])},[T("span",$A,[i.isBattery?(V(),Je(o,{key:0,soc:n.soc},null,8,["soc"])):(V(),Je(sc(`shopicon-regular-${n.icon}`),{key:1}))]),T("span",PA,K(n.name),1),T("span",xA,[i.hasSoC?(V(),Y("span",IA,K(n.soc)+"% / ",1)):Ne("",!0),Re(K(i.kw(n.power)),1)])],2)}var RA=Ie(NA,[["render",MA],["__scopeId","data-v-d9ddb656"]]);const DA={name:"Energyflow",components:{Visualization:kA,EnergyflowEntry:RA},mixins:[hn],props:{gridConfigured:Boolean,gridPower:{type:Number,default:0},homePower:{type:Number,default:0},pvConfigured:Boolean,pvPower:{type:Number,default:0},loadpointsPower:{type:Number,default:0},activeLoadpointsCount:{type:Number,default:0},batteryConfigured:Boolean,batteryPower:{type:Number,default:0},batterySoC:{type:Number,default:0}},data:()=>({detailsOpen:!1,detailsCompleteHeight:null}),computed:{gridImport:function(){return Math.max(0,this.gridPower)},pvProduction:function(){return this.pvConfigured?Math.abs(this.pvPower):this.pvExport},batteryPowerAdjusted:function(){return Math.abs(this.batteryPower)<50?0:this.batteryPower},batteryDischarge:function(){return Math.abs(Math.max(0,this.batteryPowerAdjusted))},batteryCharge:function(){return Math.abs(Math.min(0,this.batteryPowerAdjusted)*-1)},selfConsumption:function(){const e=this.batteryDischarge+this.pvProduction,t=this.homePower+this.batteryCharge+this.loadpointsPower;return Math.min(e,t)},pvExport:function(){return Math.max(0,this.gridPower*-1)},valuesInKw:function(){return this.gridImport+this.selfConsumption+this.pvExport>1e3},inPower:function(){return this.gridImport+this.pvProduction+this.batteryDischarge},outPower:function(){return this.homePower+this.loadpointsPower+this.pvExport+this.batteryCharge},detailsHeight:function(){return this.detailsOpen?this.detailsCompleteHeight+"px":0}},mounted(){window.addEventListener("resize",this.updateHeight)},unmounted(){window.removeEventListener("resize",this.updateHeight)},methods:{kw:function(e){return this.fmtKw(e,this.valuesInKw)},toggleDetails:function(){this.updateHeight(),this.detailsOpen=!this.detailsOpen},updateHeight:function(){this.detailsCompleteHeight=this.$refs.detailsInner.offsetHeight}}},hs=e=>(Ft("data-v-74c36cd4"),e=e(),Ht(),e),FA={class:"row"},HA=hs(()=>T("div",{class:"indicator position-absolute bottom-0 start-50"},[T("shopicon-regular-arrowdown")],-1)),BA={ref:"detailsInner",class:"details-inner row"},jA={class:"col-12 d-flex justify-content-between pt-2 mb-4"},VA={class:"d-flex flex-nowrap align-items-center"},UA=hs(()=>T("span",{class:"color-self me-2"},[T("shopicon-filled-square")],-1)),WA={key:0,class:"d-flex flex-nowrap align-items-center"},zA=hs(()=>T("span",{class:"color-grid ms-2"},[T("shopicon-filled-square")],-1)),KA={key:1,class:"d-flex flex-nowrap align-items-center"},YA=hs(()=>T("span",{class:"color-export ms-2"},[T("shopicon-filled-square")],-1)),qA={class:"col-12 col-md-6 pe-md-5 pb-4 d-flex flex-column justify-content-between"},GA={class:"d-flex justify-content-between align-items-end mb-4"},XA=hs(()=>T("h3",{class:"m-0"},"In",-1)),JA={class:"fw-bold"},QA={class:"col-12 col-md-6 ps-md-5 pb-4 d-flex flex-column justify-content-between"},ZA={class:"d-flex justify-content-between align-items-end mb-4"},e2=hs(()=>T("h3",{class:"m-0"},"Out",-1)),t2={class:"fw-bold"};function n2(e,t,n,r,s,i){const o=Ce("Visualization"),a=Ce("EnergyflowEntry");return V(),Y("div",{class:xe(["energyflow cursor-pointer position-relative",{"energyflow--open":e.detailsOpen}]),onClick:t[0]||(t[0]=(...l)=>i.toggleDetails&&i.toggleDetails(...l))},[T("div",FA,[se(o,{class:"col-12 mb-3 mb-md-4",gridImport:i.gridImport,selfConsumption:i.selfConsumption,loadpoints:n.loadpointsPower,pvExport:i.pvExport,batteryCharge:i.batteryCharge,batteryDischarge:i.batteryDischarge,pvProduction:i.pvProduction,homePower:n.homePower,batterySoC:n.batterySoC,valuesInKw:i.valuesInKw},null,8,["gridImport","selfConsumption","loadpoints","pvExport","batteryCharge","batteryDischarge","pvProduction","homePower","batterySoC","valuesInKw"])]),HA,T("div",{class:"details",style:Ke({height:i.detailsHeight})},[T("div",BA,[T("div",jA,[T("div",VA,[UA,T("span",null,K(e.$t("main.energyflow.selfConsumption")),1)]),i.gridImport>0?(V(),Y("div",WA,[T("span",null,K(e.$t("main.energyflow.gridImport")),1),zA])):(V(),Y("div",KA,[T("span",null,K(e.$t("main.energyflow.pvExport")),1),YA]))]),T("div",qA,[T("div",GA,[XA,T("span",JA,K(i.kw(i.inPower)),1)]),T("div",null,[se(a,{name:e.$t("main.energyflow.pvProduction"),icon:"sun",power:i.pvProduction,valuesInKw:i.valuesInKw},null,8,["name","power","valuesInKw"]),n.batteryConfigured?(V(),Je(a,{key:0,name:e.$t("main.energyflow.batteryDischarge"),icon:"battery",soc:n.batterySoC,power:i.batteryDischarge,valuesInKw:i.valuesInKw},null,8,["name","soc","power","valuesInKw"])):Ne("",!0),se(a,{name:e.$t("main.energyflow.gridImport"),icon:"powersupply",power:i.gridImport,valuesInKw:i.valuesInKw},null,8,["name","power","valuesInKw"])])]),T("div",QA,[T("div",ZA,[e2,T("span",t2,K(i.kw(i.outPower)),1)]),T("div",null,[se(a,{name:e.$t("main.energyflow.homePower"),icon:"home",power:n.homePower,valuesInKw:i.valuesInKw},null,8,["name","power","valuesInKw"]),se(a,{name:e.$tc("main.energyflow.loadpoints",n.activeLoadpointsCount,{count:n.activeLoadpointsCount}),icon:"car3",power:n.loadpointsPower,valuesInKw:i.valuesInKw},null,8,["name","power","valuesInKw"]),n.batteryConfigured?(V(),Je(a,{key:0,name:e.$t("main.energyflow.batteryCharge"),icon:"battery",soc:n.batterySoC,power:i.batteryCharge,valuesInKw:i.valuesInKw},null,8,["name","soc","power","valuesInKw"])):Ne("",!0),se(a,{name:e.$t("main.energyflow.pvExport"),icon:"powersupply",power:i.pvExport,valuesInKw:i.valuesInKw},null,8,["name","power","valuesInKw"])])])],512)],4)],2)}var Xf=Ie(DA,[["render",n2],["__scopeId","data-v-74c36cd4"]]),r2='';class s2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=r2}}window.customElements.define("shopicon-filled-circle",s2);var i2='';class o2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=i2}}window.customElements.define("shopicon-regular-lightning",o2);var a2='';class l2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=a2}}window.customElements.define("shopicon-filled-options",l2);const c2={name:"Mode",props:{mode:String},emits:["updated"],data(){return{modes:["off","now","minpv","pv"]}},methods:{isActive:function(e){return this.mode===this.mapToOldModes(e)},setTargetMode:function(e){this.$emit("updated",this.mapToOldModes(e))},mapToOldModes:function(e){return{fast:"now",cheap:"pv"}[e]||e}}},u2={key:0,class:"mode-group border d-inline-flex",role:"group"},f2=["onClick"],d2={key:1,class:"mode-group border d-inline-flex",role:"group"},h2=["onClick"],m2={class:"d-inline d-sm-none"},p2={class:"d-none d-sm-inline"};function g2(e,t,n,r,s,i){return e.$hiddenFeatures?(V(),Y("div",u2,[(V(),Y(Pe,null,Zt(["fast","cheap"],o=>T("button",{key:o,type:"button",class:xe(["btn",{active:i.isActive(o)}]),onClick:a=>i.setTargetMode(o)},K(e.$t(`main.mode.${o}`)),11,f2)),64))])):(V(),Y("div",d2,[(V(!0),Y(Pe,null,Zt(s.modes,o=>(V(),Y("button",{key:o,type:"button",class:xe(["btn",{active:i.isActive(o)}]),onClick:a=>i.setTargetMode(o)},[T("span",m2,K(e.$t(`main.mode.${o}Short`)),1),T("span",p2,K(e.$t(`main.mode.${o}Long`)),1)],10,h2))),128))]))}var _2=Ie(c2,[["render",g2],["__scopeId","data-v-b76c4bcc"]]),yr={methods:{collectProps:function(e){let t={};for(var n in e.props)n in this&&(t[n]=this[n]);return t}}};const v2={name:"LabelAndValue",props:{label:String,value:String,extraValue:String,onDark:Boolean}},b2={class:"mb-2 label"},y2={class:"value m-0"},E2={key:0,class:"extraValue d-block d-sm-inline text-nowrap"};function w2(e,t,n,r,s,i){return V(),Y("div",{class:xe(["root",{"root--dark":n.onDark}])},[T("div",b2,K(n.label),1),ac(e.$slots,"default",{},()=>[T("h3",y2,[Re(K(n.value)+" ",1),n.extraValue?(V(),Y("span",E2,K(n.extraValue),1)):Ne("",!0)])],!0)],2)}var Tc=Ie(v2,[["render",w2],["__scopeId","data-v-61a0ab7e"]]),T2='';class S2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=T2}}window.customElements.define("shopicon-regular-cablecharge",S2);const C2={name:"VehicleTitle",mixins:[yr],props:{vehiclePresent:Boolean,vehicleTitle:String,parked:Boolean,connected:Boolean},computed:{carIcon(){return this.connected||this.parked},name(){return this.vehiclePresent||this.parked?this.vehicleTitle||this.$t("main.vehicle.fallbackName"):this.connected?this.$t("main.vehicle.unknown"):this.$t("main.vehicle.none")}}},A2={class:"d-flex justify-content-between mb-3 align-items-center"},k2={class:"d-flex align-items-center m-0 flex-grow-1 overflow-hidden"},O2={key:0,class:"me-2 flex-shrink-0 car-icon"},L2={key:1,class:"me-2 flex-shrink-0 car-icon"},N2={class:"flex-grow-1 text-truncate"},$2={key:0,class:"btn btn-link text-white p-0 flex-shrink-0"},P2=T("shopicon-filled-options",{size:"s"},null,-1),x2=[P2];function I2(e,t,n,r,s,i){return V(),Y("div",A2,[T("h4",k2,[i.carIcon?(V(),Y("shopicon-regular-car3",O2)):(V(),Y("shopicon-regular-cablecharge",L2)),T("span",N2,K(i.name),1)]),e.$hiddenFeatures?(V(),Y("button",$2,x2)):Ne("",!0)])}var Jf=Ie(C2,[["render",I2]]);const M2={name:"VehicleSoc",props:{connected:Boolean,vehiclePresent:Boolean,vehicleSoC:Number,enabled:Boolean,charging:Boolean,minSoC:Number,targetSoC:Number,parked:Boolean},emits:["target-soc-drag","target-soc-updated"],data:function(){return{selectedTargetSoC:null,interactionStartScreenY:null}},computed:{vehicleSoCDisplayWidth:function(){return this.vehiclePresent&&this.vehicleSoC>=0?this.vehicleSoC:100},progressColor:function(){return this.minSoCActive?"bg-danger":"bg-primary"},minSoCActive:function(){return this.minSoC>0&&this.vehicleSoCthis.vehicleSoC?this.visibleTargetSoC-this.vehicleSoC:null},visibleTargetSoC:function(){return Number(this.selectedTargetSoC||this.targetSoC)}},watch:{targetSoC:function(){this.selectedTargetSoC=this.targetSoC}},methods:{changeTargetSoCStart:function(e){const t=e.screenY||e.changedTouches[0].screenY;this.interactionStartScreenY=t},changeTargetSoCEnd:function(e){const t=e.screenY||e.changedTouches[0].screenY;if(Math.abs(t-this.interactionStartScreenY)>80)return e.preventDefault(),e.target.value=this.targetSoC,this.selectedTargetSoC=this.targetSoC,!1;e.target.value!==this.targetSoC&&this.$emit("target-soc-updated",e.target.value)},movedTargetSoC:function(e){return e.target.value<20?(e.target.value=20,this.selectedTargetSoC=e.target.value,e.preventDefault(),!1):(this.selectedTargetSoC=e.target.value,this.$emit("target-soc-drag",this.selectedTargetSoC),!0)}}},R2={class:"vehicle-soc"},D2={class:"progress"},F2={class:"target"},H2=["value"];function B2(e,t,n,r,s,i){return V(),Y("div",R2,[T("div",D2,[n.connected||n.parked?(V(),Y("div",{key:0,class:xe(["progress-bar",{[i.progressColor]:!0,"progress-bar-striped":n.charging,"progress-bar-animated":n.charging}]),role:"progressbar",style:Ke({width:`${i.vehicleSoCDisplayWidth}%`})},null,6)):Ne("",!0),i.remainingSoCWidth>0&&n.enabled&&n.connected?(V(),Y("div",{key:1,class:xe(["progress-bar bg-muted",i.progressColor]),role:"progressbar",style:Ke({width:`${i.remainingSoCWidth}%`,transition:"none"})},null,6)):Ne("",!0)]),T("div",F2,[T("div",{class:"target-label d-flex align-items-center justify-content-center",style:Ke({left:`${i.visibleTargetSoC}%`})},null,4),n.vehiclePresent&&(n.connected||n.parked)?(V(),Y("input",{key:0,type:"range",min:"0",max:"100",step:"5",value:i.visibleTargetSoC,class:"target-slider",onInput:t[0]||(t[0]=(...o)=>i.movedTargetSoC&&i.movedTargetSoC(...o)),onMousedown:t[1]||(t[1]=(...o)=>i.changeTargetSoCStart&&i.changeTargetSoCStart(...o)),onTouchstart:t[2]||(t[2]=(...o)=>i.changeTargetSoCStart&&i.changeTargetSoCStart(...o)),onMouseup:t[3]||(t[3]=(...o)=>i.changeTargetSoCEnd&&i.changeTargetSoCEnd(...o)),onTouchend:t[4]||(t[4]=(...o)=>i.changeTargetSoCEnd&&i.changeTargetSoCEnd(...o))},null,40,H2)):Ne("",!0)])])}var Qf=Ie(M2,[["render",B2],["__scopeId","data-v-cbe29806"]]);const j2={name:"VehicleStatus",mixins:[yr,hn],props:{vehicleSoC:Number,minSoC:Number,enabled:Boolean,connected:Boolean,charging:Boolean,targetTime:String,targetTimeProjectedStart:String,phaseAction:String,phaseRemainingInterpolated:Number,pvAction:String,pvRemainingInterpolated:Number},computed:{phaseTimerActive(){return this.charging&&this.phaseRemainingInterpolated>0&&["scale1p","scale3p"].includes(this.phaseAction)},pvTimerActive(){return this.pvRemainingInterpolated>0&&["enable","disable"].includes(this.pvAction)},message:function(){const e=(t,n)=>this.$t(`main.vehicleStatus.${t}`,n);if(!this.connected)return e("disconnected");if(this.minSoC>0&&this.vehicleSoC';class z2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=W2}}window.customElements.define("shopicon-filled-plus",z2);var K2='';class Y2 extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=K2}}window.customElements.define("shopicon-filled-edit",Y2);const q2="7:00",ed="last_target_time",G2={name:"TargetCharge",components:{LabelAndValue:Tc},mixins:[hn],props:{id:[String,Number],targetTime:String,targetTimeActive:Boolean,targetSoC:Number,disabled:Boolean},emits:["target-time-updated","target-time-removed"],data:function(){return{selectedDay:null,selectedTime:null}},computed:{targetChargeEnabled:function(){return this.targetTime},buttonIsEnabled:function(){return this.targetChargeEnabled&&!this.disabled},selectedTargetTimeValid:function(){return new Datenew Date;this.targetChargeEnabled&&t&&(e=new Date(this.targetTime)),this.selectedDay=this.fmtDayString(e),this.selectedTime=this.fmtTimeString(e)},dayOptions:function(){const e=[],t=new Date,n=[this.$t("main.targetCharge.today"),this.$t("main.targetCharge.tomorrow")];for(let r=0;r<7;r++){const s=t.toLocaleDateString("default",{month:"short",day:"numeric"}),i=n[r]||t.toLocaleDateString("default",{weekday:"long"});e.push({value:t.toISOString().split("T")[0],name:`${s} (${i})`}),t.setDate(t.getDate()+1)}return e},minTime:function(){return new Date().toISOString().split("T")[1].slice(0,-8)},setTargetTime:function(){try{const e=this.selectedTargetTime.getHours(),t=this.selectedTargetTime.getMinutes();window.localStorage[ed]=`${e}:${t}`}catch(e){console.warn(e)}this.$emit("target-time-updated",this.selectedTargetTime)},removeTargetTime:function(){this.$emit("target-time-removed")}}},kp=e=>(Ft("data-v-26c7faef"),e=e(),Ht(),e),X2=["data-bs-target"],J2={key:0},Q2={key:1},Z2=["id"],ek={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},tk={class:"modal-content"},nk={class:"modal-header"},rk={class:"modal-title"},sk=kp(()=>T("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1)),ik={class:"modal-body"},ok={class:"form-group"},ak={for:"targetTimeLabel",class:"mb-3"},lk={class:"d-flex justify-content-between",style:{"max-width":"350px"}},ck=["value"],uk={key:0,class:"text-danger mb-0"},fk={class:"small mt-3 text-muted mb-0"},dk={class:"text-evcc"},hk=kp(()=>T("a",{href:"https://github.com/evcc-io/evcc/discussions/1433",target:"_blank"},"GitHub Discussions",-1)),mk=Re(". "),pk={class:"modal-footer d-flex justify-content-between"},gk=["disabled"];function _k(e,t,n,r,s,i){const o=Ce("LabelAndValue");return V(),Y("div",null,[se(o,{class:"flex-grow-1",label:e.$t("main.targetCharge.title"),"on-dark":""},{default:wt(()=>[T("button",{class:xe(["btn btn-link p-0 value text-end",i.buttonIsEnabled?"text-white":"text-gray-light"]),"data-bs-toggle":"modal","data-bs-target":`#${i.modalId}`},[i.targetChargeEnabled?(V(),Y("strong",J2,K(i.targetTimeLabel()),1)):(V(),Y("span",Q2,K(e.$t("main.targetCharge.setTargetTime")),1))],10,X2)]),_:1},8,["label"]),(V(),Je(Mo,{to:"body"},[T("div",{id:i.modalId,class:"modal fade text-dark","data-bs-backdrop":"true",tabindex:"-1",role:"dialog","aria-hidden":"true"},[T("div",ek,[T("div",tk,[T("div",nk,[T("h5",rk,K(e.$t("main.targetCharge.modalTitle")),1),sk]),T("form",{onSubmit:t[3]||(t[3]=Dm((...a)=>i.setTargetTime&&i.setTargetTime(...a),["prevent"]))},[T("div",ik,[T("div",ok,[T("label",ak,K(e.$t("main.targetCharge.description",{targetSoC:n.targetSoC})),1),T("div",lk,[Xi(T("select",{"onUpdate:modelValue":t[0]||(t[0]=a=>e.selectedDay=a),class:"form-select me-2",style:{"flex-basis":"60%"}},[(V(!0),Y(Pe,null,Zt(i.dayOptions(),a=>(V(),Y("option",{key:a.value,value:a.value},K(a.name),9,ck))),128))],512),[[fc,e.selectedDay]]),Xi(T("input",{"onUpdate:modelValue":t[1]||(t[1]=a=>e.selectedTime=a),type:"time",class:"form-control ms-2",style:{"flex-basis":"40%"},step:60*5,required:""},null,512),[[Zs,e.selectedTime]])])]),i.selectedTargetTimeValid?Ne("",!0):(V(),Y("p",uk,K(e.$t("main.targetCharge.targetIsInThePast")),1)),T("p",fk,[T("strong",dk,K(e.$t("main.targetCharge.experimentalLabel"))+": ",1),Re(" "+K(e.$t("main.targetCharge.experimentalText"))+" ",1),hk,mk])]),T("div",pk,[T("button",{type:"button",class:"btn btn-outline-secondary","data-bs-dismiss":"modal",onClick:t[2]||(t[2]=(...a)=>i.removeTargetTime&&i.removeTargetTime(...a))},K(e.$t("main.targetCharge.remove")),1),T("button",{type:"submit",class:"btn btn-primary","data-bs-dismiss":"modal",disabled:!i.selectedTargetTimeValid},K(e.$t("main.targetCharge.activate")),9,gk)])],32)])])],8,Z2)]))])}var td=Ie(G2,[["render",_k],["__scopeId","data-v-26c7faef"]]);const vk={name:"Vehicle",components:{VehicleTitle:Jf,VehicleSoc:Qf,VehicleStatus:Zf,LabelAndValue:Tc,TargetCharge:td},mixins:[yr],props:{id:[String,Number],connected:Boolean,vehiclePresent:Boolean,vehicleSoC:Number,enabled:Boolean,charging:Boolean,minSoC:Number,vehicleRange:Number,vehicleTitle:String,targetTimeActive:Boolean,targetTime:String,targetTimeProjectedStart:String,targetSoC:Number,mode:String,phaseAction:String,phaseRemainingInterpolated:Number,pvAction:String,pvRemainingInterpolated:Number,parked:Boolean},emits:["target-time-removed","target-time-updated","target-soc-updated"],data(){return{displayTargetSoC:this.targetSoC}},computed:{vehicleSocProps:function(){return this.collectProps(Qf)},vehicleStatus:function(){return this.collectProps(Zf)},vehicleTitleProps:function(){return this.collectProps(Jf)},targetCharge:function(){return this.collectProps(td)},estimatedTargetRange:function(){return this.vehicleSoC>10&&this.vehicleRange&&this.displayTargetSoC?Math.round(this.displayTargetSoC*(this.vehicleRange/this.vehicleSoC))+" km":null},targetChargeDisabled:function(){return!this.connected||!["pv","minpv"].includes(this.mode)}},watch:{targetSoC:function(){this.displayTargetSoC=this.targetSoC}},methods:{targetSocDrag:function(e){this.displayTargetSoC=e},targetSocUpdated:function(e){this.displayTargetSoC=e,this.$emit("target-soc-updated",e)},setTargetTime:function(e){this.$emit("target-time-updated",e)},removeTargetTime:function(){this.$emit("target-time-removed")}}},bk=e=>(Ft("data-v-ec875aa2"),e=e(),Ht(),e),yk={class:"vehicle p-4 pb-3"},Ek={key:1},wk={class:"details d-flex flex-wrap justify-content-between"},Tk={key:0,class:"d-flex justify-content-start"},Sk=bk(()=>T("small",null,"vor 5 Stunden",-1)),Ck=[Sk];function Ak(e,t,n,r,s,i){const o=Ce("VehicleTitle"),a=Ce("VehicleStatus"),l=Ce("VehicleSoc"),c=Ce("LabelAndValue"),u=Ce("TargetCharge");return V(),Y("div",yk,[se(o,dt(rt(i.vehicleTitleProps)),null,16),n.parked?Ne("",!0):(V(),Je(a,Mt({key:0},i.vehicleStatus,{class:"mb-2"}),null,16)),se(l,Mt(i.vehicleSocProps,{class:"mt-2 mb-4",onTargetSocUpdated:i.targetSocUpdated,onTargetSocDrag:i.targetSocDrag}),null,16,["onTargetSocUpdated","onTargetSocDrag"]),n.vehiclePresent?(V(),Y("div",Ek,[T("div",wk,[se(c,{class:"flex-grow-1 text-start",label:e.$t("main.vehicle.vehicleSoC"),value:`${n.vehicleSoC||"--"} %`,extraValue:n.vehicleRange?`${n.vehicleRange} km`:null,"on-dark":""},null,8,["label","value","extraValue"]),se(c,{class:"flex-grow-1 text-center",label:e.$t("main.vehicle.targetSoC"),value:`${s.displayTargetSoC} %`,extraValue:i.estimatedTargetRange,"on-dark":""},null,8,["label","value","extraValue"]),se(u,Mt({class:"flex-grow-1 text-end target-charge"},i.targetCharge,{disabled:i.targetChargeDisabled,onTargetTimeUpdated:i.setTargetTime,onTargetTimeRemoved:i.removeTargetTime}),null,16,["disabled","onTargetTimeUpdated","onTargetTimeRemoved"])]),e.$hiddenFeatures?(V(),Y("div",Tk,Ck)):Ne("",!0)])):Ne("",!0)])}var sl=Ie(vk,[["render",Ak],["__scopeId","data-v-ec875aa2"]]);const kk={name:"Phases",props:{chargeCurrent:{type:Number},chargeCurrents:{type:Array},activePhases:{type:Number},minCurrent:{type:Number},maxCurrent:{type:Number}},methods:{inactive(e){return e>this.activePhases},targetWidth(){let e=Math.min(Math.max(this.minCurrent,this.chargeCurrent),this.maxCurrent);return 100/this.maxCurrent*e},realWidth(e){if(this.chargeCurrents){const t=this.chargeCurrents[e-1]||0;return 100/this.maxCurrent*t}return this.targetWidth()}}},Ok={class:"phases d-flex justify-content-between"};function Lk(e,t,n,r,s,i){return V(),Y("div",Ok,[(V(),Y(Pe,null,Zt([1,2,3],o=>T("div",{key:o,class:xe(["phase me-1",{inactive:i.inactive(o)}])},[T("div",{class:"target",style:Ke({width:`${i.targetWidth()}%`})},null,4),T("div",{class:"real",style:Ke({width:`${i.realWidth(o)}%`})},null,4)],2)),64))])}var nd=Ie(kk,[["render",Lk],["__scopeId","data-v-5aa38c33"]]);const Nk={name:"Loadpoint",components:{Mode:_2,Vehicle:sl,Phases:nd,LabelAndValue:Tc},mixins:[hn,yr],props:{id:Number,single:Boolean,title:String,mode:String,targetSoC:Number,remoteDisabled:Boolean,remoteDisabledSource:String,chargeDuration:Number,charging:Boolean,connected:Boolean,enabled:Boolean,vehicleTitle:String,vehicleSoC:Number,vehiclePresent:Boolean,vehicleRange:Number,minSoC:Number,targetTime:String,targetTimeActive:Boolean,targetTimeProjectedStart:String,vehicleProviderLoggedIn:Boolean,vehicleProviderLoginPath:String,vehicleProviderLogoutPath:String,chargePower:Number,chargedEnergy:Number,climater:String,chargeRemainingDuration:Number,phases:Number,minCurrent:Number,maxCurrent:Number,activePhases:Number,chargeCurrent:Number,vehicleCapacity:Number,connectedDuration:Number,chargeCurrents:Array,chargeConfigured:Boolean,chargeRemainingEnergy:Number,phaseAction:String,phaseRemaining:Number,pvRemaining:Number,pvAction:String},data(){return{tickerHandler:null,phaseRemainingInterpolated:this.phaseRemaining,pvRemainingInterpolated:this.pvRemaining,chargeDurationInterpolated:this.chargeDuration,chargeRemainingDurationInterpolated:this.chargeRemainingDuration}},computed:{phasesProps:function(){return this.collectProps(nd)},vehicle:function(){return this.collectProps(sl)}},watch:{phaseRemaining(){this.phaseRemainingInterpolated=this.phaseRemaining},pvRemaining(){this.pvRemainingInterpolated=this.pvRemaining},chargeDuration(){this.chargeDurationInterpolated=this.chargeDuration},chargeRemainingDuration(){this.chargeRemainingDurationInterpolated=this.chargeRemainingDuration}},mounted(){this.tickerHandler=setInterval(this.tick,1e3)},unmounted(){clearInterval(this.tickerHandler)},methods:{tick(){this.phaseRemainingInterpolated>0&&this.phaseRemainingInterpolated--,this.pvRemainingInterpolated>0&&this.pvRemainingInterpolated--,this.chargeDurationInterpolated>0&&this.charging&&this.chargeDurationInterpolated++,this.chargeRemainingDurationInterpolated>0&&this.charging&&this.chargeRemainingDurationInterpolated--},apiPath:function(e){return"loadpoints/"+this.id+"/"+e},setTargetMode:function(e){er.post(this.apiPath("mode")+"/"+e)},setTargetSoC:function(e){er.post(this.apiPath("targetsoc")+"/"+e)},setTargetTime:function(e){er.post(`${this.apiPath("targetcharge")}/${this.targetSoC}/${e.toISOString()}`)},removeTargetTime:function(){er.delete(this.apiPath("targetcharge"))}}},$k=e=>(Ft("data-v-5164c12c"),e=e(),Ht(),e),Pk={class:"loadpoint bg-white p-4"},xk={class:"d-flex justify-content-between align-items-center mb-3"},Ik={class:"mb-3 me-2 text-truncate"},Mk={class:"mb-3 d-flex align-items-center"},Rk={key:0,class:"btn btn-link text-gray p-0 flex-shrink-0"},Dk=$k(()=>T("shopicon-filled-options",{size:"s"},null,-1)),Fk=[Dk],Hk={class:"details d-flex align-items-start mb-3"},Bk={class:"d-flex align-items-center"};function jk(e,t,n,r,s,i){const o=Ce("Mode"),a=Ce("LabelAndValue"),l=Ce("Phases"),c=Ce("Vehicle");return V(),Y("div",Pk,[T("div",xk,[T("h3",Ik,K(n.title||e.$t("main.loadpoint.fallbackName")),1),T("div",Mk,[se(o,{mode:n.mode,onUpdated:i.setTargetMode},null,8,["mode","onUpdated"]),e.$hiddenFeatures?(V(),Y("button",Rk,Fk)):Ne("",!0)])]),n.remoteDisabled?(V(),Y("div",{key:0,class:xe(["alert alert-warning my-4 py-2",`${n.remoteDisabled==="hard"?"alert-danger":"alert-warning"}`]),role:"alert"},K(e.$t(n.remoteDisabled==="hard"?"main.loadpoint.remoteDisabledHard":"main.loadpoint.remoteDisabledSoft",{source:n.remoteDisabledSource})),3)):Ne("",!0),T("div",Hk,[T("div",null,[T("div",Bk,[se(a,{label:e.$t("main.loadpoint.power"),value:e.fmtKw(n.chargePower),class:"mb-2"},null,8,["label","value"]),T("shopicon-regular-lightning",{class:xe(["text-evcc opacity-transiton",`opacity-${n.charging?"100":"0"}`]),size:"m"},null,2)]),se(l,Mt(i.phasesProps,{class:["opacity-transiton",`opacity-${n.charging?"100":"0"}`]}),null,16,["class"])]),se(a,{label:e.$t("main.loadpoint.charged"),value:e.fmtKWh(n.chargedEnergy)},null,8,["label","value"]),s.chargeRemainingDurationInterpolated?(V(),Je(a,{key:0,label:e.$t("main.loadpoint.remaining"),value:` ${e.fmtShortDuration(s.chargeRemainingDurationInterpolated)} ${e.fmtShortDurationUnit(s.chargeRemainingDurationInterpolated,!0)}`},null,8,["label","value"])):(V(),Je(a,{key:1,label:e.$t("main.loadpoint.duration"),value:` ${e.fmtShortDuration(s.chargeDurationInterpolated)} - ${e.fmtShortDurationUnit(s.chargeDurationInterpolated)}`},null,8,["label","value"]))]),se(c,Mt(i.vehicle,{onTargetSocUpdated:i.setTargetSoC,onTargetTimeUpdated:i.setTargetTime,onTargetTimeRemoved:i.removeTargetTime}),null,16,["onTargetSocUpdated","onTargetTimeUpdated","onTargetTimeRemoved"])])}var jk=Ie(Lk,[["render",Bk],["__scopeId","data-v-5164c12c"]]);const Vk={name:"Site",components:{Loadpoint:jk},mixins:[yr],props:{loadpoints:Array},data(){return{selectedIndex:0,snapTimeout:null}},mounted(){this.$refs.carousel.addEventListener("scroll",this.handleCarouselScroll,!1)},unmounted(){this.$refs.carousel.removeEventListener("scroll",this.handleCarouselScroll)},methods:{handleCarouselScroll(){const{scrollLeft:e}=this.$refs.carousel,{offsetWidth:t}=this.$refs.carousel.children[0];this.selectedIndex=Math.round((e-7.5)/t)},selected(e){return this.selectedIndex===e},scrollTo(e){if(this.selectedIndex===e)return;this.selectedIndex=e;const t=this.$refs.carousel,n=t.children[0].offsetWidth;t.style.scrollSnapType="none",t.scrollTo({top:0,left:7.5+n*e,behavior:"smooth"}),clearTimeout(this.snapTimeout),this.snapTimeout=setTimeout(()=>{this.$refs.carousel.style.scrollSnapType="x mandatory"},1e3)}}},Uk=e=>(Ft("data-v-34f3ca44"),e=e(),Ht(),e),Wk={class:"container container--loadpoint px-0 mb-md-2 d-flex flex-column justify-content-center"},zk={ref:"carousel",class:"carousel d-lg-flex flex-wrap"},Kk={key:0,class:"d-flex d-lg-none justify-content-center"},Yk=["onClick"],qk=Uk(()=>T("shopicon-filled-circle",{class:"indicator-icon"},null,-1)),Gk=[qk];function Xk(e,t,n,r,s,i){const o=Ce("Loadpoint");return V(),Y("div",Wk,[T("div",zk,[(V(!0),Y(Pe,null,Zt(n.loadpoints,(a,l)=>(V(),Y("div",{key:l,class:"flex-grow-1 mb-3 m-lg-0 p-lg-0"},[se(o,Mt(a,{id:l,class:["h-100",{"loadpoint-unselected":!i.selected(l)}],onClick:c=>i.scrollTo(l)}),null,16,["id","class","onClick"])]))),128))],512),n.loadpoints.length>1?(V(),Y("div",Kk,[(V(!0),Y(Pe,null,Zt(n.loadpoints,(a,l)=>(V(),Y("button",{key:l,class:xe(["btn btn-sm btn-link p-0 mx-1 indicator d-flex justify-content-center align-items-center text-white",{"indicator--selected":i.selected(l)}]),onClick:c=>i.scrollTo(l)},Gk,10,Yk))),128))])):Ne("",!0)])}var Jk=Ie(Vk,[["render",Xk],["__scopeId","data-v-34f3ca44"]]),Qk='';class Zk extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=Qk}}window.customElements.define("shopicon-regular-refresh",Zk);const eO={name:"Vehicles",components:{Vehicle:sl},mixins:[yr],data(){return{refreshing:!1,vehicles:[{vehiclePresent:!0,vehicleTitle:"Ford Mustang Mach-E",vehicleSoC:46,vehicleRange:182,targetSoC:100},{vehiclePresent:!0,vehicleTitle:"Renault Twingo Electric",vehicleSoC:77,vehicleRange:98,targetSoC:90},{vehiclePresent:!0,vehicleTitle:"Blauer VW ID.4",vehicleSoC:16,vehicleRange:52,minSoC:35,targetSoC:60}]}},methods:{refresh(){this.refreshing=!0,window.setTimeout(()=>{this.refreshing=!1},5e3)}}},tO=e=>(Ft("data-v-62696742"),e=e(),Ht(),e),nO={class:"container px-4 mb-3 mb-sm-4 d-flex justify-content-start align-items-center"},rO={class:"m-0"},sO=["disabled"],iO=tO(()=>T("shopicon-regular-refresh",{class:"refresh-icon"},null,-1)),oO=[iO];function aO(e,t,n,r,s,i){const o=Ce("Vehicle");return V(),Y("div",null,[T("div",nO,[T("h2",rO,K(e.$t("main.vehicles")),1),T("button",{class:xe(["btn btn-link d-flex text-white p-2 ms-1 refresh",{"refresh--in-progress":s.refreshing}]),disabled:s.refreshing,onClick:t[0]||(t[0]=(...a)=>i.refresh&&i.refresh(...a))},oO,10,sO)]),T("div",{class:xe(["container vehicles px-0 mb-5",`vehicles-${s.vehicles.length}`])},[(V(!0),Y(Pe,null,Zt(s.vehicles,(a,l)=>(V(),Je(o,Mt(a,{id:`vehicle_${l}`,key:l,class:"vehicle",parked:""}),null,16,["id"]))),128))],2)])}var lO=Ie(eO,[["render",aO],["__scopeId","data-v-62696742"]]),cO='';class uO extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=cO}}window.customElements.define("shopicon-filled-testtube",uO);const fO={name:"Logo"},dO={viewBox:"0 0 122 35",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd","stroke-linejoin":"round","stroke-miterlimit":"2"},hO=T("path",{d:"M13.082 29.071a12.384 12.384 0 01-9-3.42 12.192 12.192 0 01-3.54-9.12v-.64a15.394 15.394 0 011.47-6.83 10.825 10.825 0 014.17-4.64 11.64 11.64 0 016.15-1.63 10.45 10.45 0 018.21 3.26c2 2.194 3 5.297 3 9.31v2.76H7.382a6.348 6.348 0 002 4 5.997 5.997 0 004.16 1.49 7.305 7.305 0 006.1-2.84l3.31 3.73a10 10 0 01-4.13 3.39 13.309 13.309 0 01-5.74 1.18zm-.77-20.84a4.216 4.216 0 00-3.26 1.37 7.141 7.141 0 00-1.6 3.91h9.39v-.55a5.005 5.005 0 00-1.22-3.49 4.304 4.304 0 00-3.31-1.24zM36.452 20.331l4.7-17.09h7l-8.48 25.36h-6.44l-8.52-25.36h7l4.74 17.09zM85.542 23.611a4.444 4.444 0 003-1 3.638 3.638 0 001.22-2.75h6.32a8.668 8.668 0 01-1.4 4.73 9.145 9.145 0 01-3.79 3.3 11.736 11.736 0 01-5.29 1.19 10.912 10.912 0 01-8.54-3.46c-2.087-2.3-3.13-5.483-3.13-9.55v-.45c0-3.9 1.033-7.016 3.1-9.35a10.868 10.868 0 018.51-3.5c2.791-.134 5.524.84 7.6 2.71a9.626 9.626 0 012.9 7.21h-6.3a4.663 4.663 0 00-1.2-3.22 4.005 4.005 0 00-3.08-1.24 4.068 4.068 0 00-3.56 1.73c-.8 1.15-1.2 3-1.2 5.6v.7c0 2.61.39 4.49 1.19 5.63a4.092 4.092 0 003.65 1.72zM110.422 23.611a4.454 4.454 0 003-1 3.63 3.63 0 001.21-2.75h6.33a8.668 8.668 0 01-1.4 4.73 9.143 9.143 0 01-3.73 3.3 11.76 11.76 0 01-5.29 1.18 10.912 10.912 0 01-8.54-3.46c-2.087-2.3-3.13-5.483-3.13-9.55v-.45c0-3.9 1.033-7.016 3.1-9.35a10.85 10.85 0 018.57-3.49 10.575 10.575 0 017.6 2.71 9.598 9.598 0 012.91 7.21h-6.33a4.651 4.651 0 00-1.21-3.22 4.492 4.492 0 00-6.64.49c-.8 1.15-1.21 3-1.21 5.6v.7c0 2.607.4 4.484 1.2 5.63a4.09 4.09 0 003.56 1.72z",fill:"#fff","fill-rule":"nonzero"},null,-1),mO=T("path",{d:"M58.462.751h9.22l-6.14 12.3h6.15l-11.53 21.51 2.3-15.36h-7.68l7.68-18.45z",fill:"#0fdd42","fill-rule":"nonzero"},null,-1),pO=T("path",{fill:"none",d:"M-24.458-22.109h170v76h-170z"},null,-1),gO=[hO,mO,pO];function _O(e,t,n,r,s,i){return V(),Y("svg",dO,gO)}var vO=Ie(fO,[["render",_O]]),bO='';class yO extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=bO}}window.customElements.define("shopicon-regular-gift",yO);var EO='';class wO extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=EO}}window.customElements.define("shopicon-regular-moonstars",wO);const TO={name:"Version",components:{Logo:vO},props:{installed:String,available:String,releaseNotes:String,commit:String,hasUpdater:Boolean,uploadMessage:String,uploadProgress:Number},data:function(){return{updateStarted:!1,updateStatus:""}},computed:{githubHashUrl:function(){return`https://github.com/evcc-io/evcc/commit/${this.commit}`},newVersionAvailable:function(){return this.available&&this.installed!="[[.Version]]"&&this.installed!="0.0.1-alpha"&&this.available!=this.installed}},methods:{update:async function(){try{await er.post("update"),this.updateStatus=this.$t("footer.version.modalUpdateStatusStart"),this.updateStarted=!0}catch(e){this.updateStatus=this.$t("footer.version.modalUpdateStatusStart")+e}},releaseNotesUrl:function(e){return`https://github.com/evcc-io/evcc/releases/tag/${e}`}}},zo=e=>(Ft("data-v-78dcbc78"),e=e(),Ht(),e),SO=["href"],CO=zo(()=>T("shopicon-regular-moonstars",{class:"ms-2 text-gray-light"},null,-1)),AO={class:"ms-2 text-gray-light d-none d-sm-inline"},kO={key:1,href:"#","data-bs-toggle":"modal","data-bs-target":"#updateModal",class:"btn btn-link ps-0 text-decoration-none text-white text-nowrap d-flex align-items-end"},OO=zo(()=>T("shopicon-regular-gift",{class:"me-2 text-evcc"},null,-1)),LO={class:"ms-2 d-none d-xs-block d-sm-none text-decoration-underline"},NO={class:"ms-2 d-none d-sm-block text-gray-medium text-decoration-underline"},$O=["href"],PO={id:"updateModal",class:"modal fade text-dark",tabindex:"-1",role:"dialog","aria-hidden":"true"},xO={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},IO={class:"modal-content"},MO={class:"modal-header"},RO={class:"modal-title"},DO=zo(()=>T("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1)),FO={class:"modal-body"},HO={key:0},BO={class:"progress my-3"},jO={key:1},VO=["innerHTML"],UO={key:1},WO=["href"],zO=Re(". "),KO={class:"modal-footer d-flex justify-content-between"},YO=["disabled"],qO=["disabled"],GO={key:0},XO=zo(()=>T("span",{class:"spinner-border spinner-border-sm",role:"status","aria-hidden":"true"},null,-1)),JO={key:1},QO=["href"];function ZO(e,t,n,r,s,i){const o=Ce("Logo");return V(),Y("div",null,[n.commit?(V(),Y("a",{key:0,href:i.githubHashUrl,target:"_blank",class:"btn btn-link ps-0 text-decoration-none text-white text-nowrap d-flex align-items-end"},[se(o,{class:"logo me-2"}),Re(" v"+K(n.installed)+" ",1),CO,T("span",AO,"["+K(n.commit)+"]",1)],8,SO)):i.newVersionAvailable?(V(),Y("button",kO,[OO,Re(" v"+K(n.installed)+" ",1),T("span",LO,K(e.$t("footer.version.availableShort")),1),T("span",NO,K(e.$t("footer.version.availableLong")),1)])):(V(),Y("a",{key:2,href:i.releaseNotesUrl(n.installed),target:"_blank",class:"btn btn-link text-white ps-0 text-decoration-none text-nowrap d-flex align-items-end"},[se(o,{class:"logo me-2"}),Re(" v"+K(n.installed),1)],8,$O)),T("div",PO,[T("div",xO,[T("div",IO,[T("div",MO,[T("h5",RO,K(e.$t("footer.version.modalTitle")),1),DO]),T("div",FO,[e.updateStarted?(V(),Y("div",HO,[T("p",null,K(e.$t("footer.version.modalUpdateStarted")),1),T("div",BO,[T("div",{class:"progress-bar progress-bar-striped progress-bar-animated",role:"progressbar",style:Ke({width:n.uploadProgress+"%"})},null,4)]),T("p",null,K(e.updateStatus)+K(n.uploadMessage),1)])):(V(),Y("div",jO,[T("p",null,[T("small",null,K(e.$t("footer.version.modalInstalledVersion"))+": "+K(n.installed),1)]),n.releaseNotes?(V(),Y("div",{key:0,innerHTML:n.releaseNotes},null,8,VO)):(V(),Y("p",UO,[Re(K(e.$t("footer.version.modalNoReleaseNotes"))+" ",1),T("a",{href:i.releaseNotesUrl(n.available)},"GitHub",8,WO),zO]))]))]),T("div",KO,[T("button",{type:"button",class:"btn btn-outline-secondary",disabled:e.updateStarted,"data-bs-dismiss":"modal"},K(e.$t("footer.version.modalCancel")),9,YO),T("div",null,[n.hasUpdater?(V(),Y("button",{key:0,type:"button",class:"btn btn-primary",disabled:e.updateStarted,onClick:t[0]||(t[0]=(...a)=>i.update&&i.update(...a))},[e.updateStarted?(V(),Y("span",GO,[XO,Re(" "+K(e.$t("footer.version.modalUpdate")),1)])):(V(),Y("span",JO,K(e.$t("footer.version.modalUpdateNow")),1))],8,qO)):(V(),Y("a",{key:1,href:i.releaseNotesUrl(n.available),class:"btn btn-primary"},K(e.$t("footer.version.modalDownload")),9,QO))])])])])])])}var eL=Ie(TO,[["render",ZO],["__scopeId","data-v-78dcbc78"]]),hi={};(function e(t,n,r,s){var i=!!(t.Worker&&t.Blob&&t.Promise&&t.OffscreenCanvas&&t.OffscreenCanvasRenderingContext2D&&t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype.transferControlToOffscreen&&t.URL&&t.URL.createObjectURL);function o(){}function a(P){var x=n.exports.Promise,Z=x!==void 0?x:t.Promise;return typeof Z=="function"?new Z(P):(P(o,o),null)}var l=function(){var P=Math.floor(16.666666666666668),x,Z,ee={},oe=0;return typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function"?(x=function(le){var ue=Math.random();return ee[ue]=requestAnimationFrame(function pe(ve){oe===ve||oe+P-1(Ft("data-v-a477dba0"),e=e(),Ht(),e),aL={key:0},lL={class:"mb-3"},cL={class:"d-flex justify-content-center align-items-center flex-column"},uL=Op(()=>T("shopicon-regular-heart",{class:"me-1 d-inline-block"},null,-1)),fL={href:"https://evcc.io/sticker",target:"_blank",class:"small text-muted"},dL={key:1},hL={class:"mb-3"},mL={class:"d-flex justify-content-center align-items-center flex-column"},pL={target:"_blank",href:"https://github.com/sponsors/andig",class:"btn btn-outline-primary mb-2 w-75"},gL=Op(()=>T("shopicon-regular-heart",{class:"me-1 d-inline-block"},null,-1)),_L={class:"small text-muted text-center"};function vL(e,t,n,r,s,i){return n.sponsor?(V(),Y("div",aL,[T("p",lL,K(e.$t("footer.sponsor.thanks",{sponsor:n.sponsor})),1),T("div",cL,[T("button",{ref:"confetti",class:"btn btn btn-outline-primary mb-2 confetti-button bg-evcc w-75 rounded",onClick:t[0]||(t[0]=(...o)=>i.surprise&&i.surprise(...o))},[uL,Re(" "+K(e.$t("footer.sponsor.confetti")),1)],512),T("a",fL,K(e.$t("footer.sponsor.sticker")),1)])])):(V(),Y("div",dL,[T("p",hL,K(e.$t("footer.sponsor.supportUs")),1),T("div",mL,[T("a",pL,[gL,Re(" "+K(e.$t("footer.sponsor.becomeSponsor")),1)]),T("div",_L,K(e.$t("footer.sponsor.confettiPromise")),1)])]))}var bL=Ie(oL,[["render",vL],["__scopeId","data-v-a477dba0"]]);const yL={name:"Savings",components:{Sponsor:bL},mixins:[hn],props:{selfConsumptionPercent:Number,since:{type:Number,default:0},sponsor:String,amount:{type:Number,default:0},effectivePrice:{type:Number,default:0},totalCharged:{type:Number,default:0},gridCharged:{type:Number,default:0},selfConsumptionCharged:{type:Number,default:0},gridPrice:{type:Number},feedInPrice:{type:Number},currency:String},computed:{percent(){return Math.round(this.selfConsumptionPercent)||0},noData(){return this.totalCharged===0}},methods:{secondsSinceStart(){return this.since*1e3-Date.now()}}},mi=e=>(Ft("data-v-25484235"),e=e(),Ht(),e),EL={class:"btn btn-link pe-0 text-decoration-none text-white text-nowrap d-flex align-items-end","data-bs-toggle":"modal","data-bs-target":"#savingsModal"},wL={class:"d-inline d-sm-none"},TL={class:"d-none d-sm-inline"},SL=mi(()=>T("shopicon-regular-sun",{class:"ms-2 text-evcc"},null,-1)),CL={id:"savingsModal",ref:"modal",class:"modal fade text-dark","data-bs-backdrop":"true",tabindex:"-1",role:"dialog","aria-hidden":"true"},AL={class:"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable",role:"document"},kL={class:"modal-content"},OL={class:"modal-header"},LL={class:"modal-title"},NL={class:"text-nowrap"},$L=Re(" "+K(" ")+" "),PL={class:"text-nowrap"},xL=mi(()=>T("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1)),IL={class:"modal-body py-4"},ML={class:"chart-container mb-3"},RL={class:"chart-legend d-flex flex-wrap justify-content-between mb-1"},DL={class:"chart d-flex justify-content-stretch mb-1 rounded overflow-hidden"},FL={class:"text-truncate"},HL={class:"text-truncate"},BL={key:2,class:"chart-item chart-item--no-data d-flex justify-content-center align-items-center text-white w-100"},jL={class:"mb-3"},VL=mi(()=>T("br",null,null,-1)),UL={class:"small text-muted mb-3"},WL={href:"https://docs.evcc.io/docs/guides/setup/#ersparnisberechnung",target:"_blank",class:"small"},zL=Re(": "),KL={class:"text-nowrap"},YL=Re(", "),qL={class:"text-nowrap"},GL=mi(()=>T("br",null,null,-1)),XL=mi(()=>T("hr",{class:"mb-4"},null,-1));function JL(e,t,n,r,s,i){const o=Ce("Sponsor");return V(),Y("div",null,[T("button",EL,[T("span",wL,K(e.$t("footer.savings.footerShort",{percent:i.percent})),1),T("span",TL,K(e.$t("footer.savings.footerLong",{percent:i.percent})),1),SL]),(V(),Je(Mo,{to:"body"},[T("div",CL,[T("div",AL,[T("div",kL,[T("div",OL,[T("h5",LL,[T("span",NL,K(e.$t("footer.savings.modalTitlePartOne",{total:e.fmtKw(n.totalCharged*1e3,!0,!1)}))+" \xB7 ",1),$L,T("span",PL,K(e.$t("footer.savings.modalTitlePartTwo",{percent:i.percent})),1)]),xL]),T("div",IL,[T("div",ML,[T("div",RL,[T("div",{class:xe(["text-nowrap",{"text-gray-medium":i.noData}])},[T("shopicon-filled-square",{class:xe(["text-evcc d-inline-block",{"text-gray-medium":i.noData}])},null,2),Re(" "+K(e.$t("footer.savings.modalChartSelf",{self:e.fmtKw(n.selfConsumptionCharged*1e3,!0,!1)})),1)],2),T("div",{class:xe(["text-nowrap",{"text-gray-medium":i.noData}])},[Re(K(e.$t("footer.savings.modalChartGrid",{grid:e.fmtKw(n.gridCharged*1e3,!0,!1)}))+" ",1),T("shopicon-filled-square",{class:xe(["text-grid d-inline-block",{"text-gray-medium":i.noData}])},null,2)],2)]),T("div",DL,[i.noData?Ne("",!0):(V(),Y("div",{key:0,class:"chart-item chart-item--self d-flex justify-content-center align-items-center text-white flex-shrink-1",style:Ke({width:`${i.percent}%`})},[T("span",FL,K(i.percent)+"% ",1)],4)),i.noData?Ne("",!0):(V(),Y("div",{key:1,class:"chart-item chart-item--grid d-flex justify-content-center align-items-center text-white flex-shrink-1",style:Ke({width:`${100-i.percent}%`})},[T("span",HL,K(100-i.percent)+"% ",1)],4)),i.noData?(V(),Y("div",BL,[T("span",null,K(e.$t("footer.savings.modalNoData")),1)])):Ne("",!0)])]),T("p",jL,[Re(K(e.$t("footer.savings.modalSavingsPrice"))+": ",1),T("strong",null,K(e.fmtPricePerKWh(n.effectivePrice,n.currency)),1),VL,Re(" "+K(e.$t("footer.savings.modalSavingsTotal"))+": ",1),T("strong",null,K(e.fmtMoney(n.amount,n.currency)),1)]),T("p",UL,[T("a",WL,K(e.$t("footer.savings.modalExplaination")),1),zL,T("span",KL,K(e.$t("footer.savings.modalExplainationGrid",{gridPrice:e.fmtPricePerKWh(n.gridPrice,n.currency)})),1),YL,T("span",qL,K(e.$t("footer.savings.modalExplainationFeedIn",{feedInPrice:e.fmtPricePerKWh(n.feedInPrice,n.currency)})),1),GL,Re(" "+K(e.$t("footer.savings.modalServerStart",{since:e.fmtTimeAgo(i.secondsSinceStart())})),1)]),XL,se(o,{sponsor:n.sponsor},null,8,["sponsor"])])])])],512)]))])}var QL=Ie(yL,[["render",JL],["__scopeId","data-v-25484235"]]);const ZL={name:"Footer",components:{Version:eL,Savings:QL},props:{version:Object,sponsor:String,savings:Object},methods:{toggleHiddenFeatures(){const e=`\u{1F9EA} Experimentelle UI-Elemente ${this.$hiddenFeatures?"deaktivieren":"aktivieren"}`;window.confirm(e)&&(window.localStorage.hidden_features=!this.$hiddenFeatures,window.location.reload())}}},eN={class:"footer"},tN={class:"container py-2"},nN={class:"d-flex justify-content-between"};function rN(e,t,n,r,s,i){const o=Ce("Version"),a=Ce("Savings");return V(),Y("footer",eN,[T("div",tN,[T("div",nN,[se(o,dt(rt(n.version)),null,16),se(a,Mt(n.savings,{sponsor:n.sponsor}),null,16,["sponsor"])])])])}var sN=Ie(ZL,[["render",rN],["__scopeId","data-v-2d04e571"]]);const iN={name:"Site",components:{Loadpoints:Jk,Energyflow:Xf,Footer:sN,Notifications:$C,TopNavigation:hC,Vehicles:lO},mixins:[hn,yr],props:{loadpoints:Array,notifications:Array,gridConfigured:Boolean,gridPower:Number,homePower:Number,pvConfigured:Boolean,pvPower:Number,batteryConfigured:Boolean,batteryPower:Number,batterySoC:Number,gridCurrents:Array,prioritySoC:Number,siteTitle:String,auth:Object,currency:String,savingsAmount:Number,savingsEffectivePrice:Number,savingsGridCharged:Number,savingsSelfConsumptionCharged:Number,savingsSelfConsumptionPercent:Number,savingsSince:Number,savingsTotalCharged:Number,tariffFeedIn:Number,tariffGrid:Number,availableVersion:String,releaseNotes:String,hasUpdater:Boolean,uploadMessage:String,uploadProgress:Number,sponsor:String},computed:{energyflow:function(){return this.collectProps(Xf)},activeLoadpointsCount:function(){return this.loadpoints.filter(e=>e.chargePower>0).length},loadpointsPower:function(){return this.loadpoints.reduce((e,t)=>(e+=t.chargePower||0,e),0)},topNavigation:function(){return{vehicleLogins:this.auth?this.auth.vehicles:{}}},footer:function(){return{version:{installed:window.evcc.version,commit:window.evcc.commit,available:this.availableVersion,releaseNotes:this.releaseNotes,hasUpdater:this.hasUpdater,uploadMessage:this.uploadMessage,uploadProgress:this.uploadProgress},sponsor:this.sponsor,savings:{since:this.savingsSince,totalCharged:this.savingsTotalCharged,gridCharged:this.savingsGridCharged,selfConsumptionCharged:this.savingsSelfConsumptionCharged,amount:this.savingsAmount,effectivePrice:this.savingsEffectivePrice,selfConsumptionPercent:this.savingsSelfConsumptionPercent,gridPrice:this.tariffGrid,feedInPrice:this.tariffFeedIn,currency:this.currency}}}}},oN={class:"d-flex flex-column site"},aN={class:"container px-4 top-area"},lN={class:"d-flex justify-content-between align-items-center my-3"},cN={class:"d-block my-0"},uN={class:"d-flex"},fN={class:"d-flex flex-column justify-content-between content-area pt-4"};function dN(e,t,n,r,s,i){const o=Ce("Notifications"),a=Ce("TopNavigation"),l=Ce("Energyflow"),c=Ce("Loadpoints"),u=Ce("Vehicles"),f=Ce("Footer");return V(),Y("div",oN,[T("div",aN,[T("div",lN,[T("h1",cN,K(n.siteTitle||"evcc"),1),T("div",uN,[se(o,{notifications:n.notifications,class:"me-2"},null,8,["notifications"]),se(a,dt(rt(i.topNavigation)),null,16)])]),se(l,dt(rt(i.energyflow)),null,16)]),T("div",fN,[se(c,{class:"mt-1 mt-sm-2 flex-grow-1",loadpoints:n.loadpoints},null,8,["loadpoints"]),e.$hiddenFeatures?(V(),Je(u,{key:0})):Ne("",!0),se(f,dt(rt(i.footer)),null,16)])])}var hN=Ie(iN,[["render",dN],["__scopeId","data-v-443f1cc2"]]);const mN={name:"Main",components:{Site:hN},props:{notifications:Array},data:function(){return Za},computed:{configured:function(){const e=window.evcc.configured;return e==window.evcc.configured||!isNaN(parseInt(e))&&parseInt(e)>0}}},pN={key:1,class:"container"},gN=gm(`

Willkommen bei evcc

evcc ist dient zur flexiblen Ladesteuerung von Elektrofahrzeugen.

Es sieht aus, als w\xE4re Dein evcc noch nicht konfiguriert. Um evcc zu konfigurieren sind die folgenden Schritte notwendig:

  1. Erzeugen einer Konfigurationsdatei mit Namen evcc.yaml. Die Standardkonfiguration evcc.dist.yaml kann daf\xFCr als Vorlage dienen (Download).
  2. Konfiguration der Wallbox als chargers.
  3. Konfiguration des EVU Z\xE4hlers und evtl. weiterer Z\xE4hler unter meters.
  4. Konfiguration des Netzanschlusses unter site. In einer Site wird der Netzanschluss mit dem konfigurierten EVU Z\xE4hler (meter) verbunden.
  5. Konfiguration eines Ladepunktes unter loadpoints. In einem Ladepunkt wird die konfigurierte Wallbox (charger) mit dem Ladepunkt verbunden.
  6. Start von evcc mit der neu erstellten Konfiguration: evcc -c evcc.yaml

Minimale Beispielkonfiguration f\xFCr evcc:

                uri: localhost:7070 # Adresse f\xFCr UI
+					${e.fmtShortDurationUnit(s.chargeDurationInterpolated)}`},null,8,["label","value"]))]),se(c,Mt(i.vehicle,{onTargetSocUpdated:i.setTargetSoC,onTargetTimeUpdated:i.setTargetTime,onTargetTimeRemoved:i.removeTargetTime}),null,16,["onTargetSocUpdated","onTargetTimeUpdated","onTargetTimeRemoved"])])}var Vk=Ie(Nk,[["render",jk],["__scopeId","data-v-5164c12c"]]);const Uk={name:"Site",components:{Loadpoint:Vk},mixins:[yr],props:{loadpoints:Array},data(){return{selectedIndex:0,snapTimeout:null}},mounted(){this.$refs.carousel.addEventListener("scroll",this.handleCarouselScroll,!1)},unmounted(){this.$refs.carousel.removeEventListener("scroll",this.handleCarouselScroll)},methods:{handleCarouselScroll(){const{scrollLeft:e}=this.$refs.carousel,{offsetWidth:t}=this.$refs.carousel.children[0];this.selectedIndex=Math.round((e-7.5)/t)},selected(e){return this.selectedIndex===e},scrollTo(e){if(this.selectedIndex===e)return;this.selectedIndex=e;const t=this.$refs.carousel,n=t.children[0].offsetWidth;t.style.scrollSnapType="none",t.scrollTo({top:0,left:7.5+n*e,behavior:"smooth"}),clearTimeout(this.snapTimeout),this.snapTimeout=setTimeout(()=>{this.$refs.carousel.style.scrollSnapType="x mandatory"},1e3)}}},Wk=e=>(Ft("data-v-34f3ca44"),e=e(),Ht(),e),zk={class:"container container--loadpoint px-0 mb-md-2 d-flex flex-column justify-content-center"},Kk={ref:"carousel",class:"carousel d-lg-flex flex-wrap"},Yk={key:0,class:"d-flex d-lg-none justify-content-center"},qk=["onClick"],Gk=Wk(()=>T("shopicon-filled-circle",{class:"indicator-icon"},null,-1)),Xk=[Gk];function Jk(e,t,n,r,s,i){const o=Ce("Loadpoint");return V(),Y("div",zk,[T("div",Kk,[(V(!0),Y(Pe,null,Zt(n.loadpoints,(a,l)=>(V(),Y("div",{key:l,class:"flex-grow-1 mb-3 m-lg-0 p-lg-0"},[se(o,Mt(a,{id:l,class:["h-100",{"loadpoint-unselected":!i.selected(l)}],onClick:c=>i.scrollTo(l)}),null,16,["id","class","onClick"])]))),128))],512),n.loadpoints.length>1?(V(),Y("div",Yk,[(V(!0),Y(Pe,null,Zt(n.loadpoints,(a,l)=>(V(),Y("button",{key:l,class:xe(["btn btn-sm btn-link p-0 mx-1 indicator d-flex justify-content-center align-items-center text-white",{"indicator--selected":i.selected(l)}]),onClick:c=>i.scrollTo(l)},Xk,10,qk))),128))])):Ne("",!0)])}var Qk=Ie(Uk,[["render",Jk],["__scopeId","data-v-34f3ca44"]]),Zk='';class eO extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=Zk}}window.customElements.define("shopicon-regular-refresh",eO);const tO={name:"Vehicles",components:{Vehicle:sl},mixins:[yr],data(){return{refreshing:!1,vehicles:[{vehiclePresent:!0,vehicleTitle:"Ford Mustang Mach-E",vehicleSoC:46,vehicleRange:182,targetSoC:100},{vehiclePresent:!0,vehicleTitle:"Renault Twingo Electric",vehicleSoC:77,vehicleRange:98,targetSoC:90},{vehiclePresent:!0,vehicleTitle:"Blauer VW ID.4",vehicleSoC:16,vehicleRange:52,minSoC:35,targetSoC:60}]}},methods:{refresh(){this.refreshing=!0,window.setTimeout(()=>{this.refreshing=!1},5e3)}}},nO=e=>(Ft("data-v-62696742"),e=e(),Ht(),e),rO={class:"container px-4 mb-3 mb-sm-4 d-flex justify-content-start align-items-center"},sO={class:"m-0"},iO=["disabled"],oO=nO(()=>T("shopicon-regular-refresh",{class:"refresh-icon"},null,-1)),aO=[oO];function lO(e,t,n,r,s,i){const o=Ce("Vehicle");return V(),Y("div",null,[T("div",rO,[T("h2",sO,K(e.$t("main.vehicles")),1),T("button",{class:xe(["btn btn-link d-flex text-white p-2 ms-1 refresh",{"refresh--in-progress":s.refreshing}]),disabled:s.refreshing,onClick:t[0]||(t[0]=(...a)=>i.refresh&&i.refresh(...a))},aO,10,iO)]),T("div",{class:xe(["container vehicles px-0 mb-5",`vehicles-${s.vehicles.length}`])},[(V(!0),Y(Pe,null,Zt(s.vehicles,(a,l)=>(V(),Je(o,Mt(a,{id:`vehicle_${l}`,key:l,class:"vehicle",parked:""}),null,16,["id"]))),128))],2)])}var cO=Ie(tO,[["render",lO],["__scopeId","data-v-62696742"]]),uO='';class fO extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=uO}}window.customElements.define("shopicon-filled-testtube",fO);const dO={name:"Logo"},hO={viewBox:"0 0 122 35",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd","stroke-linejoin":"round","stroke-miterlimit":"2"},mO=T("path",{d:"M13.082 29.071a12.384 12.384 0 01-9-3.42 12.192 12.192 0 01-3.54-9.12v-.64a15.394 15.394 0 011.47-6.83 10.825 10.825 0 014.17-4.64 11.64 11.64 0 016.15-1.63 10.45 10.45 0 018.21 3.26c2 2.194 3 5.297 3 9.31v2.76H7.382a6.348 6.348 0 002 4 5.997 5.997 0 004.16 1.49 7.305 7.305 0 006.1-2.84l3.31 3.73a10 10 0 01-4.13 3.39 13.309 13.309 0 01-5.74 1.18zm-.77-20.84a4.216 4.216 0 00-3.26 1.37 7.141 7.141 0 00-1.6 3.91h9.39v-.55a5.005 5.005 0 00-1.22-3.49 4.304 4.304 0 00-3.31-1.24zM36.452 20.331l4.7-17.09h7l-8.48 25.36h-6.44l-8.52-25.36h7l4.74 17.09zM85.542 23.611a4.444 4.444 0 003-1 3.638 3.638 0 001.22-2.75h6.32a8.668 8.668 0 01-1.4 4.73 9.145 9.145 0 01-3.79 3.3 11.736 11.736 0 01-5.29 1.19 10.912 10.912 0 01-8.54-3.46c-2.087-2.3-3.13-5.483-3.13-9.55v-.45c0-3.9 1.033-7.016 3.1-9.35a10.868 10.868 0 018.51-3.5c2.791-.134 5.524.84 7.6 2.71a9.626 9.626 0 012.9 7.21h-6.3a4.663 4.663 0 00-1.2-3.22 4.005 4.005 0 00-3.08-1.24 4.068 4.068 0 00-3.56 1.73c-.8 1.15-1.2 3-1.2 5.6v.7c0 2.61.39 4.49 1.19 5.63a4.092 4.092 0 003.65 1.72zM110.422 23.611a4.454 4.454 0 003-1 3.63 3.63 0 001.21-2.75h6.33a8.668 8.668 0 01-1.4 4.73 9.143 9.143 0 01-3.73 3.3 11.76 11.76 0 01-5.29 1.18 10.912 10.912 0 01-8.54-3.46c-2.087-2.3-3.13-5.483-3.13-9.55v-.45c0-3.9 1.033-7.016 3.1-9.35a10.85 10.85 0 018.57-3.49 10.575 10.575 0 017.6 2.71 9.598 9.598 0 012.91 7.21h-6.33a4.651 4.651 0 00-1.21-3.22 4.492 4.492 0 00-6.64.49c-.8 1.15-1.21 3-1.21 5.6v.7c0 2.607.4 4.484 1.2 5.63a4.09 4.09 0 003.56 1.72z",fill:"#fff","fill-rule":"nonzero"},null,-1),pO=T("path",{d:"M58.462.751h9.22l-6.14 12.3h6.15l-11.53 21.51 2.3-15.36h-7.68l7.68-18.45z",fill:"#0fdd42","fill-rule":"nonzero"},null,-1),gO=T("path",{fill:"none",d:"M-24.458-22.109h170v76h-170z"},null,-1),_O=[mO,pO,gO];function vO(e,t,n,r,s,i){return V(),Y("svg",hO,_O)}var bO=Ie(dO,[["render",vO]]),yO='';class EO extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=yO}}window.customElements.define("shopicon-regular-gift",EO);var wO='';class TO extends HTMLElement{connectedCallback(){this.setAttribute("data-shopicon",!0),this.innerHTML=wO}}window.customElements.define("shopicon-regular-moonstars",TO);const SO={name:"Version",components:{Logo:bO},props:{installed:String,available:String,releaseNotes:String,commit:String,hasUpdater:Boolean,uploadMessage:String,uploadProgress:Number},data:function(){return{updateStarted:!1,updateStatus:""}},computed:{githubHashUrl:function(){return`https://github.com/evcc-io/evcc/commit/${this.commit}`},newVersionAvailable:function(){return this.available&&this.installed!="[[.Version]]"&&this.installed!="0.0.1-alpha"&&this.available!=this.installed}},methods:{update:async function(){try{await er.post("update"),this.updateStatus=this.$t("footer.version.modalUpdateStatusStart"),this.updateStarted=!0}catch(e){this.updateStatus=this.$t("footer.version.modalUpdateStatusStart")+e}},releaseNotesUrl:function(e){return`https://github.com/evcc-io/evcc/releases/tag/${e}`}}},zo=e=>(Ft("data-v-78dcbc78"),e=e(),Ht(),e),CO=["href"],AO=zo(()=>T("shopicon-regular-moonstars",{class:"ms-2 text-gray-light"},null,-1)),kO={class:"ms-2 text-gray-light d-none d-sm-inline"},OO={key:1,href:"#","data-bs-toggle":"modal","data-bs-target":"#updateModal",class:"btn btn-link ps-0 text-decoration-none text-white text-nowrap d-flex align-items-end"},LO=zo(()=>T("shopicon-regular-gift",{class:"me-2 text-evcc"},null,-1)),NO={class:"ms-2 d-none d-xs-block d-sm-none text-decoration-underline"},$O={class:"ms-2 d-none d-sm-block text-gray-medium text-decoration-underline"},PO=["href"],xO={id:"updateModal",class:"modal fade text-dark",tabindex:"-1",role:"dialog","aria-hidden":"true"},IO={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},MO={class:"modal-content"},RO={class:"modal-header"},DO={class:"modal-title"},FO=zo(()=>T("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1)),HO={class:"modal-body"},BO={key:0},jO={class:"progress my-3"},VO={key:1},UO=["innerHTML"],WO={key:1},zO=["href"],KO=Re(". "),YO={class:"modal-footer d-flex justify-content-between"},qO=["disabled"],GO=["disabled"],XO={key:0},JO=zo(()=>T("span",{class:"spinner-border spinner-border-sm",role:"status","aria-hidden":"true"},null,-1)),QO={key:1},ZO=["href"];function eL(e,t,n,r,s,i){const o=Ce("Logo");return V(),Y("div",null,[n.commit?(V(),Y("a",{key:0,href:i.githubHashUrl,target:"_blank",class:"btn btn-link ps-0 text-decoration-none text-white text-nowrap d-flex align-items-end"},[se(o,{class:"logo me-2"}),Re(" v"+K(n.installed)+" ",1),AO,T("span",kO,"["+K(n.commit)+"]",1)],8,CO)):i.newVersionAvailable?(V(),Y("button",OO,[LO,Re(" v"+K(n.installed)+" ",1),T("span",NO,K(e.$t("footer.version.availableShort")),1),T("span",$O,K(e.$t("footer.version.availableLong")),1)])):(V(),Y("a",{key:2,href:i.releaseNotesUrl(n.installed),target:"_blank",class:"btn btn-link text-white ps-0 text-decoration-none text-nowrap d-flex align-items-end"},[se(o,{class:"logo me-2"}),Re(" v"+K(n.installed),1)],8,PO)),T("div",xO,[T("div",IO,[T("div",MO,[T("div",RO,[T("h5",DO,K(e.$t("footer.version.modalTitle")),1),FO]),T("div",HO,[e.updateStarted?(V(),Y("div",BO,[T("p",null,K(e.$t("footer.version.modalUpdateStarted")),1),T("div",jO,[T("div",{class:"progress-bar progress-bar-striped progress-bar-animated",role:"progressbar",style:Ke({width:n.uploadProgress+"%"})},null,4)]),T("p",null,K(e.updateStatus)+K(n.uploadMessage),1)])):(V(),Y("div",VO,[T("p",null,[T("small",null,K(e.$t("footer.version.modalInstalledVersion"))+": "+K(n.installed),1)]),n.releaseNotes?(V(),Y("div",{key:0,innerHTML:n.releaseNotes},null,8,UO)):(V(),Y("p",WO,[Re(K(e.$t("footer.version.modalNoReleaseNotes"))+" ",1),T("a",{href:i.releaseNotesUrl(n.available)},"GitHub",8,zO),KO]))]))]),T("div",YO,[T("button",{type:"button",class:"btn btn-outline-secondary",disabled:e.updateStarted,"data-bs-dismiss":"modal"},K(e.$t("footer.version.modalCancel")),9,qO),T("div",null,[n.hasUpdater?(V(),Y("button",{key:0,type:"button",class:"btn btn-primary",disabled:e.updateStarted,onClick:t[0]||(t[0]=(...a)=>i.update&&i.update(...a))},[e.updateStarted?(V(),Y("span",XO,[JO,Re(" "+K(e.$t("footer.version.modalUpdate")),1)])):(V(),Y("span",QO,K(e.$t("footer.version.modalUpdateNow")),1))],8,GO)):(V(),Y("a",{key:1,href:i.releaseNotesUrl(n.available),class:"btn btn-primary"},K(e.$t("footer.version.modalDownload")),9,ZO))])])])])])])}var tL=Ie(SO,[["render",eL],["__scopeId","data-v-78dcbc78"]]),hi={};(function e(t,n,r,s){var i=!!(t.Worker&&t.Blob&&t.Promise&&t.OffscreenCanvas&&t.OffscreenCanvasRenderingContext2D&&t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype.transferControlToOffscreen&&t.URL&&t.URL.createObjectURL);function o(){}function a(P){var x=n.exports.Promise,Z=x!==void 0?x:t.Promise;return typeof Z=="function"?new Z(P):(P(o,o),null)}var l=function(){var P=Math.floor(16.666666666666668),x,Z,ee={},oe=0;return typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function"?(x=function(le){var ue=Math.random();return ee[ue]=requestAnimationFrame(function pe(ve){oe===ve||oe+P-1(Ft("data-v-a477dba0"),e=e(),Ht(),e),lL={key:0},cL={class:"mb-3"},uL={class:"d-flex justify-content-center align-items-center flex-column"},fL=Op(()=>T("shopicon-regular-heart",{class:"me-1 d-inline-block"},null,-1)),dL={href:"https://evcc.io/sticker",target:"_blank",class:"small text-muted"},hL={key:1},mL={class:"mb-3"},pL={class:"d-flex justify-content-center align-items-center flex-column"},gL={target:"_blank",href:"https://github.com/sponsors/andig",class:"btn btn-outline-primary mb-2 w-75"},_L=Op(()=>T("shopicon-regular-heart",{class:"me-1 d-inline-block"},null,-1)),vL={class:"small text-muted text-center"};function bL(e,t,n,r,s,i){return n.sponsor?(V(),Y("div",lL,[T("p",cL,K(e.$t("footer.sponsor.thanks",{sponsor:n.sponsor})),1),T("div",uL,[T("button",{ref:"confetti",class:"btn btn btn-outline-primary mb-2 confetti-button bg-evcc w-75 rounded",onClick:t[0]||(t[0]=(...o)=>i.surprise&&i.surprise(...o))},[fL,Re(" "+K(e.$t("footer.sponsor.confetti")),1)],512),T("a",dL,K(e.$t("footer.sponsor.sticker")),1)])])):(V(),Y("div",hL,[T("p",mL,K(e.$t("footer.sponsor.supportUs")),1),T("div",pL,[T("a",gL,[_L,Re(" "+K(e.$t("footer.sponsor.becomeSponsor")),1)]),T("div",vL,K(e.$t("footer.sponsor.confettiPromise")),1)])]))}var yL=Ie(aL,[["render",bL],["__scopeId","data-v-a477dba0"]]);const EL={name:"Savings",components:{Sponsor:yL},mixins:[hn],props:{selfConsumptionPercent:Number,since:{type:Number,default:0},sponsor:String,amount:{type:Number,default:0},effectivePrice:{type:Number,default:0},totalCharged:{type:Number,default:0},gridCharged:{type:Number,default:0},selfConsumptionCharged:{type:Number,default:0},gridPrice:{type:Number},feedInPrice:{type:Number},currency:String},computed:{percent(){return Math.round(this.selfConsumptionPercent)||0},noData(){return this.totalCharged===0}},methods:{secondsSinceStart(){return this.since*1e3-Date.now()}}},mi=e=>(Ft("data-v-25484235"),e=e(),Ht(),e),wL={class:"btn btn-link pe-0 text-decoration-none text-white text-nowrap d-flex align-items-end","data-bs-toggle":"modal","data-bs-target":"#savingsModal"},TL={class:"d-inline d-sm-none"},SL={class:"d-none d-sm-inline"},CL=mi(()=>T("shopicon-regular-sun",{class:"ms-2 text-evcc"},null,-1)),AL={id:"savingsModal",ref:"modal",class:"modal fade text-dark","data-bs-backdrop":"true",tabindex:"-1",role:"dialog","aria-hidden":"true"},kL={class:"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable",role:"document"},OL={class:"modal-content"},LL={class:"modal-header"},NL={class:"modal-title"},$L={class:"text-nowrap"},PL=Re(" "+K(" ")+" "),xL={class:"text-nowrap"},IL=mi(()=>T("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1)),ML={class:"modal-body py-4"},RL={class:"chart-container mb-3"},DL={class:"chart-legend d-flex flex-wrap justify-content-between mb-1"},FL={class:"chart d-flex justify-content-stretch mb-1 rounded overflow-hidden"},HL={class:"text-truncate"},BL={class:"text-truncate"},jL={key:2,class:"chart-item chart-item--no-data d-flex justify-content-center align-items-center text-white w-100"},VL={class:"mb-3"},UL=mi(()=>T("br",null,null,-1)),WL={class:"small text-muted mb-3"},zL={href:"https://docs.evcc.io/docs/guides/setup/#ersparnisberechnung",target:"_blank",class:"small"},KL=Re(": "),YL={class:"text-nowrap"},qL=Re(", "),GL={class:"text-nowrap"},XL=mi(()=>T("br",null,null,-1)),JL=mi(()=>T("hr",{class:"mb-4"},null,-1));function QL(e,t,n,r,s,i){const o=Ce("Sponsor");return V(),Y("div",null,[T("button",wL,[T("span",TL,K(e.$t("footer.savings.footerShort",{percent:i.percent})),1),T("span",SL,K(e.$t("footer.savings.footerLong",{percent:i.percent})),1),CL]),(V(),Je(Mo,{to:"body"},[T("div",AL,[T("div",kL,[T("div",OL,[T("div",LL,[T("h5",NL,[T("span",$L,K(e.$t("footer.savings.modalTitlePartOne",{total:e.fmtKw(n.totalCharged*1e3,!0,!1)}))+" \xB7 ",1),PL,T("span",xL,K(e.$t("footer.savings.modalTitlePartTwo",{percent:i.percent})),1)]),IL]),T("div",ML,[T("div",RL,[T("div",DL,[T("div",{class:xe(["text-nowrap",{"text-gray-medium":i.noData}])},[T("shopicon-filled-square",{class:xe(["text-evcc d-inline-block",{"text-gray-medium":i.noData}])},null,2),Re(" "+K(e.$t("footer.savings.modalChartSelf",{self:e.fmtKw(n.selfConsumptionCharged*1e3,!0,!1)})),1)],2),T("div",{class:xe(["text-nowrap",{"text-gray-medium":i.noData}])},[Re(K(e.$t("footer.savings.modalChartGrid",{grid:e.fmtKw(n.gridCharged*1e3,!0,!1)}))+" ",1),T("shopicon-filled-square",{class:xe(["text-grid d-inline-block",{"text-gray-medium":i.noData}])},null,2)],2)]),T("div",FL,[i.noData?Ne("",!0):(V(),Y("div",{key:0,class:"chart-item chart-item--self d-flex justify-content-center align-items-center text-white flex-shrink-1",style:Ke({width:`${i.percent}%`})},[T("span",HL,K(i.percent)+"% ",1)],4)),i.noData?Ne("",!0):(V(),Y("div",{key:1,class:"chart-item chart-item--grid d-flex justify-content-center align-items-center text-white flex-shrink-1",style:Ke({width:`${100-i.percent}%`})},[T("span",BL,K(100-i.percent)+"% ",1)],4)),i.noData?(V(),Y("div",jL,[T("span",null,K(e.$t("footer.savings.modalNoData")),1)])):Ne("",!0)])]),T("p",VL,[Re(K(e.$t("footer.savings.modalSavingsPrice"))+": ",1),T("strong",null,K(e.fmtPricePerKWh(n.effectivePrice,n.currency)),1),UL,Re(" "+K(e.$t("footer.savings.modalSavingsTotal"))+": ",1),T("strong",null,K(e.fmtMoney(n.amount,n.currency)),1)]),T("p",WL,[T("a",zL,K(e.$t("footer.savings.modalExplaination")),1),KL,T("span",YL,K(e.$t("footer.savings.modalExplainationGrid",{gridPrice:e.fmtPricePerKWh(n.gridPrice,n.currency)})),1),qL,T("span",GL,K(e.$t("footer.savings.modalExplainationFeedIn",{feedInPrice:e.fmtPricePerKWh(n.feedInPrice,n.currency)})),1),XL,Re(" "+K(e.$t("footer.savings.modalServerStart",{since:e.fmtTimeAgo(i.secondsSinceStart())})),1)]),JL,se(o,{sponsor:n.sponsor},null,8,["sponsor"])])])])],512)]))])}var ZL=Ie(EL,[["render",QL],["__scopeId","data-v-25484235"]]);const eN={name:"Footer",components:{Version:tL,Savings:ZL},props:{version:Object,sponsor:String,savings:Object},methods:{toggleHiddenFeatures(){const e=`\u{1F9EA} Experimentelle UI-Elemente ${this.$hiddenFeatures?"deaktivieren":"aktivieren"}`;window.confirm(e)&&(window.localStorage.hidden_features=!this.$hiddenFeatures,window.location.reload())}}},tN={class:"footer"},nN={class:"container py-2"},rN={class:"d-flex justify-content-between"};function sN(e,t,n,r,s,i){const o=Ce("Version"),a=Ce("Savings");return V(),Y("footer",tN,[T("div",nN,[T("div",rN,[se(o,dt(rt(n.version)),null,16),se(a,Mt(n.savings,{sponsor:n.sponsor}),null,16,["sponsor"])])])])}var iN=Ie(eN,[["render",sN],["__scopeId","data-v-2d04e571"]]);const oN={name:"Site",components:{Loadpoints:Qk,Energyflow:Xf,Footer:iN,Notifications:PC,TopNavigation:mC,Vehicles:cO},mixins:[hn,yr],props:{loadpoints:Array,notifications:Array,gridConfigured:Boolean,gridPower:Number,homePower:Number,pvConfigured:Boolean,pvPower:Number,batteryConfigured:Boolean,batteryPower:Number,batterySoC:Number,gridCurrents:Array,prioritySoC:Number,siteTitle:String,auth:Object,currency:String,savingsAmount:Number,savingsEffectivePrice:Number,savingsGridCharged:Number,savingsSelfConsumptionCharged:Number,savingsSelfConsumptionPercent:Number,savingsSince:Number,savingsTotalCharged:Number,tariffFeedIn:Number,tariffGrid:Number,availableVersion:String,releaseNotes:String,hasUpdater:Boolean,uploadMessage:String,uploadProgress:Number,sponsor:String},computed:{energyflow:function(){return this.collectProps(Xf)},activeLoadpointsCount:function(){return this.loadpoints.filter(e=>e.chargePower>0).length},loadpointsPower:function(){return this.loadpoints.reduce((e,t)=>(e+=t.chargePower||0,e),0)},topNavigation:function(){return{vehicleLogins:this.auth?this.auth.vehicles:{}}},footer:function(){return{version:{installed:window.evcc.version,commit:window.evcc.commit,available:this.availableVersion,releaseNotes:this.releaseNotes,hasUpdater:this.hasUpdater,uploadMessage:this.uploadMessage,uploadProgress:this.uploadProgress},sponsor:this.sponsor,savings:{since:this.savingsSince,totalCharged:this.savingsTotalCharged,gridCharged:this.savingsGridCharged,selfConsumptionCharged:this.savingsSelfConsumptionCharged,amount:this.savingsAmount,effectivePrice:this.savingsEffectivePrice,selfConsumptionPercent:this.savingsSelfConsumptionPercent,gridPrice:this.tariffGrid,feedInPrice:this.tariffFeedIn,currency:this.currency}}}}},aN={class:"d-flex flex-column site"},lN={class:"container px-4 top-area"},cN={class:"d-flex justify-content-between align-items-center my-3"},uN={class:"d-block my-0"},fN={class:"d-flex"},dN={class:"d-flex flex-column justify-content-between content-area pt-4"};function hN(e,t,n,r,s,i){const o=Ce("Notifications"),a=Ce("TopNavigation"),l=Ce("Energyflow"),c=Ce("Loadpoints"),u=Ce("Vehicles"),f=Ce("Footer");return V(),Y("div",aN,[T("div",lN,[T("div",cN,[T("h1",uN,K(n.siteTitle||"evcc"),1),T("div",fN,[se(o,{notifications:n.notifications,class:"me-2"},null,8,["notifications"]),se(a,dt(rt(i.topNavigation)),null,16)])]),se(l,dt(rt(i.energyflow)),null,16)]),T("div",dN,[se(c,{class:"mt-1 mt-sm-2 flex-grow-1",loadpoints:n.loadpoints},null,8,["loadpoints"]),e.$hiddenFeatures?(V(),Je(u,{key:0})):Ne("",!0),se(f,dt(rt(i.footer)),null,16)])])}var mN=Ie(oN,[["render",hN],["__scopeId","data-v-443f1cc2"]]);const pN={name:"Main",components:{Site:mN},props:{notifications:Array},data:function(){return Za},computed:{configured:function(){const e=window.evcc.configured;return e==window.evcc.configured||!isNaN(parseInt(e))&&parseInt(e)>0}}},gN={key:1,class:"container"},_N=gm(`

Willkommen bei evcc

evcc ist dient zur flexiblen Ladesteuerung von Elektrofahrzeugen.

Es sieht aus, als w\xE4re Dein evcc noch nicht konfiguriert. Um evcc zu konfigurieren sind die folgenden Schritte notwendig:

  1. Erzeugen einer Konfigurationsdatei mit Namen evcc.yaml. Die Standardkonfiguration evcc.dist.yaml kann daf\xFCr als Vorlage dienen (Download).
  2. Konfiguration der Wallbox als chargers.
  3. Konfiguration des EVU Z\xE4hlers und evtl. weiterer Z\xE4hler unter meters.
  4. Konfiguration des Netzanschlusses unter site. In einer Site wird der Netzanschluss mit dem konfigurierten EVU Z\xE4hler (meter) verbunden.
  5. Konfiguration eines Ladepunktes unter loadpoints. In einem Ladepunkt wird die konfigurierte Wallbox (charger) mit dem Ladepunkt verbunden.
  6. Start von evcc mit der neu erstellten Konfiguration: evcc -c evcc.yaml

Minimale Beispielkonfiguration f\xFCr evcc:

                uri: localhost:7070 # Adresse f\xFCr UI
                 interval: 10s # Regelintervall
                 meters:
                 - name: evu-z\xE4hler
@@ -50,26 +50,26 @@ var ng=Object.defineProperty,rg=Object.defineProperties;var sg=Object.getOwnProp
                   charger: wallbox # charger
                   meters:
                     charge: ladez\xE4hler # Ladez\xE4hlers (optional)
-              

Viel Spass mit evcc! Bei Problemen kannst Du uns auf GitHub erreichen.

`,1),_N=[gN];function vN(e,t,n,r,s,i){const o=Ce("Site");return V(),Y("div",null,[i.configured?(V(),Je(o,Mt({key:0,notifications:n.notifications},e.state),null,16,["notifications"])):(V(),Y("div",pN,_N))])}var bN=Ie(mN,[["render",vN]]),yN=VS({history:sS(),routes:[{path:"/",component:bN,props:!0}]}),Lp={exports:{}},mn={};/*! +

Viel Spass mit evcc! Bei Problemen kannst Du uns auf GitHub erreichen.

`,1),vN=[_N];function bN(e,t,n,r,s,i){const o=Ce("Site");return V(),Y("div",null,[i.configured?(V(),Je(o,Mt({key:0,notifications:n.notifications},e.state),null,16,["notifications"])):(V(),Y("div",gN,vN))])}var yN=Ie(pN,[["render",bN]]),EN=US({history:iS(),routes:[{path:"/",component:yN,props:!0}]}),Lp={exports:{}},mn={};/*! * @intlify/shared v9.1.10 * (c) 2022 kazuya kawaguchi * Released under the MIT License. - */const EN=typeof window!="undefined";let wN,TN;const SN=/\{([0-9a-zA-Z]+)\}/g;function Np(e,...t){return t.length===1&&Jt(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(SN,(n,r)=>t.hasOwnProperty(r)?t[r]:"")}const CN=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol",AN=e=>CN?Symbol(e):e,$p=(e,t,n)=>Pp({l:e,k:t,s:n}),Pp=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),st=e=>typeof e=="number"&&isFinite(e),xp=e=>Yo(e)==="[object Date]",il=e=>Yo(e)==="[object RegExp]",Ko=e=>De(e)&&Object.keys(e).length===0;function Ip(e,t){typeof console!="undefined"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Bn=Object.assign;let rd;const Mp=()=>rd||(rd=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});function ol(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const kN=Object.prototype.hasOwnProperty;function ON(e,t){return kN.call(e,t)}const ln=Array.isArray,it=e=>typeof e=="function",_e=e=>typeof e=="string",ot=e=>typeof e=="boolean",LN=e=>typeof e=="symbol",Jt=e=>e!==null&&typeof e=="object",NN=e=>Jt(e)&&it(e.then)&&it(e.catch),Sc=Object.prototype.toString,Yo=e=>Sc.call(e),De=e=>Yo(e)==="[object Object]",Rp=e=>e==null?"":ln(e)||De(e)&&e.toString===Sc?JSON.stringify(e,null,2):String(e),sd=2;function $N(e,t=0,n=e.length){const r=e.split(/\r?\n/);let s=0;const i=[];for(let o=0;o=t){for(let a=o-sd;a<=o+sd||n>s;a++){if(a<0||a>=r.length)continue;const l=a+1;i.push(`${l}${" ".repeat(3-String(l).length)}| ${r[a]}`);const c=r[a].length;if(a===o){const u=t-(s-c)+1,f=Math.max(1,n>s?c-u:n-t);i.push(" | "+" ".repeat(u)+"^".repeat(f))}else if(a>o){if(n>s){const u=Math.max(Math.min(n-s,c),1);i.push(" | "+"^".repeat(u))}s+=c+1}}break}return i.join(` -`)}function PN(){const e=new Map;return{events:e,on(n,r){const s=e.get(n);s&&s.push(r)||e.set(n,[r])},off(n,r){const s=e.get(n);s&&s.splice(s.indexOf(r)>>>0,1)},emit(n,r){(e.get(n)||[]).slice().map(s=>s(r)),(e.get("*")||[]).slice().map(s=>s(n,r))}}}var xN=Object.freeze(Object.defineProperty({__proto__:null,assign:Bn,createEmitter:PN,escapeHtml:ol,format:Np,friendlyJSONstringify:Pp,generateCodeFrame:$N,generateFormatCacheKey:$p,getGlobalThis:Mp,hasOwn:ON,inBrowser:EN,isArray:ln,isBoolean:ot,isDate:xp,isEmptyObject:Ko,isFunction:it,isNumber:st,isObject:Jt,isPlainObject:De,isPromise:NN,isRegExp:il,isString:_e,isSymbol:LN,makeSymbol:AN,mark:wN,measure:TN,objectToString:Sc,toDisplayString:Rp,toTypeString:Yo,warn:Ip},Symbol.toStringTag,{value:"Module"}));/*! + */const wN=typeof window!="undefined";let TN,SN;const CN=/\{([0-9a-zA-Z]+)\}/g;function Np(e,...t){return t.length===1&&Jt(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(CN,(n,r)=>t.hasOwnProperty(r)?t[r]:"")}const AN=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol",kN=e=>AN?Symbol(e):e,$p=(e,t,n)=>Pp({l:e,k:t,s:n}),Pp=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),st=e=>typeof e=="number"&&isFinite(e),xp=e=>Yo(e)==="[object Date]",il=e=>Yo(e)==="[object RegExp]",Ko=e=>De(e)&&Object.keys(e).length===0;function Ip(e,t){typeof console!="undefined"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Bn=Object.assign;let rd;const Mp=()=>rd||(rd=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});function ol(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const ON=Object.prototype.hasOwnProperty;function LN(e,t){return ON.call(e,t)}const ln=Array.isArray,it=e=>typeof e=="function",_e=e=>typeof e=="string",ot=e=>typeof e=="boolean",NN=e=>typeof e=="symbol",Jt=e=>e!==null&&typeof e=="object",$N=e=>Jt(e)&&it(e.then)&&it(e.catch),Sc=Object.prototype.toString,Yo=e=>Sc.call(e),De=e=>Yo(e)==="[object Object]",Rp=e=>e==null?"":ln(e)||De(e)&&e.toString===Sc?JSON.stringify(e,null,2):String(e),sd=2;function PN(e,t=0,n=e.length){const r=e.split(/\r?\n/);let s=0;const i=[];for(let o=0;o=t){for(let a=o-sd;a<=o+sd||n>s;a++){if(a<0||a>=r.length)continue;const l=a+1;i.push(`${l}${" ".repeat(3-String(l).length)}| ${r[a]}`);const c=r[a].length;if(a===o){const u=t-(s-c)+1,f=Math.max(1,n>s?c-u:n-t);i.push(" | "+" ".repeat(u)+"^".repeat(f))}else if(a>o){if(n>s){const u=Math.max(Math.min(n-s,c),1);i.push(" | "+"^".repeat(u))}s+=c+1}}break}return i.join(` +`)}function xN(){const e=new Map;return{events:e,on(n,r){const s=e.get(n);s&&s.push(r)||e.set(n,[r])},off(n,r){const s=e.get(n);s&&s.splice(s.indexOf(r)>>>0,1)},emit(n,r){(e.get(n)||[]).slice().map(s=>s(r)),(e.get("*")||[]).slice().map(s=>s(n,r))}}}var IN=Object.freeze(Object.defineProperty({__proto__:null,assign:Bn,createEmitter:xN,escapeHtml:ol,format:Np,friendlyJSONstringify:Pp,generateCodeFrame:PN,generateFormatCacheKey:$p,getGlobalThis:Mp,hasOwn:LN,inBrowser:wN,isArray:ln,isBoolean:ot,isDate:xp,isEmptyObject:Ko,isFunction:it,isNumber:st,isObject:Jt,isPlainObject:De,isPromise:$N,isRegExp:il,isString:_e,isSymbol:NN,makeSymbol:kN,mark:TN,measure:SN,objectToString:Sc,toDisplayString:Rp,toTypeString:Yo,warn:Ip},Symbol.toStringTag,{value:"Module"}));/*! * @intlify/message-resolver v9.1.10 * (c) 2022 kazuya kawaguchi * Released under the MIT License. - */const IN=Object.prototype.hasOwnProperty;function MN(e,t){return IN.call(e,t)}const Vi=e=>e!==null&&typeof e=="object",jn=[];jn[0]={w:[0],i:[3,0],["["]:[4],o:[7]};jn[1]={w:[1],["."]:[2],["["]:[4],o:[7]};jn[2]={w:[2],i:[3,0],["0"]:[3,0]};jn[3]={i:[3,0],["0"]:[3,0],w:[1,1],["."]:[2,1],["["]:[4,1],o:[7,1]};jn[4]={["'"]:[5,0],['"']:[6,0],["["]:[4,2],["]"]:[1,3],o:8,l:[4,0]};jn[5]={["'"]:[4,0],o:8,l:[5,0]};jn[6]={['"']:[4,0],o:8,l:[6,0]};const RN=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function DN(e){return RN.test(e)}function FN(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function HN(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function BN(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:DN(t)?FN(t):"*"+t}function Dp(e){const t=[];let n=-1,r=0,s=0,i,o,a,l,c,u,f;const d=[];d[0]=()=>{o===void 0?o=a:o+=a},d[1]=()=>{o!==void 0&&(t.push(o),o=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,r=4,d[0]();else{if(s=0,o===void 0||(o=BN(o),o===!1))return!1;d[1]()}};function g(){const S=e[n+1];if(r===5&&S==="'"||r===6&&S==='"')return n++,a="\\"+S,d[0](),!0}for(;r!==null;)if(n++,i=e[n],!(i==="\\"&&g())){if(l=HN(i),f=jn[r],c=f[l]||f.l||8,c===8||(r=c[0],c[1]!==void 0&&(u=d[c[1]],u&&(a=i,u()===!1))))return;if(r===7)return t}}const id=new Map;function Cc(e,t){if(!Vi(e))return null;let n=id.get(t);if(n||(n=Dp(t),n&&id.set(t,n)),!n)return null;const r=n.length;let s=e,i=0;for(;ie!==null&&typeof e=="object",jn=[];jn[0]={w:[0],i:[3,0],["["]:[4],o:[7]};jn[1]={w:[1],["."]:[2],["["]:[4],o:[7]};jn[2]={w:[2],i:[3,0],["0"]:[3,0]};jn[3]={i:[3,0],["0"]:[3,0],w:[1,1],["."]:[2,1],["["]:[4,1],o:[7,1]};jn[4]={["'"]:[5,0],['"']:[6,0],["["]:[4,2],["]"]:[1,3],o:8,l:[4,0]};jn[5]={["'"]:[4,0],o:8,l:[5,0]};jn[6]={['"']:[4,0],o:8,l:[6,0]};const DN=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function FN(e){return DN.test(e)}function HN(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function BN(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function jN(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:FN(t)?HN(t):"*"+t}function Dp(e){const t=[];let n=-1,r=0,s=0,i,o,a,l,c,u,f;const d=[];d[0]=()=>{o===void 0?o=a:o+=a},d[1]=()=>{o!==void 0&&(t.push(o),o=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,r=4,d[0]();else{if(s=0,o===void 0||(o=jN(o),o===!1))return!1;d[1]()}};function g(){const S=e[n+1];if(r===5&&S==="'"||r===6&&S==='"')return n++,a="\\"+S,d[0](),!0}for(;r!==null;)if(n++,i=e[n],!(i==="\\"&&g())){if(l=BN(i),f=jn[r],c=f[l]||f.l||8,c===8||(r=c[0],c[1]!==void 0&&(u=d[c[1]],u&&(a=i,u()===!1))))return;if(r===7)return t}}const id=new Map;function Cc(e,t){if(!Vi(e))return null;let n=id.get(t);if(n||(n=Dp(t),n&&id.set(t,n)),!n)return null;const r=n.length;let s=e,i=0;for(;ie,VN=e=>"",Fp="text",UN=e=>e.length===0?"":e.join(""),WN=Rp;function od(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function zN(e){const t=st(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(st(e.named.count)||st(e.named.n))?st(e.named.count)?e.named.count:st(e.named.n)?e.named.n:t:t}function KN(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Hp(e={}){const t=e.locale,n=zN(e),r=Jt(e.pluralRules)&&_e(t)&&it(e.pluralRules[t])?e.pluralRules[t]:od,s=Jt(e.pluralRules)&&_e(t)&&it(e.pluralRules[t])?od:void 0,i=_=>_[r(n,_.length,s)],o=e.list||[],a=_=>o[_],l=e.named||{};st(e.pluralIndex)&&KN(n,l);const c=_=>l[_];function u(_){const p=it(e.messages)?e.messages(_):Jt(e.messages)?e.messages[_]:!1;return p||(e.parent?e.parent.message(_):VN)}const f=_=>e.modifiers?e.modifiers[_]:jN,d=De(e.processor)&&it(e.processor.normalize)?e.processor.normalize:UN,g=De(e.processor)&&it(e.processor.interpolate)?e.processor.interpolate:WN,S=De(e.processor)&&_e(e.processor.type)?e.processor.type:Fp,A={list:a,named:c,plural:i,linked:(_,p)=>{const v=u(_)(A);return _e(p)?f(p)(v):v},message:u,type:S,interpolate:g,normalize:d};return A}/*! + */const VN=e=>e,UN=e=>"",Fp="text",WN=e=>e.length===0?"":e.join(""),zN=Rp;function od(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function KN(e){const t=st(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(st(e.named.count)||st(e.named.n))?st(e.named.count)?e.named.count:st(e.named.n)?e.named.n:t:t}function YN(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Hp(e={}){const t=e.locale,n=KN(e),r=Jt(e.pluralRules)&&_e(t)&&it(e.pluralRules[t])?e.pluralRules[t]:od,s=Jt(e.pluralRules)&&_e(t)&&it(e.pluralRules[t])?od:void 0,i=_=>_[r(n,_.length,s)],o=e.list||[],a=_=>o[_],l=e.named||{};st(e.pluralIndex)&&YN(n,l);const c=_=>l[_];function u(_){const p=it(e.messages)?e.messages(_):Jt(e.messages)?e.messages[_]:!1;return p||(e.parent?e.parent.message(_):UN)}const f=_=>e.modifiers?e.modifiers[_]:VN,d=De(e.processor)&&it(e.processor.normalize)?e.processor.normalize:WN,g=De(e.processor)&&it(e.processor.interpolate)?e.processor.interpolate:zN,S=De(e.processor)&&_e(e.processor.type)?e.processor.type:Fp,A={list:a,named:c,plural:i,linked:(_,p)=>{const v=u(_)(A);return _e(p)?f(p)(v):v},message:u,type:S,interpolate:g,normalize:d};return A}/*! * @intlify/message-compiler v9.1.10 * (c) 2022 kazuya kawaguchi * Released under the MIT License. - */function qo(e,t,n={}){const{domain:r,messages:s,args:i}=n,o=e,a=new SyntaxError(String(o));return a.code=e,t&&(a.location=t),a.domain=r,a}function YN(e){throw e}function qN(e,t,n){return{line:e,column:t,offset:n}}function ll(e,t,n){const r={start:e,end:t};return n!=null&&(r.source=n),r}const nn=" ",GN="\r",Ze=` -`,XN=String.fromCharCode(8232),JN=String.fromCharCode(8233);function QN(e){const t=e;let n=0,r=1,s=1,i=0;const o=L=>t[L]===GN&&t[L+1]===Ze,a=L=>t[L]===Ze,l=L=>t[L]===JN,c=L=>t[L]===XN,u=L=>o(L)||a(L)||l(L)||c(L),f=()=>n,d=()=>r,g=()=>s,S=()=>i,A=L=>o(L)||l(L)||c(L)?Ze:t[L],_=()=>A(n),p=()=>A(n+i);function v(){return i=0,u(n)&&(r++,s=0),o(n)&&n++,n++,s++,t[n]}function E(){return o(n+i)&&i++,i++,t[n+i]}function m(){n=0,r=1,s=1,i=0}function k(L=0){i=L}function $(){const L=n+i;for(;L!==n;)v();i=0}return{index:f,line:d,column:g,peekOffset:S,charAt:A,currentChar:_,currentPeek:p,next:v,peek:E,reset:m,resetPeek:k,skipToPeek:$}}const En=void 0,ad="'",ZN="tokenizer";function e$(e,t={}){const n=t.location!==!1,r=QN(e),s=()=>r.index(),i=()=>qN(r.line(),r.column(),r.index()),o=i(),a=s(),l={currentType:14,offset:a,startLoc:o,endLoc:o,lastType:14,lastOffset:a,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(y,w,h,...b){const O=c();if(w.column+=h,w.offset+=h,u){const I=ll(O.startLoc,w),R=qo(y,I,{domain:ZN,args:b});u(R)}}function d(y,w,h){y.endLoc=i(),y.currentType=w;const b={type:w};return n&&(b.loc=ll(y.startLoc,y.endLoc)),h!=null&&(b.value=h),b}const g=y=>d(y,14);function S(y,w){return y.currentChar()===w?(y.next(),w):(f(0,i(),0,w),"")}function A(y){let w="";for(;y.currentPeek()===nn||y.currentPeek()===Ze;)w+=y.currentPeek(),y.peek();return w}function _(y){const w=A(y);return y.skipToPeek(),w}function p(y){if(y===En)return!1;const w=y.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w===95}function v(y){if(y===En)return!1;const w=y.charCodeAt(0);return w>=48&&w<=57}function E(y,w){const{currentType:h}=w;if(h!==2)return!1;A(y);const b=p(y.currentPeek());return y.resetPeek(),b}function m(y,w){const{currentType:h}=w;if(h!==2)return!1;A(y);const b=y.currentPeek()==="-"?y.peek():y.currentPeek(),O=v(b);return y.resetPeek(),O}function k(y,w){const{currentType:h}=w;if(h!==2)return!1;A(y);const b=y.currentPeek()===ad;return y.resetPeek(),b}function $(y,w){const{currentType:h}=w;if(h!==8)return!1;A(y);const b=y.currentPeek()===".";return y.resetPeek(),b}function L(y,w){const{currentType:h}=w;if(h!==9)return!1;A(y);const b=p(y.currentPeek());return y.resetPeek(),b}function H(y,w){const{currentType:h}=w;if(!(h===8||h===12))return!1;A(y);const b=y.currentPeek()===":";return y.resetPeek(),b}function j(y,w){const{currentType:h}=w;if(h!==10)return!1;const b=()=>{const I=y.currentPeek();return I==="{"?p(y.peek()):I==="@"||I==="%"||I==="|"||I===":"||I==="."||I===nn||!I?!1:I===Ze?(y.peek(),b()):p(I)},O=b();return y.resetPeek(),O}function q(y){A(y);const w=y.currentPeek()==="|";return y.resetPeek(),w}function J(y,w=!0){const h=(O=!1,I="",R=!1)=>{const W=y.currentPeek();return W==="{"?I==="%"?!1:O:W==="@"||!W?I==="%"?!0:O:W==="%"?(y.peek(),h(O,"%",!0)):W==="|"?I==="%"||R?!0:!(I===nn||I===Ze):W===nn?(y.peek(),h(!0,nn,R)):W===Ze?(y.peek(),h(!0,Ze,R)):!0},b=h();return w&&y.resetPeek(),b}function F(y,w){const h=y.currentChar();return h===En?En:w(h)?(y.next(),h):null}function re(y){return F(y,h=>{const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36})}function P(y){return F(y,h=>{const b=h.charCodeAt(0);return b>=48&&b<=57})}function x(y){return F(y,h=>{const b=h.charCodeAt(0);return b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102})}function Z(y){let w="",h="";for(;w=P(y);)h+=w;return h}function ee(y){let w="";for(;;){const h=y.currentChar();if(h==="{"||h==="}"||h==="@"||h==="|"||!h)break;if(h==="%")if(J(y))w+=h,y.next();else break;else if(h===nn||h===Ze)if(J(y))w+=h,y.next();else{if(q(y))break;w+=h,y.next()}else w+=h,y.next()}return w}function oe(y){_(y);let w="",h="";for(;w=re(y);)h+=w;return y.currentChar()===En&&f(6,i(),0),h}function le(y){_(y);let w="";return y.currentChar()==="-"?(y.next(),w+=`-${Z(y)}`):w+=Z(y),y.currentChar()===En&&f(6,i(),0),w}function ue(y){_(y),S(y,"'");let w="",h="";const b=I=>I!==ad&&I!==Ze;for(;w=F(y,b);)w==="\\"?h+=pe(y):h+=w;const O=y.currentChar();return O===Ze||O===En?(f(2,i(),0),O===Ze&&(y.next(),S(y,"'")),h):(S(y,"'"),h)}function pe(y){const w=y.currentChar();switch(w){case"\\":case"'":return y.next(),`\\${w}`;case"u":return ve(y,w,4);case"U":return ve(y,w,6);default:return f(3,i(),0,w),""}}function ve(y,w,h){S(y,w);let b="";for(let O=0;OO!=="{"&&O!=="}"&&O!==nn&&O!==Ze;for(;w=F(y,b);)h+=w;return h}function Ee(y){let w="",h="";for(;w=re(y);)h+=w;return h}function M(y){const w=(h=!1,b)=>{const O=y.currentChar();return O==="{"||O==="%"||O==="@"||O==="|"||!O||O===nn?b:O===Ze?(b+=O,y.next(),w(h,b)):(b+=O,y.next(),w(!0,b))};return w(!1,"")}function X(y){_(y);const w=S(y,"|");return _(y),w}function B(y,w){let h=null;switch(y.currentChar()){case"{":return w.braceNest>=1&&f(8,i(),0),y.next(),h=d(w,2,"{"),_(y),w.braceNest++,h;case"}":return w.braceNest>0&&w.currentType===2&&f(7,i(),0),y.next(),h=d(w,3,"}"),w.braceNest--,w.braceNest>0&&_(y),w.inLinked&&w.braceNest===0&&(w.inLinked=!1),h;case"@":return w.braceNest>0&&f(6,i(),0),h=te(y,w)||g(w),w.braceNest=0,h;default:let O=!0,I=!0,R=!0;if(q(y))return w.braceNest>0&&f(6,i(),0),h=d(w,1,X(y)),w.braceNest=0,w.inLinked=!1,h;if(w.braceNest>0&&(w.currentType===5||w.currentType===6||w.currentType===7))return f(6,i(),0),w.braceNest=0,ge(y,w);if(O=E(y,w))return h=d(w,5,oe(y)),_(y),h;if(I=m(y,w))return h=d(w,6,le(y)),_(y),h;if(R=k(y,w))return h=d(w,7,ue(y)),_(y),h;if(!O&&!I&&!R)return h=d(w,13,Oe(y)),f(1,i(),0,h.value),_(y),h;break}return h}function te(y,w){const{currentType:h}=w;let b=null;const O=y.currentChar();switch((h===8||h===9||h===12||h===10)&&(O===Ze||O===nn)&&f(9,i(),0),O){case"@":return y.next(),b=d(w,8,"@"),w.inLinked=!0,b;case".":return _(y),y.next(),d(w,9,".");case":":return _(y),y.next(),d(w,10,":");default:return q(y)?(b=d(w,1,X(y)),w.braceNest=0,w.inLinked=!1,b):$(y,w)||H(y,w)?(_(y),te(y,w)):L(y,w)?(_(y),d(w,12,Ee(y))):j(y,w)?(_(y),O==="{"?B(y,w)||b:d(w,11,M(y))):(h===8&&f(9,i(),0),w.braceNest=0,w.inLinked=!1,ge(y,w))}}function ge(y,w){let h={type:14};if(w.braceNest>0)return B(y,w)||g(w);if(w.inLinked)return te(y,w)||g(w);const b=y.currentChar();switch(b){case"{":return B(y,w)||g(w);case"}":return f(5,i(),0),y.next(),d(w,3,"}");case"@":return te(y,w)||g(w);default:if(q(y))return h=d(w,1,X(y)),w.braceNest=0,w.inLinked=!1,h;if(J(y))return d(w,0,ee(y));if(b==="%")return y.next(),d(w,4,"%");break}return h}function be(){const{currentType:y,offset:w,startLoc:h,endLoc:b}=l;return l.lastType=y,l.lastOffset=w,l.lastStartLoc=h,l.lastEndLoc=b,l.offset=s(),l.startLoc=i(),r.currentChar()===En?d(l,14):ge(r,l)}return{nextToken:be,currentOffset:s,currentPosition:i,context:c}}const t$="parser",n$=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function r$(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"\uFFFD"}}}function s$(e={}){const t=e.location!==!1,{onError:n}=e;function r(p,v,E,m,...k){const $=p.currentPosition();if($.offset+=m,$.column+=m,n){const L=ll(E,$),H=qo(v,L,{domain:t$,args:k});n(H)}}function s(p,v,E){const m={type:p,start:v,end:v};return t&&(m.loc={start:E,end:E}),m}function i(p,v,E,m){p.end=v,m&&(p.type=m),t&&p.loc&&(p.loc.end=E)}function o(p,v){const E=p.context(),m=s(3,E.offset,E.startLoc);return m.value=v,i(m,p.currentOffset(),p.currentPosition()),m}function a(p,v){const E=p.context(),{lastOffset:m,lastStartLoc:k}=E,$=s(5,m,k);return $.index=parseInt(v,10),p.nextToken(),i($,p.currentOffset(),p.currentPosition()),$}function l(p,v){const E=p.context(),{lastOffset:m,lastStartLoc:k}=E,$=s(4,m,k);return $.key=v,p.nextToken(),i($,p.currentOffset(),p.currentPosition()),$}function c(p,v){const E=p.context(),{lastOffset:m,lastStartLoc:k}=E,$=s(9,m,k);return $.value=v.replace(n$,r$),p.nextToken(),i($,p.currentOffset(),p.currentPosition()),$}function u(p){const v=p.nextToken(),E=p.context(),{lastOffset:m,lastStartLoc:k}=E,$=s(8,m,k);return v.type!==12?(r(p,11,E.lastStartLoc,0),$.value="",i($,m,k),{nextConsumeToken:v,node:$}):(v.value==null&&r(p,13,E.lastStartLoc,0,Ut(v)),$.value=v.value||"",i($,p.currentOffset(),p.currentPosition()),{node:$})}function f(p,v){const E=p.context(),m=s(7,E.offset,E.startLoc);return m.value=v,i(m,p.currentOffset(),p.currentPosition()),m}function d(p){const v=p.context(),E=s(6,v.offset,v.startLoc);let m=p.nextToken();if(m.type===9){const k=u(p);E.modifier=k.node,m=k.nextConsumeToken||p.nextToken()}switch(m.type!==10&&r(p,13,v.lastStartLoc,0,Ut(m)),m=p.nextToken(),m.type===2&&(m=p.nextToken()),m.type){case 11:m.value==null&&r(p,13,v.lastStartLoc,0,Ut(m)),E.key=f(p,m.value||"");break;case 5:m.value==null&&r(p,13,v.lastStartLoc,0,Ut(m)),E.key=l(p,m.value||"");break;case 6:m.value==null&&r(p,13,v.lastStartLoc,0,Ut(m)),E.key=a(p,m.value||"");break;case 7:m.value==null&&r(p,13,v.lastStartLoc,0,Ut(m)),E.key=c(p,m.value||"");break;default:r(p,12,v.lastStartLoc,0);const k=p.context(),$=s(7,k.offset,k.startLoc);return $.value="",i($,k.offset,k.startLoc),E.key=$,i(E,k.offset,k.startLoc),{nextConsumeToken:m,node:E}}return i(E,p.currentOffset(),p.currentPosition()),{node:E}}function g(p){const v=p.context(),E=v.currentType===1?p.currentOffset():v.offset,m=v.currentType===1?v.endLoc:v.startLoc,k=s(2,E,m);k.items=[];let $=null;do{const j=$||p.nextToken();switch($=null,j.type){case 0:j.value==null&&r(p,13,v.lastStartLoc,0,Ut(j)),k.items.push(o(p,j.value||""));break;case 6:j.value==null&&r(p,13,v.lastStartLoc,0,Ut(j)),k.items.push(a(p,j.value||""));break;case 5:j.value==null&&r(p,13,v.lastStartLoc,0,Ut(j)),k.items.push(l(p,j.value||""));break;case 7:j.value==null&&r(p,13,v.lastStartLoc,0,Ut(j)),k.items.push(c(p,j.value||""));break;case 8:const q=d(p);k.items.push(q.node),$=q.nextConsumeToken||null;break}}while(v.currentType!==14&&v.currentType!==1);const L=v.currentType===1?v.lastOffset:p.currentOffset(),H=v.currentType===1?v.lastEndLoc:p.currentPosition();return i(k,L,H),k}function S(p,v,E,m){const k=p.context();let $=m.items.length===0;const L=s(1,v,E);L.cases=[],L.cases.push(m);do{const H=g(p);$||($=H.items.length===0),L.cases.push(H)}while(k.currentType!==14);return $&&r(p,10,E,0),i(L,p.currentOffset(),p.currentPosition()),L}function A(p){const v=p.context(),{offset:E,startLoc:m}=v,k=g(p);return v.currentType===14?k:S(p,E,m,k)}function _(p){const v=e$(p,Bn({},e)),E=v.context(),m=s(0,E.offset,E.startLoc);return t&&m.loc&&(m.loc.source=p),m.body=A(v),E.currentType!==14&&r(v,13,E.lastStartLoc,0,p[E.offset]||""),i(m,v.currentOffset(),v.currentPosition()),m}return{parse:_}}function Ut(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"\u2026":t}function i$(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:i=>(n.helpers.add(i),i)}}function ld(e,t){for(let n=0;no;function l(A,_){o.code+=A}function c(A,_=!0){const p=_?s:"";l(i?p+" ".repeat(A):p)}function u(A=!0){const _=++o.indentLevel;A&&c(_)}function f(A=!0){const _=--o.indentLevel;A&&c(_)}function d(){c(o.indentLevel)}return{context:a,push:l,indent:u,deindent:f,newline:d,helper:A=>`_${A}`,needIndent:()=>o.needIndent}}function l$(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),is(e,t.key),t.modifier&&(e.push(", "),is(e,t.modifier)),e.push(")")}function c$(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const s=t.items.length;for(let i=0;i1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let i=0;i{const n=_e(t.mode)?t.mode:"normal",r=_e(t.filename)?t.filename:"message.intl",s=!!t.sourceMap,i=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,o=t.needIndent?t.needIndent:n!=="arrow",a=e.helpers||[],l=a$(e,{mode:n,filename:r,sourceMap:s,breakLineCode:i,needIndent:o});l.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(o),a.length>0&&(l.push(`const { ${a.map(f=>`${f}: _${f}`).join(", ")} } = ctx`),l.newline()),l.push("return "),is(l,e),l.deindent(o),l.push("}");const{code:c,map:u}=l.context();return{ast:e,code:c,map:u?u.toJSON():void 0}};function h$(e,t={}){const n=Bn({},t),s=s$(n).parse(e);return o$(s,n),d$(s,n)}/*! + */function qo(e,t,n={}){const{domain:r,messages:s,args:i}=n,o=e,a=new SyntaxError(String(o));return a.code=e,t&&(a.location=t),a.domain=r,a}function qN(e){throw e}function GN(e,t,n){return{line:e,column:t,offset:n}}function ll(e,t,n){const r={start:e,end:t};return n!=null&&(r.source=n),r}const nn=" ",XN="\r",Ze=` +`,JN=String.fromCharCode(8232),QN=String.fromCharCode(8233);function ZN(e){const t=e;let n=0,r=1,s=1,i=0;const o=L=>t[L]===XN&&t[L+1]===Ze,a=L=>t[L]===Ze,l=L=>t[L]===QN,c=L=>t[L]===JN,u=L=>o(L)||a(L)||l(L)||c(L),f=()=>n,d=()=>r,g=()=>s,S=()=>i,A=L=>o(L)||l(L)||c(L)?Ze:t[L],_=()=>A(n),p=()=>A(n+i);function v(){return i=0,u(n)&&(r++,s=0),o(n)&&n++,n++,s++,t[n]}function E(){return o(n+i)&&i++,i++,t[n+i]}function m(){n=0,r=1,s=1,i=0}function k(L=0){i=L}function $(){const L=n+i;for(;L!==n;)v();i=0}return{index:f,line:d,column:g,peekOffset:S,charAt:A,currentChar:_,currentPeek:p,next:v,peek:E,reset:m,resetPeek:k,skipToPeek:$}}const En=void 0,ad="'",e$="tokenizer";function t$(e,t={}){const n=t.location!==!1,r=ZN(e),s=()=>r.index(),i=()=>GN(r.line(),r.column(),r.index()),o=i(),a=s(),l={currentType:14,offset:a,startLoc:o,endLoc:o,lastType:14,lastOffset:a,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(y,w,h,...b){const O=c();if(w.column+=h,w.offset+=h,u){const I=ll(O.startLoc,w),R=qo(y,I,{domain:e$,args:b});u(R)}}function d(y,w,h){y.endLoc=i(),y.currentType=w;const b={type:w};return n&&(b.loc=ll(y.startLoc,y.endLoc)),h!=null&&(b.value=h),b}const g=y=>d(y,14);function S(y,w){return y.currentChar()===w?(y.next(),w):(f(0,i(),0,w),"")}function A(y){let w="";for(;y.currentPeek()===nn||y.currentPeek()===Ze;)w+=y.currentPeek(),y.peek();return w}function _(y){const w=A(y);return y.skipToPeek(),w}function p(y){if(y===En)return!1;const w=y.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w===95}function v(y){if(y===En)return!1;const w=y.charCodeAt(0);return w>=48&&w<=57}function E(y,w){const{currentType:h}=w;if(h!==2)return!1;A(y);const b=p(y.currentPeek());return y.resetPeek(),b}function m(y,w){const{currentType:h}=w;if(h!==2)return!1;A(y);const b=y.currentPeek()==="-"?y.peek():y.currentPeek(),O=v(b);return y.resetPeek(),O}function k(y,w){const{currentType:h}=w;if(h!==2)return!1;A(y);const b=y.currentPeek()===ad;return y.resetPeek(),b}function $(y,w){const{currentType:h}=w;if(h!==8)return!1;A(y);const b=y.currentPeek()===".";return y.resetPeek(),b}function L(y,w){const{currentType:h}=w;if(h!==9)return!1;A(y);const b=p(y.currentPeek());return y.resetPeek(),b}function H(y,w){const{currentType:h}=w;if(!(h===8||h===12))return!1;A(y);const b=y.currentPeek()===":";return y.resetPeek(),b}function j(y,w){const{currentType:h}=w;if(h!==10)return!1;const b=()=>{const I=y.currentPeek();return I==="{"?p(y.peek()):I==="@"||I==="%"||I==="|"||I===":"||I==="."||I===nn||!I?!1:I===Ze?(y.peek(),b()):p(I)},O=b();return y.resetPeek(),O}function q(y){A(y);const w=y.currentPeek()==="|";return y.resetPeek(),w}function J(y,w=!0){const h=(O=!1,I="",R=!1)=>{const W=y.currentPeek();return W==="{"?I==="%"?!1:O:W==="@"||!W?I==="%"?!0:O:W==="%"?(y.peek(),h(O,"%",!0)):W==="|"?I==="%"||R?!0:!(I===nn||I===Ze):W===nn?(y.peek(),h(!0,nn,R)):W===Ze?(y.peek(),h(!0,Ze,R)):!0},b=h();return w&&y.resetPeek(),b}function F(y,w){const h=y.currentChar();return h===En?En:w(h)?(y.next(),h):null}function re(y){return F(y,h=>{const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36})}function P(y){return F(y,h=>{const b=h.charCodeAt(0);return b>=48&&b<=57})}function x(y){return F(y,h=>{const b=h.charCodeAt(0);return b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102})}function Z(y){let w="",h="";for(;w=P(y);)h+=w;return h}function ee(y){let w="";for(;;){const h=y.currentChar();if(h==="{"||h==="}"||h==="@"||h==="|"||!h)break;if(h==="%")if(J(y))w+=h,y.next();else break;else if(h===nn||h===Ze)if(J(y))w+=h,y.next();else{if(q(y))break;w+=h,y.next()}else w+=h,y.next()}return w}function oe(y){_(y);let w="",h="";for(;w=re(y);)h+=w;return y.currentChar()===En&&f(6,i(),0),h}function le(y){_(y);let w="";return y.currentChar()==="-"?(y.next(),w+=`-${Z(y)}`):w+=Z(y),y.currentChar()===En&&f(6,i(),0),w}function ue(y){_(y),S(y,"'");let w="",h="";const b=I=>I!==ad&&I!==Ze;for(;w=F(y,b);)w==="\\"?h+=pe(y):h+=w;const O=y.currentChar();return O===Ze||O===En?(f(2,i(),0),O===Ze&&(y.next(),S(y,"'")),h):(S(y,"'"),h)}function pe(y){const w=y.currentChar();switch(w){case"\\":case"'":return y.next(),`\\${w}`;case"u":return ve(y,w,4);case"U":return ve(y,w,6);default:return f(3,i(),0,w),""}}function ve(y,w,h){S(y,w);let b="";for(let O=0;OO!=="{"&&O!=="}"&&O!==nn&&O!==Ze;for(;w=F(y,b);)h+=w;return h}function Ee(y){let w="",h="";for(;w=re(y);)h+=w;return h}function M(y){const w=(h=!1,b)=>{const O=y.currentChar();return O==="{"||O==="%"||O==="@"||O==="|"||!O||O===nn?b:O===Ze?(b+=O,y.next(),w(h,b)):(b+=O,y.next(),w(!0,b))};return w(!1,"")}function X(y){_(y);const w=S(y,"|");return _(y),w}function B(y,w){let h=null;switch(y.currentChar()){case"{":return w.braceNest>=1&&f(8,i(),0),y.next(),h=d(w,2,"{"),_(y),w.braceNest++,h;case"}":return w.braceNest>0&&w.currentType===2&&f(7,i(),0),y.next(),h=d(w,3,"}"),w.braceNest--,w.braceNest>0&&_(y),w.inLinked&&w.braceNest===0&&(w.inLinked=!1),h;case"@":return w.braceNest>0&&f(6,i(),0),h=te(y,w)||g(w),w.braceNest=0,h;default:let O=!0,I=!0,R=!0;if(q(y))return w.braceNest>0&&f(6,i(),0),h=d(w,1,X(y)),w.braceNest=0,w.inLinked=!1,h;if(w.braceNest>0&&(w.currentType===5||w.currentType===6||w.currentType===7))return f(6,i(),0),w.braceNest=0,ge(y,w);if(O=E(y,w))return h=d(w,5,oe(y)),_(y),h;if(I=m(y,w))return h=d(w,6,le(y)),_(y),h;if(R=k(y,w))return h=d(w,7,ue(y)),_(y),h;if(!O&&!I&&!R)return h=d(w,13,Oe(y)),f(1,i(),0,h.value),_(y),h;break}return h}function te(y,w){const{currentType:h}=w;let b=null;const O=y.currentChar();switch((h===8||h===9||h===12||h===10)&&(O===Ze||O===nn)&&f(9,i(),0),O){case"@":return y.next(),b=d(w,8,"@"),w.inLinked=!0,b;case".":return _(y),y.next(),d(w,9,".");case":":return _(y),y.next(),d(w,10,":");default:return q(y)?(b=d(w,1,X(y)),w.braceNest=0,w.inLinked=!1,b):$(y,w)||H(y,w)?(_(y),te(y,w)):L(y,w)?(_(y),d(w,12,Ee(y))):j(y,w)?(_(y),O==="{"?B(y,w)||b:d(w,11,M(y))):(h===8&&f(9,i(),0),w.braceNest=0,w.inLinked=!1,ge(y,w))}}function ge(y,w){let h={type:14};if(w.braceNest>0)return B(y,w)||g(w);if(w.inLinked)return te(y,w)||g(w);const b=y.currentChar();switch(b){case"{":return B(y,w)||g(w);case"}":return f(5,i(),0),y.next(),d(w,3,"}");case"@":return te(y,w)||g(w);default:if(q(y))return h=d(w,1,X(y)),w.braceNest=0,w.inLinked=!1,h;if(J(y))return d(w,0,ee(y));if(b==="%")return y.next(),d(w,4,"%");break}return h}function be(){const{currentType:y,offset:w,startLoc:h,endLoc:b}=l;return l.lastType=y,l.lastOffset=w,l.lastStartLoc=h,l.lastEndLoc=b,l.offset=s(),l.startLoc=i(),r.currentChar()===En?d(l,14):ge(r,l)}return{nextToken:be,currentOffset:s,currentPosition:i,context:c}}const n$="parser",r$=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function s$(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"\uFFFD"}}}function i$(e={}){const t=e.location!==!1,{onError:n}=e;function r(p,v,E,m,...k){const $=p.currentPosition();if($.offset+=m,$.column+=m,n){const L=ll(E,$),H=qo(v,L,{domain:n$,args:k});n(H)}}function s(p,v,E){const m={type:p,start:v,end:v};return t&&(m.loc={start:E,end:E}),m}function i(p,v,E,m){p.end=v,m&&(p.type=m),t&&p.loc&&(p.loc.end=E)}function o(p,v){const E=p.context(),m=s(3,E.offset,E.startLoc);return m.value=v,i(m,p.currentOffset(),p.currentPosition()),m}function a(p,v){const E=p.context(),{lastOffset:m,lastStartLoc:k}=E,$=s(5,m,k);return $.index=parseInt(v,10),p.nextToken(),i($,p.currentOffset(),p.currentPosition()),$}function l(p,v){const E=p.context(),{lastOffset:m,lastStartLoc:k}=E,$=s(4,m,k);return $.key=v,p.nextToken(),i($,p.currentOffset(),p.currentPosition()),$}function c(p,v){const E=p.context(),{lastOffset:m,lastStartLoc:k}=E,$=s(9,m,k);return $.value=v.replace(r$,s$),p.nextToken(),i($,p.currentOffset(),p.currentPosition()),$}function u(p){const v=p.nextToken(),E=p.context(),{lastOffset:m,lastStartLoc:k}=E,$=s(8,m,k);return v.type!==12?(r(p,11,E.lastStartLoc,0),$.value="",i($,m,k),{nextConsumeToken:v,node:$}):(v.value==null&&r(p,13,E.lastStartLoc,0,Ut(v)),$.value=v.value||"",i($,p.currentOffset(),p.currentPosition()),{node:$})}function f(p,v){const E=p.context(),m=s(7,E.offset,E.startLoc);return m.value=v,i(m,p.currentOffset(),p.currentPosition()),m}function d(p){const v=p.context(),E=s(6,v.offset,v.startLoc);let m=p.nextToken();if(m.type===9){const k=u(p);E.modifier=k.node,m=k.nextConsumeToken||p.nextToken()}switch(m.type!==10&&r(p,13,v.lastStartLoc,0,Ut(m)),m=p.nextToken(),m.type===2&&(m=p.nextToken()),m.type){case 11:m.value==null&&r(p,13,v.lastStartLoc,0,Ut(m)),E.key=f(p,m.value||"");break;case 5:m.value==null&&r(p,13,v.lastStartLoc,0,Ut(m)),E.key=l(p,m.value||"");break;case 6:m.value==null&&r(p,13,v.lastStartLoc,0,Ut(m)),E.key=a(p,m.value||"");break;case 7:m.value==null&&r(p,13,v.lastStartLoc,0,Ut(m)),E.key=c(p,m.value||"");break;default:r(p,12,v.lastStartLoc,0);const k=p.context(),$=s(7,k.offset,k.startLoc);return $.value="",i($,k.offset,k.startLoc),E.key=$,i(E,k.offset,k.startLoc),{nextConsumeToken:m,node:E}}return i(E,p.currentOffset(),p.currentPosition()),{node:E}}function g(p){const v=p.context(),E=v.currentType===1?p.currentOffset():v.offset,m=v.currentType===1?v.endLoc:v.startLoc,k=s(2,E,m);k.items=[];let $=null;do{const j=$||p.nextToken();switch($=null,j.type){case 0:j.value==null&&r(p,13,v.lastStartLoc,0,Ut(j)),k.items.push(o(p,j.value||""));break;case 6:j.value==null&&r(p,13,v.lastStartLoc,0,Ut(j)),k.items.push(a(p,j.value||""));break;case 5:j.value==null&&r(p,13,v.lastStartLoc,0,Ut(j)),k.items.push(l(p,j.value||""));break;case 7:j.value==null&&r(p,13,v.lastStartLoc,0,Ut(j)),k.items.push(c(p,j.value||""));break;case 8:const q=d(p);k.items.push(q.node),$=q.nextConsumeToken||null;break}}while(v.currentType!==14&&v.currentType!==1);const L=v.currentType===1?v.lastOffset:p.currentOffset(),H=v.currentType===1?v.lastEndLoc:p.currentPosition();return i(k,L,H),k}function S(p,v,E,m){const k=p.context();let $=m.items.length===0;const L=s(1,v,E);L.cases=[],L.cases.push(m);do{const H=g(p);$||($=H.items.length===0),L.cases.push(H)}while(k.currentType!==14);return $&&r(p,10,E,0),i(L,p.currentOffset(),p.currentPosition()),L}function A(p){const v=p.context(),{offset:E,startLoc:m}=v,k=g(p);return v.currentType===14?k:S(p,E,m,k)}function _(p){const v=t$(p,Bn({},e)),E=v.context(),m=s(0,E.offset,E.startLoc);return t&&m.loc&&(m.loc.source=p),m.body=A(v),E.currentType!==14&&r(v,13,E.lastStartLoc,0,p[E.offset]||""),i(m,v.currentOffset(),v.currentPosition()),m}return{parse:_}}function Ut(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"\u2026":t}function o$(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:i=>(n.helpers.add(i),i)}}function ld(e,t){for(let n=0;no;function l(A,_){o.code+=A}function c(A,_=!0){const p=_?s:"";l(i?p+" ".repeat(A):p)}function u(A=!0){const _=++o.indentLevel;A&&c(_)}function f(A=!0){const _=--o.indentLevel;A&&c(_)}function d(){c(o.indentLevel)}return{context:a,push:l,indent:u,deindent:f,newline:d,helper:A=>`_${A}`,needIndent:()=>o.needIndent}}function c$(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),is(e,t.key),t.modifier&&(e.push(", "),is(e,t.modifier)),e.push(")")}function u$(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const s=t.items.length;for(let i=0;i1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let i=0;i{const n=_e(t.mode)?t.mode:"normal",r=_e(t.filename)?t.filename:"message.intl",s=!!t.sourceMap,i=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,o=t.needIndent?t.needIndent:n!=="arrow",a=e.helpers||[],l=l$(e,{mode:n,filename:r,sourceMap:s,breakLineCode:i,needIndent:o});l.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(o),a.length>0&&(l.push(`const { ${a.map(f=>`${f}: _${f}`).join(", ")} } = ctx`),l.newline()),l.push("return "),is(l,e),l.deindent(o),l.push("}");const{code:c,map:u}=l.context();return{ast:e,code:c,map:u?u.toJSON():void 0}};function m$(e,t={}){const n=Bn({},t),s=i$(n).parse(e);return a$(s,n),h$(s,n)}/*! * @intlify/devtools-if v9.1.10 * (c) 2022 kazuya kawaguchi * Released under the MIT License. @@ -77,17 +77,17 @@ var ng=Object.defineProperty,rg=Object.defineProperties;var sg=Object.getOwnProp * @intlify/core-base v9.1.10 * (c) 2022 kazuya kawaguchi * Released under the MIT License. - */let os=null;function m$(e){os=e}function p$(){return os}function jp(e,t,n){os&&os.emit(Bp.I18nInit,{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Vp=g$(Bp.FunctionTranslate);function g$(e){return t=>os&&os.emit(e,t)}const _$={[0]:"Not found '{key}' key in '{locale}' locale messages.",[1]:"Fall back to translate '{key}' key with '{target}' locale.",[2]:"Cannot format a number value due to not supported Intl.NumberFormat.",[3]:"Fall back to number format '{key}' key with '{target}' locale.",[4]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[5]:"Fall back to datetime format '{key}' key with '{target}' locale."};function v$(e,...t){return Np(_$[e],...t)}const Up="9.1.10",Go=-1,b$="";function y$(){return{upper:e=>_e(e)?e.toUpperCase():e,lower:e=>_e(e)?e.toLowerCase():e,capitalize:e=>_e(e)?`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`:e}}let Wp;function E$(e){Wp=e}let zp=null;const w$=e=>{zp=e},Kp=()=>zp;let cd=0;function T$(e={}){const t=_e(e.version)?e.version:Up,n=_e(e.locale)?e.locale:"en-US",r=ln(e.fallbackLocale)||De(e.fallbackLocale)||_e(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:n,s=De(e.messages)?e.messages:{[n]:{}},i=De(e.datetimeFormats)?e.datetimeFormats:{[n]:{}},o=De(e.numberFormats)?e.numberFormats:{[n]:{}},a=Bn({},e.modifiers||{},y$()),l=e.pluralRules||{},c=it(e.missing)?e.missing:null,u=ot(e.missingWarn)||il(e.missingWarn)?e.missingWarn:!0,f=ot(e.fallbackWarn)||il(e.fallbackWarn)?e.fallbackWarn:!0,d=!!e.fallbackFormat,g=!!e.unresolving,S=it(e.postTranslation)?e.postTranslation:null,A=De(e.processor)?e.processor:null,_=ot(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,v=it(e.messageCompiler)?e.messageCompiler:Wp,E=it(e.onWarn)?e.onWarn:Ip,m=e,k=Jt(m.__datetimeFormatters)?m.__datetimeFormatters:new Map,$=Jt(m.__numberFormatters)?m.__numberFormatters:new Map,L=Jt(m.__meta)?m.__meta:{};cd++;const H={version:t,cid:cd,locale:n,fallbackLocale:r,messages:s,datetimeFormats:i,numberFormats:o,modifiers:a,pluralRules:l,missing:c,missingWarn:u,fallbackWarn:f,fallbackFormat:d,unresolving:g,postTranslation:S,processor:A,warnHtmlMessage:_,escapeParameter:p,messageCompiler:v,onWarn:E,__datetimeFormatters:k,__numberFormatters:$,__meta:L};return __INTLIFY_PROD_DEVTOOLS__&&jp(H,t,L),H}function S$(e,t){return e instanceof RegExp?e.test(t):e}function C$(e,t){return e instanceof RegExp?e.test(t):e}function Xo(e,t,n,r,s){const{missing:i,onWarn:o}=e;if(i!==null){const a=i(e,n,t,s);return _e(a)?a:t}else return t}function pi(e,t,n){const r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let i=[n];for(;ln(i);)i=ud(s,i,t);const o=ln(t)?t:De(t)?t.default?t.default:null:t;i=_e(o)?[o]:o,ln(i)&&ud(s,i,!1),r.__localeChainCache.set(n,s)}return s}function ud(e,t,n){let r=!0;for(let s=0;se;let cl=Object.create(null);function N$(){cl=Object.create(null)}function $$(e,t={}){{const r=(t.onCacheKey||L$)(e),s=cl[r];if(s)return s;let i=!1;const o=t.onError||YN;t.onError=c=>{i=!0,o(c)};const{code:a}=h$(e,t),l=new Function(`return ${a}`)();return i?l:cl[r]=l}}function tr(e){return qo(e,null,void 0)}const fd=()=>"",Pt=e=>it(e);function P$(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,fallbackLocale:i,messages:o}=e,[a,l]=qp(...t),c=ot(l.missingWarn)?l.missingWarn:e.missingWarn,u=ot(l.fallbackWarn)?l.fallbackWarn:e.fallbackWarn,f=ot(l.escapeParameter)?l.escapeParameter:e.escapeParameter,d=!!l.resolvedMessage,g=_e(l.default)||ot(l.default)?ot(l.default)?a:l.default:n?a:"",S=n||g!=="",A=_e(l.locale)?l.locale:e.locale;f&&x$(l);let[_,p,v]=d?[a,A,o[A]||{}]:I$(e,a,A,i,u,c),E=a;if(!d&&!(_e(_)||Pt(_))&&S&&(_=g,E=_),!d&&(!(_e(_)||Pt(_))||!_e(p)))return s?Go:a;let m=!1;const k=()=>{m=!0},$=Pt(_)?_:Yp(e,a,p,_,E,k);if(m)return _;const L=D$(e,p,v,l),H=Hp(L),j=M$(e,$,H),q=r?r(j):j;if(__INTLIFY_PROD_DEVTOOLS__){const J={timestamp:Date.now(),key:_e(a)?a:Pt(_)?_.key:"",locale:p||(Pt(_)?_.locale:""),format:_e(_)?_:Pt(_)?_.source:"",message:q};J.meta=Bn({},e.__meta,Kp()||{}),Vp(J)}return q}function x$(e){ln(e.list)?e.list=e.list.map(t=>_e(t)?ol(t):t):Jt(e.named)&&Object.keys(e.named).forEach(t=>{_e(e.named[t])&&(e.named[t]=ol(e.named[t]))})}function I$(e,t,n,r,s,i){const{messages:o,onWarn:a}=e,l=pi(e,r,n);let c={},u,f=null;const d="translate";for(let g=0;g{throw i&&i(o),o},onCacheKey:o=>$p(t,n,o)}}function D$(e,t,n,r){const{modifiers:s,pluralRules:i}=e,a={locale:t,modifiers:s,pluralRules:i,messages:l=>{const c=Cc(n,l);if(_e(c)){let u=!1;const d=Yp(e,l,t,c,l,()=>{u=!0});return u?fd:d}else return Pt(c)?c:fd}};return e.processor&&(a.processor=e.processor),r.list&&(a.list=r.list),r.named&&(a.named=r.named),st(r.plural)&&(a.pluralIndex=r.plural),a}function F$(e,...t){const{datetimeFormats:n,unresolving:r,fallbackLocale:s,onWarn:i}=e,{__datetimeFormatters:o}=e,[a,l,c,u]=Gp(...t),f=ot(c.missingWarn)?c.missingWarn:e.missingWarn;ot(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const d=!!c.part,g=_e(c.locale)?c.locale:e.locale,S=pi(e,s,g);if(!_e(a)||a==="")return new Intl.DateTimeFormat(g).format(l);let A={},_,p=null;const v="datetime format";for(let k=0;kos&&os.emit(e,t)}const v$={[0]:"Not found '{key}' key in '{locale}' locale messages.",[1]:"Fall back to translate '{key}' key with '{target}' locale.",[2]:"Cannot format a number value due to not supported Intl.NumberFormat.",[3]:"Fall back to number format '{key}' key with '{target}' locale.",[4]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[5]:"Fall back to datetime format '{key}' key with '{target}' locale."};function b$(e,...t){return Np(v$[e],...t)}const Up="9.1.10",Go=-1,y$="";function E$(){return{upper:e=>_e(e)?e.toUpperCase():e,lower:e=>_e(e)?e.toLowerCase():e,capitalize:e=>_e(e)?`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`:e}}let Wp;function w$(e){Wp=e}let zp=null;const T$=e=>{zp=e},Kp=()=>zp;let cd=0;function S$(e={}){const t=_e(e.version)?e.version:Up,n=_e(e.locale)?e.locale:"en-US",r=ln(e.fallbackLocale)||De(e.fallbackLocale)||_e(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:n,s=De(e.messages)?e.messages:{[n]:{}},i=De(e.datetimeFormats)?e.datetimeFormats:{[n]:{}},o=De(e.numberFormats)?e.numberFormats:{[n]:{}},a=Bn({},e.modifiers||{},E$()),l=e.pluralRules||{},c=it(e.missing)?e.missing:null,u=ot(e.missingWarn)||il(e.missingWarn)?e.missingWarn:!0,f=ot(e.fallbackWarn)||il(e.fallbackWarn)?e.fallbackWarn:!0,d=!!e.fallbackFormat,g=!!e.unresolving,S=it(e.postTranslation)?e.postTranslation:null,A=De(e.processor)?e.processor:null,_=ot(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,v=it(e.messageCompiler)?e.messageCompiler:Wp,E=it(e.onWarn)?e.onWarn:Ip,m=e,k=Jt(m.__datetimeFormatters)?m.__datetimeFormatters:new Map,$=Jt(m.__numberFormatters)?m.__numberFormatters:new Map,L=Jt(m.__meta)?m.__meta:{};cd++;const H={version:t,cid:cd,locale:n,fallbackLocale:r,messages:s,datetimeFormats:i,numberFormats:o,modifiers:a,pluralRules:l,missing:c,missingWarn:u,fallbackWarn:f,fallbackFormat:d,unresolving:g,postTranslation:S,processor:A,warnHtmlMessage:_,escapeParameter:p,messageCompiler:v,onWarn:E,__datetimeFormatters:k,__numberFormatters:$,__meta:L};return __INTLIFY_PROD_DEVTOOLS__&&jp(H,t,L),H}function C$(e,t){return e instanceof RegExp?e.test(t):e}function A$(e,t){return e instanceof RegExp?e.test(t):e}function Xo(e,t,n,r,s){const{missing:i,onWarn:o}=e;if(i!==null){const a=i(e,n,t,s);return _e(a)?a:t}else return t}function pi(e,t,n){const r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let i=[n];for(;ln(i);)i=ud(s,i,t);const o=ln(t)?t:De(t)?t.default?t.default:null:t;i=_e(o)?[o]:o,ln(i)&&ud(s,i,!1),r.__localeChainCache.set(n,s)}return s}function ud(e,t,n){let r=!0;for(let s=0;se;let cl=Object.create(null);function $$(){cl=Object.create(null)}function P$(e,t={}){{const r=(t.onCacheKey||N$)(e),s=cl[r];if(s)return s;let i=!1;const o=t.onError||qN;t.onError=c=>{i=!0,o(c)};const{code:a}=m$(e,t),l=new Function(`return ${a}`)();return i?l:cl[r]=l}}function tr(e){return qo(e,null,void 0)}const fd=()=>"",Pt=e=>it(e);function x$(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,fallbackLocale:i,messages:o}=e,[a,l]=qp(...t),c=ot(l.missingWarn)?l.missingWarn:e.missingWarn,u=ot(l.fallbackWarn)?l.fallbackWarn:e.fallbackWarn,f=ot(l.escapeParameter)?l.escapeParameter:e.escapeParameter,d=!!l.resolvedMessage,g=_e(l.default)||ot(l.default)?ot(l.default)?a:l.default:n?a:"",S=n||g!=="",A=_e(l.locale)?l.locale:e.locale;f&&I$(l);let[_,p,v]=d?[a,A,o[A]||{}]:M$(e,a,A,i,u,c),E=a;if(!d&&!(_e(_)||Pt(_))&&S&&(_=g,E=_),!d&&(!(_e(_)||Pt(_))||!_e(p)))return s?Go:a;let m=!1;const k=()=>{m=!0},$=Pt(_)?_:Yp(e,a,p,_,E,k);if(m)return _;const L=F$(e,p,v,l),H=Hp(L),j=R$(e,$,H),q=r?r(j):j;if(__INTLIFY_PROD_DEVTOOLS__){const J={timestamp:Date.now(),key:_e(a)?a:Pt(_)?_.key:"",locale:p||(Pt(_)?_.locale:""),format:_e(_)?_:Pt(_)?_.source:"",message:q};J.meta=Bn({},e.__meta,Kp()||{}),Vp(J)}return q}function I$(e){ln(e.list)?e.list=e.list.map(t=>_e(t)?ol(t):t):Jt(e.named)&&Object.keys(e.named).forEach(t=>{_e(e.named[t])&&(e.named[t]=ol(e.named[t]))})}function M$(e,t,n,r,s,i){const{messages:o,onWarn:a}=e,l=pi(e,r,n);let c={},u,f=null;const d="translate";for(let g=0;g{throw i&&i(o),o},onCacheKey:o=>$p(t,n,o)}}function F$(e,t,n,r){const{modifiers:s,pluralRules:i}=e,a={locale:t,modifiers:s,pluralRules:i,messages:l=>{const c=Cc(n,l);if(_e(c)){let u=!1;const d=Yp(e,l,t,c,l,()=>{u=!0});return u?fd:d}else return Pt(c)?c:fd}};return e.processor&&(a.processor=e.processor),r.list&&(a.list=r.list),r.named&&(a.named=r.named),st(r.plural)&&(a.pluralIndex=r.plural),a}function H$(e,...t){const{datetimeFormats:n,unresolving:r,fallbackLocale:s,onWarn:i}=e,{__datetimeFormatters:o}=e,[a,l,c,u]=Gp(...t),f=ot(c.missingWarn)?c.missingWarn:e.missingWarn;ot(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const d=!!c.part,g=_e(c.locale)?c.locale:e.locale,S=pi(e,s,g);if(!_e(a)||a==="")return new Intl.DateTimeFormat(g).format(l);let A={},_,p=null;const v="datetime format";for(let k=0;ke(n,r,Se.getCurrentInstance()||void 0,s)}function kc(e,t){const{messages:n,__i18n:r}=t,s=D.isPlainObject(n)?n:D.isArray(r)?{}:{[e]:{}};if(D.isArray(r)&&r.forEach(({locale:i,resource:o})=>{i?(s[i]=s[i]||{},io(o,s[i])):io(o,s)}),t.flatJson)for(const i in s)D.hasOwn(s,i)&&Te.handleFlatJson(s[i]);return s}const $i=e=>!D.isObject(e)||D.isArray(e);function io(e,t){if($i(e)||$i(t))throw Xe(20);for(const n in e)D.hasOwn(e,n)&&($i(e[n])||$i(t[n])?t[n]=e[n]:io(e[n],t[n]))}function Oc(e={}){const{__root:t}=e,n=t===void 0;let r=D.isBoolean(e.inheritLocale)?e.inheritLocale:!0;const s=Se.ref(t&&r?t.locale.value:D.isString(e.locale)?e.locale:"en-US"),i=Se.ref(t&&r?t.fallbackLocale.value:D.isString(e.fallbackLocale)||D.isArray(e.fallbackLocale)||D.isPlainObject(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s.value),o=Se.ref(kc(s.value,e)),a=Se.ref(D.isPlainObject(e.datetimeFormats)?e.datetimeFormats:{[s.value]:{}}),l=Se.ref(D.isPlainObject(e.numberFormats)?e.numberFormats:{[s.value]:{}});let c=t?t.missingWarn:D.isBoolean(e.missingWarn)||D.isRegExp(e.missingWarn)?e.missingWarn:!0,u=t?t.fallbackWarn:D.isBoolean(e.fallbackWarn)||D.isRegExp(e.fallbackWarn)?e.fallbackWarn:!0,f=t?t.fallbackRoot:D.isBoolean(e.fallbackRoot)?e.fallbackRoot:!0,d=!!e.fallbackFormat,g=D.isFunction(e.missing)?e.missing:null,S=D.isFunction(e.missing)?hd(e.missing):null,A=D.isFunction(e.postTranslation)?e.postTranslation:null,_=D.isBoolean(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter;const v=t?t.modifiers:D.isPlainObject(e.modifiers)?e.modifiers:{};let E=e.pluralRules||t&&t.pluralRules,m;function k(){return Te.createCoreContext({version:Jp,locale:s.value,fallbackLocale:i.value,messages:o.value,datetimeFormats:a.value,numberFormats:l.value,modifiers:v,pluralRules:E,missing:S===null?void 0:S,missingWarn:c,fallbackWarn:u,fallbackFormat:d,unresolving:!0,postTranslation:A===null?void 0:A,warnHtmlMessage:_,escapeParameter:p,__datetimeFormatters:D.isPlainObject(m)?m.__datetimeFormatters:void 0,__numberFormatters:D.isPlainObject(m)?m.__numberFormatters:void 0,__v_emitter:D.isPlainObject(m)?m.__v_emitter:void 0,__meta:{framework:"vue"}})}m=k(),Te.updateFallbackLocale(m,s.value,i.value);function $(){return[s.value,i.value,o.value,a.value,l.value]}const L=Se.computed({get:()=>s.value,set:C=>{s.value=C,m.locale=s.value}}),H=Se.computed({get:()=>i.value,set:C=>{i.value=C,m.fallbackLocale=i.value,Te.updateFallbackLocale(m,s.value,C)}}),j=Se.computed(()=>o.value),q=Se.computed(()=>a.value),J=Se.computed(()=>l.value);function F(){return D.isFunction(A)?A:null}function re(C){A=C,m.postTranslation=C}function P(){return g}function x(C){C!==null&&(S=hd(C)),g=C,m.missing=S}function Z(C,N,ne,G,ie,ce){$();let me;if(me=C(m),D.isNumber(me)&&me===Te.NOT_REOSLVED){const[ke,Le]=N();return t&&f?G(t):ie(ke)}else{if(ce(me))return me;throw Xe(14)}}function ee(...C){return Z(N=>Te.translate(N,...C),()=>Te.parseTranslateArgs(...C),"translate",N=>N.t(...C),N=>N,N=>D.isString(N))}function oe(...C){const[N,ne,G]=C;if(G&&!D.isObject(G))throw Xe(15);return ee(N,ne,D.assign({resolvedMessage:!0},G||{}))}function le(...C){return Z(N=>Te.datetime(N,...C),()=>Te.parseDateTimeArgs(...C),"datetime format",N=>N.d(...C),()=>Te.MISSING_RESOLVE_VALUE,N=>D.isString(N))}function ue(...C){return Z(N=>Te.number(N,...C),()=>Te.parseNumberArgs(...C),"number format",N=>N.n(...C),()=>Te.MISSING_RESOLVE_VALUE,N=>D.isString(N))}function pe(C){return C.map(N=>D.isString(N)?Se.createVNode(Se.Text,null,N,0):N)}const Oe={normalize:pe,interpolate:C=>C,type:"vnode"};function Ee(...C){return Z(N=>{let ne;const G=N;try{G.processor=Oe,ne=Te.translate(G,...C)}finally{G.processor=null}return ne},()=>Te.parseTranslateArgs(...C),"translate",N=>N[ul](...C),N=>[Se.createVNode(Se.Text,null,N,0)],N=>D.isArray(N))}function M(...C){return Z(N=>Te.number(N,...C),()=>Te.parseNumberArgs(...C),"number format",N=>N[dl](...C),()=>[],N=>D.isString(N)||D.isArray(N))}function X(...C){return Z(N=>Te.datetime(N,...C),()=>Te.parseDateTimeArgs(...C),"datetime format",N=>N[fl](...C),()=>[],N=>D.isString(N)||D.isArray(N))}function B(C){E=C,m.pluralRules=E}function te(C,N){const ne=D.isString(N)?N:s.value,G=y(ne);return Te.resolveValue(G,C)!==null}function ge(C){let N=null;const ne=Te.getLocaleChain(m,i.value,s.value);for(let G=0;G{r&&(s.value=C,m.locale=C,Te.updateFallbackLocale(m,s.value,i.value))}),Se.watch(t.fallbackLocale,C=>{r&&(i.value=C,m.fallbackLocale=C,Te.updateFallbackLocale(m,s.value,i.value))})),{id:dd,locale:L,fallbackLocale:H,get inheritLocale(){return r},set inheritLocale(C){r=C,C&&t&&(s.value=t.locale.value,i.value=t.fallbackLocale.value,Te.updateFallbackLocale(m,s.value,i.value))},get availableLocales(){return Object.keys(o.value).sort()},messages:j,datetimeFormats:q,numberFormats:J,get modifiers(){return v},get pluralRules(){return E||{}},get isGlobal(){return n},get missingWarn(){return c},set missingWarn(C){c=C,m.missingWarn=c},get fallbackWarn(){return u},set fallbackWarn(C){u=C,m.fallbackWarn=u},get fallbackRoot(){return f},set fallbackRoot(C){f=C},get fallbackFormat(){return d},set fallbackFormat(C){d=C,m.fallbackFormat=d},get warnHtmlMessage(){return _},set warnHtmlMessage(C){_=C,m.warnHtmlMessage=C},get escapeParameter(){return p},set escapeParameter(C){p=C,m.escapeParameter=C},t:ee,rt:oe,d:le,n:ue,te,tm:be,getLocaleMessage:y,setLocaleMessage:w,mergeLocaleMessage:h,getDateTimeFormat:b,setDateTimeFormat:O,mergeDateTimeFormat:I,getNumberFormat:R,setNumberFormat:W,mergeNumberFormat:Q,getPostTranslationHandler:F,setPostTranslationHandler:re,getMissingHandler:P,setMissingHandler:x,[ul]:Ee,[dl]:M,[fl]:X,[Qp]:B,[Zp]:e.__injectWithOption}}function K$(e){const t=D.isString(e.locale)?e.locale:"en-US",n=D.isString(e.fallbackLocale)||D.isArray(e.fallbackLocale)||D.isPlainObject(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,r=D.isFunction(e.missing)?e.missing:void 0,s=D.isBoolean(e.silentTranslationWarn)||D.isRegExp(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,i=D.isBoolean(e.silentFallbackWarn)||D.isRegExp(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,o=D.isBoolean(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,l=D.isPlainObject(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=D.isFunction(e.postTranslation)?e.postTranslation:void 0,f=D.isString(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,d=!!e.escapeParameterHtml,g=D.isBoolean(e.sync)?e.sync:!0;let S=e.messages;if(D.isPlainObject(e.sharedMessages)){const k=e.sharedMessages;S=Object.keys(k).reduce((L,H)=>{const j=L[H]||(L[H]={});return D.assign(j,k[H]),L},S||{})}const{__i18n:A,__root:_,__injectWithOption:p}=e,v=e.datetimeFormats,E=e.numberFormats,m=e.flatJson;return{locale:t,fallbackLocale:n,messages:S,flatJson:m,datetimeFormats:v,numberFormats:E,missing:r,missingWarn:s,fallbackWarn:i,fallbackRoot:o,fallbackFormat:a,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:d,inheritLocale:g,__i18n:A,__root:_,__injectWithOption:p}}function hl(e={}){const t=Oc(K$(e)),n={id:t.id,get locale(){return t.locale.value},set locale(r){t.locale.value=r},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(r){t.fallbackLocale.value=r},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return t.getMissingHandler()},set missing(r){t.setMissingHandler(r)},get silentTranslationWarn(){return D.isBoolean(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(r){t.missingWarn=D.isBoolean(r)?!r:r},get silentFallbackWarn(){return D.isBoolean(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(r){t.fallbackWarn=D.isBoolean(r)?!r:r},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(r){t.fallbackFormat=r},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(r){t.setPostTranslationHandler(r)},get sync(){return t.inheritLocale},set sync(r){t.inheritLocale=r},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){t.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(r){t.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...r){const[s,i,o]=r,a={};let l=null,c=null;if(!D.isString(s))throw Xe(15);const u=s;return D.isString(i)?a.locale=i:D.isArray(i)?l=i:D.isPlainObject(i)&&(c=i),D.isArray(o)?l=o:D.isPlainObject(o)&&(c=o),t.t(u,l||c||{},a)},rt(...r){return t.rt(...r)},tc(...r){const[s,i,o]=r,a={plural:1};let l=null,c=null;if(!D.isString(s))throw Xe(15);const u=s;return D.isString(i)?a.locale=i:D.isNumber(i)?a.plural=i:D.isArray(i)?l=i:D.isPlainObject(i)&&(c=i),D.isString(o)?a.locale=o:D.isArray(o)?l=o:D.isPlainObject(o)&&(c=o),t.t(u,l||c||{},a)},te(r,s){return t.te(r,s)},tm(r){return t.tm(r)},getLocaleMessage(r){return t.getLocaleMessage(r)},setLocaleMessage(r,s){t.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){t.mergeLocaleMessage(r,s)},d(...r){return t.d(...r)},getDateTimeFormat(r){return t.getDateTimeFormat(r)},setDateTimeFormat(r,s){t.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){t.mergeDateTimeFormat(r,s)},n(...r){return t.n(...r)},getNumberFormat(r){return t.getNumberFormat(r)},setNumberFormat(r,s){t.setNumberFormat(r,s)},mergeNumberFormat(r,s){t.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1},__onComponentInstanceCreated(r){const{componentInstanceCreatedListener:s}=e;s&&s(r,n)}};return n}const Lc={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}},ml={name:"i18n-t",props:D.assign({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>D.isNumber(e)||!isNaN(e)}},Lc),setup(e,t){const{slots:n,attrs:r}=t,s=e.i18n||Jo({useScope:e.scope,__useComponent:!0}),i=Object.keys(n).filter(o=>o!=="_");return()=>{const o={};e.locale&&(o.locale=e.locale),e.plural!==void 0&&(o.plural=D.isString(e.plural)?+e.plural:e.plural);const a=Y$(t,i),l=s[ul](e.keypath,a,o),c=D.assign({},r);return D.isString(e.tag)||D.isObject(e.tag)?Se.h(e.tag,c,l):Se.h(Se.Fragment,c,l)}}};function Y$({slots:e},t){return t.length===1&&t[0]==="default"?e.default?e.default():[]:t.reduce((n,r)=>{const s=e[r];return s&&(n[r]=s()),n},{})}function eg(e,t,n,r){const{slots:s,attrs:i}=t;return()=>{const o={part:!0};let a={};e.locale&&(o.locale=e.locale),D.isString(e.format)?o.key=e.format:D.isObject(e.format)&&(D.isString(e.format.key)&&(o.key=e.format.key),a=Object.keys(e.format).reduce((f,d)=>n.includes(d)?D.assign({},f,{[d]:e.format[d]}):f,{}));const l=r(e.value,o,a);let c=[o.key];D.isArray(l)?c=l.map((f,d)=>{const g=s[f.type];return g?g({[f.type]:f.value,index:d,parts:l}):[f.value]}):D.isString(l)&&(c=[l]);const u=D.assign({},i);return D.isString(e.tag)||D.isObject(e.tag)?Se.h(e.tag,u,c):Se.h(Se.Fragment,u,c)}}const q$=["localeMatcher","style","unit","unitDisplay","currency","currencyDisplay","useGrouping","numberingSystem","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","notation","formatMatcher"],pl={name:"i18n-n",props:D.assign({value:{type:Number,required:!0},format:{type:[String,Object]}},Lc),setup(e,t){const n=e.i18n||Jo({useScope:"parent",__useComponent:!0});return eg(e,t,q$,(...r)=>n[dl](...r))}},G$=["dateStyle","timeStyle","fractionalSecondDigits","calendar","dayPeriod","numberingSystem","localeMatcher","timeZone","hour12","hourCycle","formatMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName"],gl={name:"i18n-d",props:D.assign({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Lc),setup(e,t){const n=e.i18n||Jo({useScope:"parent",__useComponent:!0});return eg(e,t,G$,(...r)=>n[fl](...r))}};function X$(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function tg(e){const t=(n,{instance:r,value:s,modifiers:i})=>{if(!r||!r.$)throw Xe(22);const o=X$(e,r.$),a=J$(s);n.textContent=o.t(...Q$(a))};return{beforeMount:t,beforeUpdate:t}}function J$(e){if(D.isString(e))return{path:e};if(D.isPlainObject(e)){if(!("path"in e))throw Xe(19,"path");return e}else throw Xe(20)}function Q$(e){const{path:t,locale:n,args:r,choice:s,plural:i}=e,o={},a=r||{};return D.isString(n)&&(o.locale=n),D.isNumber(s)&&(o.plural=s),D.isNumber(i)&&(o.plural=i),[t,a,o]}function Z$(e,t,...n){const r=D.isPlainObject(n[0])?n[0]:{},s=!!r.useI18nComponentName;(D.isBoolean(r.globalInstall)?r.globalInstall:!0)&&(e.component(s?"i18n":ml.name,ml),e.component(pl.name,pl),e.component(gl.name,gl)),e.directive("t",tg(t))}function eP(e,t,n){return{beforeCreate(){const r=Se.getCurrentInstance();if(!r)throw Xe(22);const s=this.$options;if(s.i18n){const i=s.i18n;s.__i18n&&(i.__i18n=s.__i18n),i.__root=t,this===this.$root?this.$i18n=md(e,i):(i.__injectWithOption=!0,this.$i18n=hl(i))}else s.__i18n?this===this.$root?this.$i18n=md(e,s):this.$i18n=hl({__i18n:s.__i18n,__injectWithOption:!0,__root:t}):this.$i18n=e;e.__onComponentInstanceCreated(this.$i18n),n.__setInstance(r,this.$i18n),this.$t=(...i)=>this.$i18n.t(...i),this.$rt=(...i)=>this.$i18n.rt(...i),this.$tc=(...i)=>this.$i18n.tc(...i),this.$te=(i,o)=>this.$i18n.te(i,o),this.$d=(...i)=>this.$i18n.d(...i),this.$n=(...i)=>this.$i18n.n(...i),this.$tm=i=>this.$i18n.tm(i)},mounted(){},beforeUnmount(){const r=Se.getCurrentInstance();if(!r)throw Xe(22);delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__deleteInstance(r),delete this.$i18n}}}function md(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Qp](t.pluralizationRules||e.pluralizationRules);const n=kc(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(r=>e.mergeLocaleMessage(r,n[r])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(r=>e.mergeDateTimeFormat(r,t.datetimeFormats[r])),t.numberFormats&&Object.keys(t.numberFormats).forEach(r=>e.mergeNumberFormat(r,t.numberFormats[r])),e}function tP(e={}){const t=D.isBoolean(e.legacy)?e.legacy:!0,n=!!e.globalInjection,r=new Map,s=t?hl(e):Oc(e),i=D.makeSymbol(""),o={get mode(){return t?"legacy":"composition"},async install(a,...l){a.__VUE_I18N_SYMBOL__=i,a.provide(a.__VUE_I18N_SYMBOL__,o),!t&&n&&oP(a,o.global),Z$(a,o,...l),t&&a.mixin(eP(s,s.__composer,o))},get global(){return s},__instances:r,__getInstance(a){return r.get(a)||null},__setInstance(a,l){r.set(a,l)},__deleteInstance(a){r.delete(a)}};return o}function Jo(e={}){const t=Se.getCurrentInstance();if(t==null)throw Xe(16);if(!t.appContext.app.__VUE_I18N_SYMBOL__)throw Xe(17);const n=Se.inject(t.appContext.app.__VUE_I18N_SYMBOL__);if(!n)throw Xe(22);const r=n.mode==="composition"?n.global:n.global.__composer,s=D.isEmptyObject(e)?"__i18n"in t.type?"local":"global":e.useScope?e.useScope:"local";if(s==="global"){let a=D.isObject(e.messages)?e.messages:{};"__i18nGlobal"in t.type&&(a=kc(r.locale.value,{messages:a,__i18n:t.type.__i18nGlobal}));const l=Object.keys(a);if(l.length&&l.forEach(c=>{r.mergeLocaleMessage(c,a[c])}),D.isObject(e.datetimeFormats)){const c=Object.keys(e.datetimeFormats);c.length&&c.forEach(u=>{r.mergeDateTimeFormat(u,e.datetimeFormats[u])})}if(D.isObject(e.numberFormats)){const c=Object.keys(e.numberFormats);c.length&&c.forEach(u=>{r.mergeNumberFormat(u,e.numberFormats[u])})}return r}if(s==="parent"){let a=nP(n,t,e.__useComponent);return a==null&&(a=r),a}if(n.mode==="legacy")throw Xe(18);const i=n;let o=i.__getInstance(t);if(o==null){const a=t.type,l=D.assign({},e);a.__i18n&&(l.__i18n=a.__i18n),r&&(l.__root=r),o=Oc(l),rP(i,t),i.__setInstance(t,o)}return o}function nP(e,t,n=!1){let r=null;const s=t.root;let i=t.parent;for(;i!=null;){const o=e;if(e.mode==="composition")r=o.__getInstance(i);else{const a=o.__getInstance(i);a!=null&&(r=a.__composer),n&&r&&!r[Zp]&&(r=null)}if(r!=null||s===i)break;i=i.parent}return r}function rP(e,t,n){Se.onMounted(()=>{},t),Se.onUnmounted(()=>{e.__deleteInstance(t)},t)}const sP=["locale","fallbackLocale","availableLocales"],iP=["t","rt","d","n","tm"];function oP(e,t){const n=Object.create(null);sP.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw Xe(22);const i=Se.isRef(s.value)?{get(){return s.value.value},set(o){s.value.value=o}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,r,i)}),e.config.globalProperties.$i18n=n,iP.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw Xe(22);Object.defineProperty(e.config.globalProperties,`$${r}`,s)})}Te.registerMessageCompiler(Te.compileToFunction);mn.DatetimeFormat=gl;mn.NumberFormat=pl;mn.Translation=ml;mn.VERSION=Jp;mn.createI18n=tP;mn.useI18n=Jo;mn.vTDirective=tg;Lp.exports=mn;var aP={header:{docs:"Dokumentation",blog:"Blog",github:"GitHub",login:"Fahrzeug Logins",about:"\xDCber evcc"},footer:{version:{availableShort:"Update",availableLong:"Update verf\xFCgbar",modalTitle:"Update verf\xFCgbar",modalUpdateStarted:"Nach der Aktualisierung wird evcc neu gestartet.",modalInstalledVersion:"Aktuell installierte Version",modalNoReleaseNotes:"Keine Releasenotes verf\xFCgbar. Mehr Informationen zur neuen Version findest du hier:",modalCancel:"Abbrechen",modalUpdate:"Aktualisieren",modalUpdateNow:"Jetzt aktualisieren",modalDownload:"Download",modalUpdateStatusStart:"Aktualisierung gestartet: ",modalUpdateStatusFailed:"Aktualisierung nicht m\xF6glich: "},savings:{footerShort:"{percent}% Sonne",footerLong:"{percent}% Sonnenenergie",modalTitlePartOne:"{total} kWh geladen",modalTitlePartTwo:"{percent}% Sonne",modalChartGrid:"Netz {grid} kWh",modalChartSelf:"Sonne {self} kWh",modalSavingsPrice:"Effektiver Energiepreis",modalSavingsTotal:"Ersparnis gegen\xFCber Netzbezug",modalExplaination:"Berechnung",modalExplainationGrid:"Netz {gridPrice}",modalExplainationFeedIn:"Einspeisung {feedInPrice}",modalServerStart:"Seit Serverstart {since}.",modalNoData:"noch nicht geladen"},sponsor:{thanks:"Danke f\xFCr deine Unterst\xFCtzung, {sponsor}! Das hilft uns bei der Weiterentwicklung.",confetti:"Lust auf etwas Sponsor-Konfetti?",supportUs:"Wir m\xF6chten effizientes Zuhause-Laden zum Standard f\xFCr m\xF6glichst viele Menschen machen. Helfe uns indem du die Weiterentwicklung und Pflege des Projekts unterst\xFCtzt.",sticker:"...oder evcc Sticker?",confettiPromise:"Es gibt auch Sticker und digitales Konfetti ;)",becomeSponsor:"Werde jetzt GitHub Sponsor"}},notifications:{modalTitle:"Meldungen",dismissAll:"Meldungen entfernen"},main:{energyflow:{noEnergy:"Kein Energiefluss",homePower:"Verbrauch",pvProduction:"Erzeugung",loadpoints:"Ladepunkt | Ladepunkt | {count} Ladepunkte",battery:"Batterie",batteryCharge:"Batterie laden",batteryDischarge:"Batterie entladen",gridImport:"Netzbezug",selfConsumption:"Eigenverbrauch",pvExport:"Einspeisung"},mode:{offShort:"Aus",offLong:"Aus",nowShort:"Sofort",nowLong:"Sofort",minpvShort:"Min",minpvLong:"Min + PV",pvShort:"PV",pvLong:"PV",fast:"Schnell",cheap:"G\xFCnstig"},loadpoint:{fallbackName:"Ladepunkt",remoteDisabledSoft:"{source}: Adaptives PV-Laden deaktiviert",remoteDisabledHard:"{source}: Deaktiviert",power:"Leistung",charged:"Geladen",duration:"Dauer",remaining:"Restzeit"},vehicles:"Parkplatz",vehicle:{fallbackName:"Fahrzeug",vehicleSoC:"Ladestand",targetSoC:"Ladeziel",none:"Kein Fahrzeug",unknown:"Gastfahrzeug"},vehicleSoC:{disconnected:"getrennt",charging:"l\xE4dt",ready:"bereit",connected:"verbunden"},vehicleStatus:{minCharge:"Mindestladung bis {soc}%.",waitForVehicle:"Ladebereit. Warte auf Fahrzeug.",charging:"Ladevorgang aktiv.",targetChargePlanned:"Zielladen geplant. Ladung startet {time} Uhr.",targetChargeWaitForVehicle:"Zielladen bereit. Warte auf Fahrzeug.",targetChargeActive:"Zielladen aktiv.",connected:"Verbunden.",pvDisable:"Zu wenig \xDCberschuss. Pausiere in {remaining}.",pvEnable:"\xDCberschuss verf\xFCgbar. Starte in {remaining}.",scale1p:"Reduziere auf einphasig in {remaining}.",scale3p:"Erh\xF6he auf dreiphasig in {remaining}.",disconnected:"Nicht verbunden.",unknown:""},provider:{login:"anmelden",logout:"abmelden"},targetCharge:{title:"Zielzeit",inactiveLabel:"Zielzeit",activeLabel:"{time}",modalTitle:"Zielzeit festlegen",setTargetTime:"keine",description:"Wann soll das Fahrzeug auf {targetSoC}% geladen sein?",today:"heute",tomorrow:"morgen",targetIsInThePast:"Zeitpunkt liegt in der Vergangenheit.",remove:"Entfernen",activate:"Aktivieren",experimentalLabel:"Experimentell",experimentalText:` + */Object.defineProperty(mn,"__esModule",{value:!0});var Te=W$,Se=z$,D=K$;const Jp="9.1.10";function Xe(e,...t){return Te.createCompileError(e,null,void 0)}const ul=D.makeSymbol("__transrateVNode"),fl=D.makeSymbol("__datetimeParts"),dl=D.makeSymbol("__numberParts");D.makeSymbol("__enableEmitter");D.makeSymbol("__disableEmitter");const Qp=D.makeSymbol("__setPluralRules");D.makeSymbol("__intlifyMeta");const Zp=D.makeSymbol("__injectWithOption");let dd=0;function hd(e){return(t,n,r,s)=>e(n,r,Se.getCurrentInstance()||void 0,s)}function kc(e,t){const{messages:n,__i18n:r}=t,s=D.isPlainObject(n)?n:D.isArray(r)?{}:{[e]:{}};if(D.isArray(r)&&r.forEach(({locale:i,resource:o})=>{i?(s[i]=s[i]||{},io(o,s[i])):io(o,s)}),t.flatJson)for(const i in s)D.hasOwn(s,i)&&Te.handleFlatJson(s[i]);return s}const $i=e=>!D.isObject(e)||D.isArray(e);function io(e,t){if($i(e)||$i(t))throw Xe(20);for(const n in e)D.hasOwn(e,n)&&($i(e[n])||$i(t[n])?t[n]=e[n]:io(e[n],t[n]))}function Oc(e={}){const{__root:t}=e,n=t===void 0;let r=D.isBoolean(e.inheritLocale)?e.inheritLocale:!0;const s=Se.ref(t&&r?t.locale.value:D.isString(e.locale)?e.locale:"en-US"),i=Se.ref(t&&r?t.fallbackLocale.value:D.isString(e.fallbackLocale)||D.isArray(e.fallbackLocale)||D.isPlainObject(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s.value),o=Se.ref(kc(s.value,e)),a=Se.ref(D.isPlainObject(e.datetimeFormats)?e.datetimeFormats:{[s.value]:{}}),l=Se.ref(D.isPlainObject(e.numberFormats)?e.numberFormats:{[s.value]:{}});let c=t?t.missingWarn:D.isBoolean(e.missingWarn)||D.isRegExp(e.missingWarn)?e.missingWarn:!0,u=t?t.fallbackWarn:D.isBoolean(e.fallbackWarn)||D.isRegExp(e.fallbackWarn)?e.fallbackWarn:!0,f=t?t.fallbackRoot:D.isBoolean(e.fallbackRoot)?e.fallbackRoot:!0,d=!!e.fallbackFormat,g=D.isFunction(e.missing)?e.missing:null,S=D.isFunction(e.missing)?hd(e.missing):null,A=D.isFunction(e.postTranslation)?e.postTranslation:null,_=D.isBoolean(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter;const v=t?t.modifiers:D.isPlainObject(e.modifiers)?e.modifiers:{};let E=e.pluralRules||t&&t.pluralRules,m;function k(){return Te.createCoreContext({version:Jp,locale:s.value,fallbackLocale:i.value,messages:o.value,datetimeFormats:a.value,numberFormats:l.value,modifiers:v,pluralRules:E,missing:S===null?void 0:S,missingWarn:c,fallbackWarn:u,fallbackFormat:d,unresolving:!0,postTranslation:A===null?void 0:A,warnHtmlMessage:_,escapeParameter:p,__datetimeFormatters:D.isPlainObject(m)?m.__datetimeFormatters:void 0,__numberFormatters:D.isPlainObject(m)?m.__numberFormatters:void 0,__v_emitter:D.isPlainObject(m)?m.__v_emitter:void 0,__meta:{framework:"vue"}})}m=k(),Te.updateFallbackLocale(m,s.value,i.value);function $(){return[s.value,i.value,o.value,a.value,l.value]}const L=Se.computed({get:()=>s.value,set:C=>{s.value=C,m.locale=s.value}}),H=Se.computed({get:()=>i.value,set:C=>{i.value=C,m.fallbackLocale=i.value,Te.updateFallbackLocale(m,s.value,C)}}),j=Se.computed(()=>o.value),q=Se.computed(()=>a.value),J=Se.computed(()=>l.value);function F(){return D.isFunction(A)?A:null}function re(C){A=C,m.postTranslation=C}function P(){return g}function x(C){C!==null&&(S=hd(C)),g=C,m.missing=S}function Z(C,N,ne,G,ie,ce){$();let me;if(me=C(m),D.isNumber(me)&&me===Te.NOT_REOSLVED){const[ke,Le]=N();return t&&f?G(t):ie(ke)}else{if(ce(me))return me;throw Xe(14)}}function ee(...C){return Z(N=>Te.translate(N,...C),()=>Te.parseTranslateArgs(...C),"translate",N=>N.t(...C),N=>N,N=>D.isString(N))}function oe(...C){const[N,ne,G]=C;if(G&&!D.isObject(G))throw Xe(15);return ee(N,ne,D.assign({resolvedMessage:!0},G||{}))}function le(...C){return Z(N=>Te.datetime(N,...C),()=>Te.parseDateTimeArgs(...C),"datetime format",N=>N.d(...C),()=>Te.MISSING_RESOLVE_VALUE,N=>D.isString(N))}function ue(...C){return Z(N=>Te.number(N,...C),()=>Te.parseNumberArgs(...C),"number format",N=>N.n(...C),()=>Te.MISSING_RESOLVE_VALUE,N=>D.isString(N))}function pe(C){return C.map(N=>D.isString(N)?Se.createVNode(Se.Text,null,N,0):N)}const Oe={normalize:pe,interpolate:C=>C,type:"vnode"};function Ee(...C){return Z(N=>{let ne;const G=N;try{G.processor=Oe,ne=Te.translate(G,...C)}finally{G.processor=null}return ne},()=>Te.parseTranslateArgs(...C),"translate",N=>N[ul](...C),N=>[Se.createVNode(Se.Text,null,N,0)],N=>D.isArray(N))}function M(...C){return Z(N=>Te.number(N,...C),()=>Te.parseNumberArgs(...C),"number format",N=>N[dl](...C),()=>[],N=>D.isString(N)||D.isArray(N))}function X(...C){return Z(N=>Te.datetime(N,...C),()=>Te.parseDateTimeArgs(...C),"datetime format",N=>N[fl](...C),()=>[],N=>D.isString(N)||D.isArray(N))}function B(C){E=C,m.pluralRules=E}function te(C,N){const ne=D.isString(N)?N:s.value,G=y(ne);return Te.resolveValue(G,C)!==null}function ge(C){let N=null;const ne=Te.getLocaleChain(m,i.value,s.value);for(let G=0;G{r&&(s.value=C,m.locale=C,Te.updateFallbackLocale(m,s.value,i.value))}),Se.watch(t.fallbackLocale,C=>{r&&(i.value=C,m.fallbackLocale=C,Te.updateFallbackLocale(m,s.value,i.value))})),{id:dd,locale:L,fallbackLocale:H,get inheritLocale(){return r},set inheritLocale(C){r=C,C&&t&&(s.value=t.locale.value,i.value=t.fallbackLocale.value,Te.updateFallbackLocale(m,s.value,i.value))},get availableLocales(){return Object.keys(o.value).sort()},messages:j,datetimeFormats:q,numberFormats:J,get modifiers(){return v},get pluralRules(){return E||{}},get isGlobal(){return n},get missingWarn(){return c},set missingWarn(C){c=C,m.missingWarn=c},get fallbackWarn(){return u},set fallbackWarn(C){u=C,m.fallbackWarn=u},get fallbackRoot(){return f},set fallbackRoot(C){f=C},get fallbackFormat(){return d},set fallbackFormat(C){d=C,m.fallbackFormat=d},get warnHtmlMessage(){return _},set warnHtmlMessage(C){_=C,m.warnHtmlMessage=C},get escapeParameter(){return p},set escapeParameter(C){p=C,m.escapeParameter=C},t:ee,rt:oe,d:le,n:ue,te,tm:be,getLocaleMessage:y,setLocaleMessage:w,mergeLocaleMessage:h,getDateTimeFormat:b,setDateTimeFormat:O,mergeDateTimeFormat:I,getNumberFormat:R,setNumberFormat:W,mergeNumberFormat:Q,getPostTranslationHandler:F,setPostTranslationHandler:re,getMissingHandler:P,setMissingHandler:x,[ul]:Ee,[dl]:M,[fl]:X,[Qp]:B,[Zp]:e.__injectWithOption}}function Y$(e){const t=D.isString(e.locale)?e.locale:"en-US",n=D.isString(e.fallbackLocale)||D.isArray(e.fallbackLocale)||D.isPlainObject(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,r=D.isFunction(e.missing)?e.missing:void 0,s=D.isBoolean(e.silentTranslationWarn)||D.isRegExp(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,i=D.isBoolean(e.silentFallbackWarn)||D.isRegExp(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,o=D.isBoolean(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,l=D.isPlainObject(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=D.isFunction(e.postTranslation)?e.postTranslation:void 0,f=D.isString(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,d=!!e.escapeParameterHtml,g=D.isBoolean(e.sync)?e.sync:!0;let S=e.messages;if(D.isPlainObject(e.sharedMessages)){const k=e.sharedMessages;S=Object.keys(k).reduce((L,H)=>{const j=L[H]||(L[H]={});return D.assign(j,k[H]),L},S||{})}const{__i18n:A,__root:_,__injectWithOption:p}=e,v=e.datetimeFormats,E=e.numberFormats,m=e.flatJson;return{locale:t,fallbackLocale:n,messages:S,flatJson:m,datetimeFormats:v,numberFormats:E,missing:r,missingWarn:s,fallbackWarn:i,fallbackRoot:o,fallbackFormat:a,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:d,inheritLocale:g,__i18n:A,__root:_,__injectWithOption:p}}function hl(e={}){const t=Oc(Y$(e)),n={id:t.id,get locale(){return t.locale.value},set locale(r){t.locale.value=r},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(r){t.fallbackLocale.value=r},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return t.getMissingHandler()},set missing(r){t.setMissingHandler(r)},get silentTranslationWarn(){return D.isBoolean(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(r){t.missingWarn=D.isBoolean(r)?!r:r},get silentFallbackWarn(){return D.isBoolean(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(r){t.fallbackWarn=D.isBoolean(r)?!r:r},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(r){t.fallbackFormat=r},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(r){t.setPostTranslationHandler(r)},get sync(){return t.inheritLocale},set sync(r){t.inheritLocale=r},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){t.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(r){t.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...r){const[s,i,o]=r,a={};let l=null,c=null;if(!D.isString(s))throw Xe(15);const u=s;return D.isString(i)?a.locale=i:D.isArray(i)?l=i:D.isPlainObject(i)&&(c=i),D.isArray(o)?l=o:D.isPlainObject(o)&&(c=o),t.t(u,l||c||{},a)},rt(...r){return t.rt(...r)},tc(...r){const[s,i,o]=r,a={plural:1};let l=null,c=null;if(!D.isString(s))throw Xe(15);const u=s;return D.isString(i)?a.locale=i:D.isNumber(i)?a.plural=i:D.isArray(i)?l=i:D.isPlainObject(i)&&(c=i),D.isString(o)?a.locale=o:D.isArray(o)?l=o:D.isPlainObject(o)&&(c=o),t.t(u,l||c||{},a)},te(r,s){return t.te(r,s)},tm(r){return t.tm(r)},getLocaleMessage(r){return t.getLocaleMessage(r)},setLocaleMessage(r,s){t.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){t.mergeLocaleMessage(r,s)},d(...r){return t.d(...r)},getDateTimeFormat(r){return t.getDateTimeFormat(r)},setDateTimeFormat(r,s){t.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){t.mergeDateTimeFormat(r,s)},n(...r){return t.n(...r)},getNumberFormat(r){return t.getNumberFormat(r)},setNumberFormat(r,s){t.setNumberFormat(r,s)},mergeNumberFormat(r,s){t.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1},__onComponentInstanceCreated(r){const{componentInstanceCreatedListener:s}=e;s&&s(r,n)}};return n}const Lc={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}},ml={name:"i18n-t",props:D.assign({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>D.isNumber(e)||!isNaN(e)}},Lc),setup(e,t){const{slots:n,attrs:r}=t,s=e.i18n||Jo({useScope:e.scope,__useComponent:!0}),i=Object.keys(n).filter(o=>o!=="_");return()=>{const o={};e.locale&&(o.locale=e.locale),e.plural!==void 0&&(o.plural=D.isString(e.plural)?+e.plural:e.plural);const a=q$(t,i),l=s[ul](e.keypath,a,o),c=D.assign({},r);return D.isString(e.tag)||D.isObject(e.tag)?Se.h(e.tag,c,l):Se.h(Se.Fragment,c,l)}}};function q$({slots:e},t){return t.length===1&&t[0]==="default"?e.default?e.default():[]:t.reduce((n,r)=>{const s=e[r];return s&&(n[r]=s()),n},{})}function eg(e,t,n,r){const{slots:s,attrs:i}=t;return()=>{const o={part:!0};let a={};e.locale&&(o.locale=e.locale),D.isString(e.format)?o.key=e.format:D.isObject(e.format)&&(D.isString(e.format.key)&&(o.key=e.format.key),a=Object.keys(e.format).reduce((f,d)=>n.includes(d)?D.assign({},f,{[d]:e.format[d]}):f,{}));const l=r(e.value,o,a);let c=[o.key];D.isArray(l)?c=l.map((f,d)=>{const g=s[f.type];return g?g({[f.type]:f.value,index:d,parts:l}):[f.value]}):D.isString(l)&&(c=[l]);const u=D.assign({},i);return D.isString(e.tag)||D.isObject(e.tag)?Se.h(e.tag,u,c):Se.h(Se.Fragment,u,c)}}const G$=["localeMatcher","style","unit","unitDisplay","currency","currencyDisplay","useGrouping","numberingSystem","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","notation","formatMatcher"],pl={name:"i18n-n",props:D.assign({value:{type:Number,required:!0},format:{type:[String,Object]}},Lc),setup(e,t){const n=e.i18n||Jo({useScope:"parent",__useComponent:!0});return eg(e,t,G$,(...r)=>n[dl](...r))}},X$=["dateStyle","timeStyle","fractionalSecondDigits","calendar","dayPeriod","numberingSystem","localeMatcher","timeZone","hour12","hourCycle","formatMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName"],gl={name:"i18n-d",props:D.assign({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Lc),setup(e,t){const n=e.i18n||Jo({useScope:"parent",__useComponent:!0});return eg(e,t,X$,(...r)=>n[fl](...r))}};function J$(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function tg(e){const t=(n,{instance:r,value:s,modifiers:i})=>{if(!r||!r.$)throw Xe(22);const o=J$(e,r.$),a=Q$(s);n.textContent=o.t(...Z$(a))};return{beforeMount:t,beforeUpdate:t}}function Q$(e){if(D.isString(e))return{path:e};if(D.isPlainObject(e)){if(!("path"in e))throw Xe(19,"path");return e}else throw Xe(20)}function Z$(e){const{path:t,locale:n,args:r,choice:s,plural:i}=e,o={},a=r||{};return D.isString(n)&&(o.locale=n),D.isNumber(s)&&(o.plural=s),D.isNumber(i)&&(o.plural=i),[t,a,o]}function eP(e,t,...n){const r=D.isPlainObject(n[0])?n[0]:{},s=!!r.useI18nComponentName;(D.isBoolean(r.globalInstall)?r.globalInstall:!0)&&(e.component(s?"i18n":ml.name,ml),e.component(pl.name,pl),e.component(gl.name,gl)),e.directive("t",tg(t))}function tP(e,t,n){return{beforeCreate(){const r=Se.getCurrentInstance();if(!r)throw Xe(22);const s=this.$options;if(s.i18n){const i=s.i18n;s.__i18n&&(i.__i18n=s.__i18n),i.__root=t,this===this.$root?this.$i18n=md(e,i):(i.__injectWithOption=!0,this.$i18n=hl(i))}else s.__i18n?this===this.$root?this.$i18n=md(e,s):this.$i18n=hl({__i18n:s.__i18n,__injectWithOption:!0,__root:t}):this.$i18n=e;e.__onComponentInstanceCreated(this.$i18n),n.__setInstance(r,this.$i18n),this.$t=(...i)=>this.$i18n.t(...i),this.$rt=(...i)=>this.$i18n.rt(...i),this.$tc=(...i)=>this.$i18n.tc(...i),this.$te=(i,o)=>this.$i18n.te(i,o),this.$d=(...i)=>this.$i18n.d(...i),this.$n=(...i)=>this.$i18n.n(...i),this.$tm=i=>this.$i18n.tm(i)},mounted(){},beforeUnmount(){const r=Se.getCurrentInstance();if(!r)throw Xe(22);delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__deleteInstance(r),delete this.$i18n}}}function md(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Qp](t.pluralizationRules||e.pluralizationRules);const n=kc(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(r=>e.mergeLocaleMessage(r,n[r])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(r=>e.mergeDateTimeFormat(r,t.datetimeFormats[r])),t.numberFormats&&Object.keys(t.numberFormats).forEach(r=>e.mergeNumberFormat(r,t.numberFormats[r])),e}function nP(e={}){const t=D.isBoolean(e.legacy)?e.legacy:!0,n=!!e.globalInjection,r=new Map,s=t?hl(e):Oc(e),i=D.makeSymbol(""),o={get mode(){return t?"legacy":"composition"},async install(a,...l){a.__VUE_I18N_SYMBOL__=i,a.provide(a.__VUE_I18N_SYMBOL__,o),!t&&n&&aP(a,o.global),eP(a,o,...l),t&&a.mixin(tP(s,s.__composer,o))},get global(){return s},__instances:r,__getInstance(a){return r.get(a)||null},__setInstance(a,l){r.set(a,l)},__deleteInstance(a){r.delete(a)}};return o}function Jo(e={}){const t=Se.getCurrentInstance();if(t==null)throw Xe(16);if(!t.appContext.app.__VUE_I18N_SYMBOL__)throw Xe(17);const n=Se.inject(t.appContext.app.__VUE_I18N_SYMBOL__);if(!n)throw Xe(22);const r=n.mode==="composition"?n.global:n.global.__composer,s=D.isEmptyObject(e)?"__i18n"in t.type?"local":"global":e.useScope?e.useScope:"local";if(s==="global"){let a=D.isObject(e.messages)?e.messages:{};"__i18nGlobal"in t.type&&(a=kc(r.locale.value,{messages:a,__i18n:t.type.__i18nGlobal}));const l=Object.keys(a);if(l.length&&l.forEach(c=>{r.mergeLocaleMessage(c,a[c])}),D.isObject(e.datetimeFormats)){const c=Object.keys(e.datetimeFormats);c.length&&c.forEach(u=>{r.mergeDateTimeFormat(u,e.datetimeFormats[u])})}if(D.isObject(e.numberFormats)){const c=Object.keys(e.numberFormats);c.length&&c.forEach(u=>{r.mergeNumberFormat(u,e.numberFormats[u])})}return r}if(s==="parent"){let a=rP(n,t,e.__useComponent);return a==null&&(a=r),a}if(n.mode==="legacy")throw Xe(18);const i=n;let o=i.__getInstance(t);if(o==null){const a=t.type,l=D.assign({},e);a.__i18n&&(l.__i18n=a.__i18n),r&&(l.__root=r),o=Oc(l),sP(i,t),i.__setInstance(t,o)}return o}function rP(e,t,n=!1){let r=null;const s=t.root;let i=t.parent;for(;i!=null;){const o=e;if(e.mode==="composition")r=o.__getInstance(i);else{const a=o.__getInstance(i);a!=null&&(r=a.__composer),n&&r&&!r[Zp]&&(r=null)}if(r!=null||s===i)break;i=i.parent}return r}function sP(e,t,n){Se.onMounted(()=>{},t),Se.onUnmounted(()=>{e.__deleteInstance(t)},t)}const iP=["locale","fallbackLocale","availableLocales"],oP=["t","rt","d","n","tm"];function aP(e,t){const n=Object.create(null);iP.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw Xe(22);const i=Se.isRef(s.value)?{get(){return s.value.value},set(o){s.value.value=o}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,r,i)}),e.config.globalProperties.$i18n=n,oP.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw Xe(22);Object.defineProperty(e.config.globalProperties,`$${r}`,s)})}Te.registerMessageCompiler(Te.compileToFunction);mn.DatetimeFormat=gl;mn.NumberFormat=pl;mn.Translation=ml;mn.VERSION=Jp;mn.createI18n=nP;mn.useI18n=Jo;mn.vTDirective=tg;Lp.exports=mn;var lP={header:{docs:"Dokumentation",blog:"Blog",github:"GitHub",login:"Fahrzeug Logins",about:"\xDCber evcc"},footer:{version:{availableShort:"Update",availableLong:"Update verf\xFCgbar",modalTitle:"Update verf\xFCgbar",modalUpdateStarted:"Nach der Aktualisierung wird evcc neu gestartet.",modalInstalledVersion:"Aktuell installierte Version",modalNoReleaseNotes:"Keine Releasenotes verf\xFCgbar. Mehr Informationen zur neuen Version findest du hier:",modalCancel:"Abbrechen",modalUpdate:"Aktualisieren",modalUpdateNow:"Jetzt aktualisieren",modalDownload:"Download",modalUpdateStatusStart:"Aktualisierung gestartet: ",modalUpdateStatusFailed:"Aktualisierung nicht m\xF6glich: "},savings:{footerShort:"{percent}% Sonne",footerLong:"{percent}% Sonnenenergie",modalTitlePartOne:"{total} kWh geladen",modalTitlePartTwo:"{percent}% Sonne",modalChartGrid:"Netz {grid} kWh",modalChartSelf:"Sonne {self} kWh",modalSavingsPrice:"Effektiver Energiepreis",modalSavingsTotal:"Ersparnis gegen\xFCber Netzbezug",modalExplaination:"Berechnung",modalExplainationGrid:"Netz {gridPrice}",modalExplainationFeedIn:"Einspeisung {feedInPrice}",modalServerStart:"Seit Serverstart {since}.",modalNoData:"noch nicht geladen"},sponsor:{thanks:"Danke f\xFCr deine Unterst\xFCtzung, {sponsor}! Das hilft uns bei der Weiterentwicklung.",confetti:"Lust auf etwas Sponsor-Konfetti?",supportUs:"Wir m\xF6chten effizientes Zuhause-Laden zum Standard f\xFCr m\xF6glichst viele Menschen machen. Helfe uns indem du die Weiterentwicklung und Pflege des Projekts unterst\xFCtzt.",sticker:"...oder evcc Sticker?",confettiPromise:"Es gibt auch Sticker und digitales Konfetti ;)",becomeSponsor:"Werde jetzt GitHub Sponsor"}},notifications:{modalTitle:"Meldungen",dismissAll:"Meldungen entfernen"},main:{energyflow:{noEnergy:"Kein Energiefluss",homePower:"Verbrauch",pvProduction:"Erzeugung",loadpoints:"Ladepunkt | Ladepunkt | {count} Ladepunkte",battery:"Batterie",batteryCharge:"Batterie laden",batteryDischarge:"Batterie entladen",gridImport:"Netzbezug",selfConsumption:"Eigenverbrauch",pvExport:"Einspeisung"},mode:{offShort:"Aus",offLong:"Aus",nowShort:"Sofort",nowLong:"Sofort",minpvShort:"Min",minpvLong:"Min + PV",pvShort:"PV",pvLong:"PV",fast:"Schnell",cheap:"G\xFCnstig"},loadpoint:{fallbackName:"Ladepunkt",remoteDisabledSoft:"{source}: Adaptives PV-Laden deaktiviert",remoteDisabledHard:"{source}: Deaktiviert",power:"Leistung",charged:"Geladen",duration:"Dauer",remaining:"Restzeit"},vehicles:"Parkplatz",vehicle:{fallbackName:"Fahrzeug",vehicleSoC:"Ladestand",targetSoC:"Ladeziel",none:"Kein Fahrzeug",unknown:"Gastfahrzeug"},vehicleSoC:{disconnected:"getrennt",charging:"l\xE4dt",ready:"bereit",connected:"verbunden"},vehicleStatus:{minCharge:"Mindestladung bis {soc}%.",waitForVehicle:"Ladebereit. Warte auf Fahrzeug.",charging:"Ladevorgang aktiv.",targetChargePlanned:"Zielladen geplant. Ladung startet {time} Uhr.",targetChargeWaitForVehicle:"Zielladen bereit. Warte auf Fahrzeug.",targetChargeActive:"Zielladen aktiv.",connected:"Verbunden.",pvDisable:"Zu wenig \xDCberschuss. Pausiere in {remaining}.",pvEnable:"\xDCberschuss verf\xFCgbar. Starte in {remaining}.",scale1p:"Reduziere auf einphasig in {remaining}.",scale3p:"Erh\xF6he auf dreiphasig in {remaining}.",disconnected:"Nicht verbunden.",unknown:""},provider:{login:"anmelden",logout:"abmelden"},targetCharge:{title:"Zielzeit",inactiveLabel:"Zielzeit",activeLabel:"{time}",modalTitle:"Zielzeit festlegen",setTargetTime:"keine",description:"Wann soll das Fahrzeug auf {targetSoC}% geladen sein?",today:"heute",tomorrow:"morgen",targetIsInThePast:"Zeitpunkt liegt in der Vergangenheit.",remove:"Entfernen",activate:"Aktivieren",experimentalLabel:"Experimentell",experimentalText:` Dieses Feature funktioniert, ist aber noch nicht perfekt. Bitte melde unerwartetes Verhalten in unseren - `}}},lP={header:{docs:"Documentation",blog:"Blog",github:"GitHub",login:"Vehicle Logins",about:"About evcc"},footer:{version:{availableShort:"update",availableLong:"update available",modalTitle:"Update available",modalUpdateStarted:"Evcc will restart after the update..",modalInstalledVersion:"Currently installed version",modalNoReleaseNotes:"No release notes available. More information about the new version can be found here:",modalCancel:"Cancel",modalUpdate:"Update",modalUpdateNow:"Update now",modalDownload:"Download",modalUpdateStatusStart:"Update started: ",modalUpdateStatusFailed:"Update failed: "},savings:{footerShort:"{percent}% solar",footerLong:"{percent}% solar energy",modalTitlePartOne:"{total} kWh charged",modalTitlePartTwo:"{percent}% solar",modalChartGrid:"Grid {grid} kWh",modalChartSelf:"Solar {self} kWh",modalSavingsPrice:"Effective energy price",modalSavingsTotal:"Savings compared to grid",modalExplaination:"Calculation",modalExplainationGrid:"grid tariff {gridPrice}",modalExplainationFeedIn:"feed-in rate {feedInPrice}",modalServerStart:"since server start {since}.",modalNoData:"nothing charged yet"},sponsor:{thanks:"Thanks for your support, {sponsor}! It helps us with the further development.",confetti:"Ready for some sponsor confetti?",supportUs:"We want to make efficient home charging the standard for as many people as possible. Help us by supporting the further development and maintenance of the project.",sticker:"...or evcc stickers?",confettiPromise:"There will be stickers and digital confetti ;)",becomeSponsor:"Become a GitHub Sponsor"}},notifications:{modalTitle:"Notifications",dismissAll:"Dismiss all"},main:{energyflow:{noEnergy:"No Energyflow",homePower:"Consumption",pvProduction:"Production",loadpoints:"Loadpoint | Loadpoint | {count} Loadpoints",battery:"Battery",batteryCharge:"Battery charge",batteryDischarge:"Battery discharge",gridImport:"Grid import",selfConsumption:"Self consumption",pvExport:"Grid export"},mode:{offShort:"Stop",offLong:"Stop",nowShort:"Now",nowLong:"Now",minpvShort:"Min",minpvLong:"Min + PV",pvShort:"PV",pvLong:"PV",fast:"Fast",cheap:"Cheap"},loadpoint:{fallbackName:"Loadpoint",remoteDisabledSoft:"{source}: adaptive PV charging disabled",remoteDisabledHard:"{source}: disabled",power:"Power",charged:"Charged",duration:"Duration",remaining:"Remaining"},vehicles:"Parking",vehicle:{fallbackName:"Vehicle",vehicleSoC:"SoC",targetSoC:"Limit",none:"No vehicle",unknown:"Guest vehicle"},vehicleSoC:{disconnected:"disconnected",charging:"charging",ready:"ready",connected:"connected"},vehicleStatus:{minCharge:"minimum charging to {soc}%.",waitForVehicle:"Ready. Waiting for vehicle.",charging:"Charging.",targetChargePlanned:"Target charge planned. Starting {time}.",targetChargeWaitForVehicle:"Target charge ready. Wait for vehicle.",targetChargeActive:"Target charge active.",connected:"Connected.",pvDisable:"Not enough surplus. Pausing in {remaining}.",pvEnable:"Surplus available. Starting in {remaining}.",scale1p:"Reduce to single phase in {remaining}.",scale3p:"Increase to three phase in {remaining}.",disconnected:"Disconnected.",unknown:""},provider:{login:"login",logout:"logout"},targetCharge:{title:"Target Time",inactiveLabel:"Target time",activeLabel:"{time}",modalTitle:"Set Target Time",setTargetTime:"none",description:"When should the vehicle be charged to {targetSoC}%?",today:"today",tomorrow:"tomorrow",targetIsInThePast:"The chosen time is in the past.",remove:"Remove",activate:"Activate",experimentalLabel:"Experimental",experimentalText:` + `}}},cP={header:{docs:"Documentation",blog:"Blog",github:"GitHub",login:"Vehicle Logins",about:"About evcc"},footer:{version:{availableShort:"update",availableLong:"update available",modalTitle:"Update available",modalUpdateStarted:"Evcc will restart after the update..",modalInstalledVersion:"Currently installed version",modalNoReleaseNotes:"No release notes available. More information about the new version can be found here:",modalCancel:"Cancel",modalUpdate:"Update",modalUpdateNow:"Update now",modalDownload:"Download",modalUpdateStatusStart:"Update started: ",modalUpdateStatusFailed:"Update failed: "},savings:{footerShort:"{percent}% solar",footerLong:"{percent}% solar energy",modalTitlePartOne:"{total} kWh charged",modalTitlePartTwo:"{percent}% solar",modalChartGrid:"Grid {grid} kWh",modalChartSelf:"Solar {self} kWh",modalSavingsPrice:"Effective energy price",modalSavingsTotal:"Savings compared to grid",modalExplaination:"Calculation",modalExplainationGrid:"grid tariff {gridPrice}",modalExplainationFeedIn:"feed-in rate {feedInPrice}",modalServerStart:"since server start {since}.",modalNoData:"nothing charged yet"},sponsor:{thanks:"Thanks for your support, {sponsor}! It helps us with the further development.",confetti:"Ready for some sponsor confetti?",supportUs:"We want to make efficient home charging the standard for as many people as possible. Help us by supporting the further development and maintenance of the project.",sticker:"...or evcc stickers?",confettiPromise:"There will be stickers and digital confetti ;)",becomeSponsor:"Become a GitHub Sponsor"}},notifications:{modalTitle:"Notifications",dismissAll:"Dismiss all"},main:{energyflow:{noEnergy:"No Energyflow",homePower:"Consumption",pvProduction:"Production",loadpoints:"Loadpoint | Loadpoint | {count} Loadpoints",battery:"Battery",batteryCharge:"Battery charge",batteryDischarge:"Battery discharge",gridImport:"Grid import",selfConsumption:"Self consumption",pvExport:"Grid export"},mode:{offShort:"Stop",offLong:"Stop",nowShort:"Now",nowLong:"Now",minpvShort:"Min",minpvLong:"Min + PV",pvShort:"PV",pvLong:"PV",fast:"Fast",cheap:"Cheap"},loadpoint:{fallbackName:"Loadpoint",remoteDisabledSoft:"{source}: adaptive PV charging disabled",remoteDisabledHard:"{source}: disabled",power:"Power",charged:"Charged",duration:"Duration",remaining:"Remaining"},vehicles:"Parking",vehicle:{fallbackName:"Vehicle",vehicleSoC:"SoC",targetSoC:"Limit",none:"No vehicle",unknown:"Guest vehicle"},vehicleSoC:{disconnected:"disconnected",charging:"charging",ready:"ready",connected:"connected"},vehicleStatus:{minCharge:"minimum charging to {soc}%.",waitForVehicle:"Ready. Waiting for vehicle.",charging:"Charging.",targetChargePlanned:"Target charge planned. Starting {time}.",targetChargeWaitForVehicle:"Target charge ready. Wait for vehicle.",targetChargeActive:"Target charge active.",connected:"Connected.",pvDisable:"Not enough surplus. Pausing in {remaining}.",pvEnable:"Surplus available. Starting in {remaining}.",scale1p:"Reduce to single phase in {remaining}.",scale3p:"Increase to three phase in {remaining}.",disconnected:"Disconnected.",unknown:""},provider:{login:"login",logout:"logout"},targetCharge:{title:"Target Time",inactiveLabel:"Target time",activeLabel:"{time}",modalTitle:"Set Target Time",setTargetTime:"none",description:"When should the vehicle be charged to {targetSoC}%?",today:"today",tomorrow:"tomorrow",targetIsInThePast:"The chosen time is in the past.",remove:"Remove",activate:"Activate",experimentalLabel:"Experimental",experimentalText:` This feature works but isn't perfect yet. Please report unexpected behaviour in our - `}}},cP={header:{docs:"Documentazione",blog:"Blog",github:"GitHub",login:"Iscrizioni"},footer:{version:{version:"versione",availableShort:"aggiornamento",availableLong:"aggiornamento disponibile",modalTitle:"Aggiornamento disponibile",modalUpdateStarted:"Evcc ripartir\xE0 dopo l'aggiornamento..",modalInstalledVersion:"Versione correntemente installata",modalNoReleaseNotes:"Non ci sono note di rilascio disponibili. Altre informazioni circa la nuova versione si trovano qui:",modalCancel:"Cancella",modalUpdate:"Aggiorna",modalUpdateNow:"Aggiorna ora",modalDownload:"Download",modalUpdateStatusStart:"Aggiornamento iniziato: ",modalUpdateStatusFailed:"Aggiornamento fallito: "},sponsor:{sponsoredShort:"grazie",sponsoredLong:"grazie {sponsor}",supportProjectShort:"supporto",supportProjectLong:"supporta questo progetto"}},notifications:{modalTitle:"Notifiche",dismissAll:"Rimuovi tutte"},main:{energyflow:{noEnergy:"No Energyflow",homePower:"Consumption",pvProduction:"Produzione",battery:"Batteria",batteryCharge:"Battery charge",batteryDischarge:"Battery discharge",gridImport:"Grid import",selfConsumption:"Self consumption",pvExport:"Grid export"},mode:{title:"Modalit\xE0",stop:"Stop",now:"Ora",minpvShort:"Min",minpvLong:"Min + FV",pvShort:"FV",pvLong:"Solo FV"},loadpoint:{fallbackName:"Punto di carica",remoteDisabledSoft:"{source}: Ricarica FV adattiva disabilitata",remoteDisabledHard:"{source}: Disabilitato"},vehicle:{fallbackName:"Veicolo"},vehicleSoC:{disconnected:"disconesso",charging:"carica",ready:"pronto",connected:"collegato"},vehicleSubline:{mincharge:"carica minima fino a {soc}%"},provider:{login:"accedere",logout:"disconnettersi"},loadpointDetails:{power:"Potenza",vehicleRange:"Autonomia",charged:"Ricaricato",duration:"Duarata",remaining:"Rimanenti"}}},uP={header:{docs:"Dokumentacija (Vokie\u010Di\u0173 k.)",blog:"Tinklara\u0161tis",github:"GitHub",login:" Automobili\u0173 prisijungimai",about:"Apie EVCC"},footer:{version:{availableShort:"Naujinimas",availableLong:"Yra naujesn\u0117 versija",modalTitle:"Yra naujesn\u0117 versija",modalUpdateStarted:"Pasibaigus naujinimui EVCC startuos i\u0161 naujo..",modalInstalledVersion:"Dabartin\u0117 versija",modalNoReleaseNotes:"Naujinimo detali\u0173 n\u0117ra. Daugiau informacijos rasite \u010Dia:",modalCancel:"At\u0161aukti",modalUpdate:"Naujinti",modalUpdateNow:"Naujinti dabar",modalDownload:"Atsisi\u0173sti",modalUpdateStatusStart:"Naujinimas prasid\u0117jo: ",modalUpdateStatusFailed:"Naujinimas nepavyko: "},savings:{footerShort:"{percent}% saul\u0117s",footerLong:"{percent}% saul\u0117s energija",modalTitlePartOne:"{total} kWh \u012Fkrauta",modalTitlePartTwo:"{percent}% saul\u0117s",modalChartGrid:"Energija i\u0161 tinklo {grid} kWh",modalChartSelf:"Saul\u0117s energija {self} kWh",modalSavingsPrice:"Faktin\u0117 energijos kaina",modalSavingsTotal:"Sutaupyta, palyginus su tinklu",modalExplaination:"Skai\u010Diavimas",modalExplainationGrid:"kaina i\u0161 tinklo {gridPrice}",modalExplainationFeedIn:"Kompensavimas u\u017E patiekt\u0105 \u012F tinkl\u0105 energij\u0105 {feedInPrice}",modalServerStart:"nuo EVCC starto {since}.",modalNoData:"\u012Fkrovimo duomen\u0173 dar n\u0117ra"},sponsor:{thanks:"A\u010Di\u016B, kad mus remiate {sponsor}! Taip prisidedate prie projekto vystymo.",confetti:"Ar pasiruo\u0161\u0119 priimti r\u0117m\u0117jo konfeti?",supportUs:"Norime, kad efektyvesnis elektromobili\u0173 \u012Fkrovimas saul\u0117s energija tapt\u0173 pasiekiamas kuo daugiau \u017Emoni\u0173. Remdami prisidedate prie nuolatinio projekto vystymo ir techninio palaikymo.",sticker:"... ar EVCC lipduk\u0173?",confettiPromise:"Gausite lipduk\u0173 ir skaitmenini\u0173 konfeti ;)",becomeSponsor:"Prad\u0117kite GitHub r\u0117mim\u0105!"}},notifications:{modalTitle:"Prane\u0161imai",dismissAll:"I\u0161valyti visus"},main:{energyflow:{noEnergy:"Energija neteka",homePower:"Namo suvartojimas",pvProduction:"Gamyba",loadpoints:"\u012Ekroviklis | \u012Ekroviklis | {count} \u012Ekrovikliai",battery:"Baterija",batteryCharge:"Baterijos \u012Fkrovimas",batteryDischarge:"Baterijos i\u0161krovimas",gridImport:"Tinklo importas",selfConsumption:"Sunaudojama i\u0161kart",pvExport:"Tinklo eksportas"},mode:{offShort:"Stop",offLong:"Stop",nowShort:"Dabar",nowLong:"Dabar",minpvShort:"Min",minpvLong:"Min + PV",pvShort:"PV",pvLong:"PV",fast:"Greitai",cheap:"Pigiai"},loadpoint:{fallbackName:"\u012Ekroviklis",remoteDisabledSoft:"{source}: adaptyvus PV \u012Fkrovimas i\u0161jungtas",remoteDisabledHard:"{source}: i\u0161jungtas",power:"Galia",charged:"\u012Ekrauta",duration:"Trukm\u0117",remaining:"Liko"},vehicles:"Autoparkas",vehicle:{fallbackName:"Automobilis",vehicleSoC:"\u012Ekrova",targetSoC:"Limitas",none:"N\u0117ra automobilio",unknown:"Ne\u017Einomas automobilis"},vehicleSoC:{disconnected:"neprijungtas",charging:"vyksta \u012Fkrovimas",ready:"leid\u017Eiama \u012Fkrauti",connected:"automobilis prijungtas"},vehicleStatus:{minCharge:"minimalus \u012Fkrovimas iki {soc}%.",waitForVehicle:"\u012Ekrovimas leid\u017Eiamas. Laukiama automobilio signalo.",charging:"\u012Ekraunama.",targetChargePlanned:"Suplanuotas \u012Fkrovimas, prasid\u0117s {time}.",targetChargeWaitForVehicle:"Suplanuotas \u012Fkrovimas leid\u017Eiamas. Laukiama automobilio signalo.",targetChargeActive:"Suplanuotas \u012Fkrovimas aktyvuotas.",connected:"Prijungtas.",pvDisable:"Tr\u016Bksta saul\u0117s, \u012Fkrovimo pauz\u0117 u\u017E {remaining}.",pvEnable:"Saul\u0117s u\u017Etenka, \u012Fkrovimas prasid\u0117s u\u017E {remaining}.",scale1p:"Suma\u017Einti \u012F vienfaz\u012F \u012Fkrovim\u0105 u\u017E {remaining}.",scale3p:"Padidinti \u012F trifaz\u012F \u012Fkrovim\u0105 u\u017E {remaining}.",disconnected:"Neprijungtas.",unknown:""},provider:{login:"prisijungti",logout:"atsijungti"},targetCharge:{title:"\u012Ekrauti iki",inactiveLabel:"\u012Ekrauti iki",activeLabel:"{time}",modalTitle:"Nustatyti \u012Fkrovimo pabaigos laik\u0105",setTargetTime:"nenustatytas",description:"Kada automobilis tur\u0117t\u0173 b\u016Bti \u012Fkrautas iki {targetSoC}%?",today:"\u0161iandien",tomorrow:"rytoj",targetIsInThePast:"Pasirinktas laikas yra praeityje.",remove:"Panaikinti",activate:"Aktyvuoti",experimentalLabel:"Eksperimentinis",experimentalText:` + `}}},uP={header:{docs:"Documentazione",blog:"Blog",github:"GitHub",login:"Iscrizioni"},footer:{version:{version:"versione",availableShort:"aggiornamento",availableLong:"aggiornamento disponibile",modalTitle:"Aggiornamento disponibile",modalUpdateStarted:"Evcc ripartir\xE0 dopo l'aggiornamento..",modalInstalledVersion:"Versione correntemente installata",modalNoReleaseNotes:"Non ci sono note di rilascio disponibili. Altre informazioni circa la nuova versione si trovano qui:",modalCancel:"Cancella",modalUpdate:"Aggiorna",modalUpdateNow:"Aggiorna ora",modalDownload:"Download",modalUpdateStatusStart:"Aggiornamento iniziato: ",modalUpdateStatusFailed:"Aggiornamento fallito: "},sponsor:{sponsoredShort:"grazie",sponsoredLong:"grazie {sponsor}",supportProjectShort:"supporto",supportProjectLong:"supporta questo progetto"}},notifications:{modalTitle:"Notifiche",dismissAll:"Rimuovi tutte"},main:{energyflow:{noEnergy:"No Energyflow",homePower:"Consumption",pvProduction:"Produzione",battery:"Batteria",batteryCharge:"Battery charge",batteryDischarge:"Battery discharge",gridImport:"Grid import",selfConsumption:"Self consumption",pvExport:"Grid export"},mode:{title:"Modalit\xE0",stop:"Stop",now:"Ora",minpvShort:"Min",minpvLong:"Min + FV",pvShort:"FV",pvLong:"Solo FV"},loadpoint:{fallbackName:"Punto di carica",remoteDisabledSoft:"{source}: Ricarica FV adattiva disabilitata",remoteDisabledHard:"{source}: Disabilitato"},vehicle:{fallbackName:"Veicolo"},vehicleSoC:{disconnected:"disconesso",charging:"carica",ready:"pronto",connected:"collegato"},vehicleSubline:{mincharge:"carica minima fino a {soc}%"},provider:{login:"accedere",logout:"disconnettersi"},loadpointDetails:{power:"Potenza",vehicleRange:"Autonomia",charged:"Ricaricato",duration:"Duarata",remaining:"Rimanenti"}}},fP={header:{docs:"Dokumentacija (Vokie\u010Di\u0173 k.)",blog:"Tinklara\u0161tis",github:"GitHub",login:" Automobili\u0173 prisijungimai",about:"Apie EVCC"},footer:{version:{availableShort:"Naujinimas",availableLong:"Yra naujesn\u0117 versija",modalTitle:"Yra naujesn\u0117 versija",modalUpdateStarted:"Pasibaigus naujinimui EVCC startuos i\u0161 naujo..",modalInstalledVersion:"Dabartin\u0117 versija",modalNoReleaseNotes:"Naujinimo detali\u0173 n\u0117ra. Daugiau informacijos rasite \u010Dia:",modalCancel:"At\u0161aukti",modalUpdate:"Naujinti",modalUpdateNow:"Naujinti dabar",modalDownload:"Atsisi\u0173sti",modalUpdateStatusStart:"Naujinimas prasid\u0117jo: ",modalUpdateStatusFailed:"Naujinimas nepavyko: "},savings:{footerShort:"{percent}% saul\u0117s",footerLong:"{percent}% saul\u0117s energija",modalTitlePartOne:"{total} kWh \u012Fkrauta",modalTitlePartTwo:"{percent}% saul\u0117s",modalChartGrid:"Energija i\u0161 tinklo {grid} kWh",modalChartSelf:"Saul\u0117s energija {self} kWh",modalSavingsPrice:"Faktin\u0117 energijos kaina",modalSavingsTotal:"Sutaupyta, palyginus su tinklu",modalExplaination:"Skai\u010Diavimas",modalExplainationGrid:"kaina i\u0161 tinklo {gridPrice}",modalExplainationFeedIn:"Kompensavimas u\u017E patiekt\u0105 \u012F tinkl\u0105 energij\u0105 {feedInPrice}",modalServerStart:"nuo EVCC starto {since}.",modalNoData:"\u012Fkrovimo duomen\u0173 dar n\u0117ra"},sponsor:{thanks:"A\u010Di\u016B, kad mus remiate {sponsor}! Taip prisidedate prie projekto vystymo.",confetti:"Ar pasiruo\u0161\u0119 priimti r\u0117m\u0117jo konfeti?",supportUs:"Norime, kad efektyvesnis elektromobili\u0173 \u012Fkrovimas saul\u0117s energija tapt\u0173 pasiekiamas kuo daugiau \u017Emoni\u0173. Remdami prisidedate prie nuolatinio projekto vystymo ir techninio palaikymo.",sticker:"... ar EVCC lipduk\u0173?",confettiPromise:"Gausite lipduk\u0173 ir skaitmenini\u0173 konfeti ;)",becomeSponsor:"Prad\u0117kite GitHub r\u0117mim\u0105!"}},notifications:{modalTitle:"Prane\u0161imai",dismissAll:"I\u0161valyti visus"},main:{energyflow:{noEnergy:"Energija neteka",homePower:"Namo suvartojimas",pvProduction:"Gamyba",loadpoints:"\u012Ekroviklis | \u012Ekroviklis | {count} \u012Ekrovikliai",battery:"Baterija",batteryCharge:"Baterijos \u012Fkrovimas",batteryDischarge:"Baterijos i\u0161krovimas",gridImport:"Tinklo importas",selfConsumption:"Sunaudojama i\u0161kart",pvExport:"Tinklo eksportas"},mode:{offShort:"Stop",offLong:"Stop",nowShort:"Dabar",nowLong:"Dabar",minpvShort:"Min",minpvLong:"Min + PV",pvShort:"PV",pvLong:"PV",fast:"Greitai",cheap:"Pigiai"},loadpoint:{fallbackName:"\u012Ekroviklis",remoteDisabledSoft:"{source}: adaptyvus PV \u012Fkrovimas i\u0161jungtas",remoteDisabledHard:"{source}: i\u0161jungtas",power:"Galia",charged:"\u012Ekrauta",duration:"Trukm\u0117",remaining:"Liko"},vehicles:"Autoparkas",vehicle:{fallbackName:"Automobilis",vehicleSoC:"\u012Ekrova",targetSoC:"Limitas",none:"N\u0117ra automobilio",unknown:"Ne\u017Einomas automobilis"},vehicleSoC:{disconnected:"neprijungtas",charging:"vyksta \u012Fkrovimas",ready:"leid\u017Eiama \u012Fkrauti",connected:"automobilis prijungtas"},vehicleStatus:{minCharge:"minimalus \u012Fkrovimas iki {soc}%.",waitForVehicle:"\u012Ekrovimas leid\u017Eiamas. Laukiama automobilio signalo.",charging:"\u012Ekraunama.",targetChargePlanned:"Suplanuotas \u012Fkrovimas, prasid\u0117s {time}.",targetChargeWaitForVehicle:"Suplanuotas \u012Fkrovimas leid\u017Eiamas. Laukiama automobilio signalo.",targetChargeActive:"Suplanuotas \u012Fkrovimas aktyvuotas.",connected:"Prijungtas.",pvDisable:"Tr\u016Bksta saul\u0117s, \u012Fkrovimo pauz\u0117 u\u017E {remaining}.",pvEnable:"Saul\u0117s u\u017Etenka, \u012Fkrovimas prasid\u0117s u\u017E {remaining}.",scale1p:"Suma\u017Einti \u012F vienfaz\u012F \u012Fkrovim\u0105 u\u017E {remaining}.",scale3p:"Padidinti \u012F trifaz\u012F \u012Fkrovim\u0105 u\u017E {remaining}.",disconnected:"Neprijungtas.",unknown:""},provider:{login:"prisijungti",logout:"atsijungti"},targetCharge:{title:"\u012Ekrauti iki",inactiveLabel:"\u012Ekrauti iki",activeLabel:"{time}",modalTitle:"Nustatyti \u012Fkrovimo pabaigos laik\u0105",setTargetTime:"nenustatytas",description:"Kada automobilis tur\u0117t\u0173 b\u016Bti \u012Fkrautas iki {targetSoC}%?",today:"\u0161iandien",tomorrow:"rytoj",targetIsInThePast:"Pasirinktas laikas yra praeityje.",remove:"Panaikinti",activate:"Aktyvuoti",experimentalLabel:"Eksperimentinis",experimentalText:` \u0160i funkcija veikia, bet dar n\u0117ra tobula. Apie netik\u0117t\u0105 elges\u012F prane\u0161kite m\u016Bs\u0173 - `}}};const fP="preferred_locale";function dP(){const e=navigator.languages!==void 0?navigator.languages[0]:navigator.language;if(!!e)return e.trim().split(/-|_/)[0]}var hP=Lp.exports.createI18n({locale:window.localStorage[fP]||dP(),fallbackLocale:"en",messages:{de:aP,en:lP,it:cP,lt:uP}}),mP={install:e=>{e.config.globalProperties.$hiddenFeatures=window.localStorage.hidden_features==="true"}};Ay.polyfill();const ms=Vm({data(){return{notifications:[]}},methods:{raise:function(e){console[e.type](e);const t=new Date,n=this.notifications[0];n&&n.message===e.message?(n.count++,n.time=t):this.notifications=[gs(he({},e),{count:1,time:t}),...this.notifications]},clear:function(){this.notifications=[]},error:function(e){e.type="error",this.raise(e)},warn:function(e){e.type="warn",this.raise(e)}},render:function(){return Hn(HT,{notifications:this.notifications})}});ms.use(hP);ms.use(yN);ms.use(uw());ms.use(hw);ms.use(mP);window.app=ms.mount("#app");window.setInterval(function(){er.get("health").catch(function(){window.app.error({message:"Server unavailable"})})},5e3)});export default pP(); + `}}};const dP="preferred_locale";function hP(){const e=navigator.languages!==void 0?navigator.languages[0]:navigator.language;if(!!e)return e.trim().split(/-|_/)[0]}var mP=Lp.exports.createI18n({locale:window.localStorage[dP]||hP(),fallbackLocale:"en",messages:{de:lP,en:cP,it:uP,lt:fP}}),pP={install:e=>{e.config.globalProperties.$hiddenFeatures=window.localStorage.hidden_features==="true"}};Ay.polyfill();const ms=Vm({data(){return{notifications:[]}},methods:{raise:function(e){console[e.type](e);const t=new Date,n=this.notifications[0];n&&n.message===e.message?(n.count++,n.time=t):this.notifications=[gs(he({},e),{count:1,time:t}),...this.notifications]},clear:function(){this.notifications=[]},error:function(e){e.type="error",this.raise(e)},warn:function(e){e.type="warn",this.raise(e)}},render:function(){return Hn(HT,{notifications:this.notifications})}});ms.use(mP);ms.use(EN);ms.use(uw());ms.use(hw);ms.use(pP);window.app=ms.mount("#app");window.setInterval(function(){er.get("health").catch(function(){window.app.error({message:"Server unavailable"})})},5e3)});export default gP(); diff --git a/dist/index.html b/dist/index.html index ddda21531..a5c24bd83 100644 --- a/dist/index.html +++ b/dist/index.html @@ -20,7 +20,7 @@ evcc - +