node-red-contrib-knx-ultimate 4.2.3 → 4.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +25 -2
  2. package/nodes/hue-config.html +12 -9
  3. package/nodes/knxUltimate-config.html +24 -1
  4. package/nodes/knxUltimate-config.js +1 -0
  5. package/nodes/knxUltimate.js +79 -0
  6. package/nodes/knxUltimateAI.html +5 -5
  7. package/nodes/knxUltimateAI.js +5129 -1173
  8. package/nodes/knxUltimateHueAreaMotion.html +1 -1
  9. package/nodes/knxUltimateHueBattery.html +1 -1
  10. package/nodes/knxUltimateHueButton.html +1 -1
  11. package/nodes/knxUltimateHueCameraMotion.html +1 -1
  12. package/nodes/knxUltimateHueContactSensor.html +1 -1
  13. package/nodes/knxUltimateHueHumiditySensor.html +1 -1
  14. package/nodes/knxUltimateHueLight.html +2 -2
  15. package/nodes/knxUltimateHueLightSensor.html +1 -1
  16. package/nodes/knxUltimateHueMotion.html +1 -1
  17. package/nodes/knxUltimateHuePlug.html +1 -1
  18. package/nodes/knxUltimateHueScene.html +1 -1
  19. package/nodes/knxUltimateHueTapDial.html +1 -1
  20. package/nodes/knxUltimateHueTemperatureSensor.html +1 -1
  21. package/nodes/knxUltimateHueZigbeeConnectivity.html +1 -1
  22. package/nodes/knxUltimateHuedevice_software_update.html +1 -1
  23. package/nodes/knxUltimateMultiRouting.html +2 -2
  24. package/nodes/knxUltimateRouterFilter.html +2 -2
  25. package/nodes/knxUltimateViewer.html +16 -3
  26. package/nodes/knxUltimateViewer.js +279 -90
  27. package/nodes/locales/de/knxUltimate-config.html +1 -1
  28. package/nodes/locales/de/knxUltimate-config.json +10 -0
  29. package/nodes/locales/de/knxUltimateViewer.html +18 -0
  30. package/nodes/locales/en/knxUltimate-config.html +1 -1
  31. package/nodes/locales/en/knxUltimate-config.json +10 -0
  32. package/nodes/locales/en/knxUltimateViewer.html +20 -4
  33. package/nodes/locales/es/knxUltimate-config.html +1 -1
  34. package/nodes/locales/es/knxUltimate-config.json +10 -0
  35. package/nodes/locales/es/knxUltimateViewer.html +27 -11
  36. package/nodes/locales/fr/knxUltimate-config.html +1 -1
  37. package/nodes/locales/fr/knxUltimate-config.json +10 -0
  38. package/nodes/locales/fr/knxUltimateViewer.html +27 -11
  39. package/nodes/locales/it/knxUltimate-config.html +1 -1
  40. package/nodes/locales/it/knxUltimate-config.json +10 -0
  41. package/nodes/locales/it/knxUltimateViewer.html +18 -0
  42. package/nodes/locales/zh-CN/knxUltimate-config.html +1 -1
  43. package/nodes/locales/zh-CN/knxUltimate-config.json +10 -0
  44. package/nodes/locales/zh-CN/knxUltimateViewer.html +18 -0
  45. package/nodes/plugins/knxUltimate-flow-bubbles-plugin.html +279 -0
  46. package/nodes/plugins/knxUltimateAI-vue/assets/app.css +1 -1
  47. package/nodes/plugins/knxUltimateAI-vue/assets/app.js +3 -3
  48. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-html2canvas.esm.js +5 -0
  49. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-index.es.js +5 -0
  50. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-jspdf.es.min.js +78 -0
  51. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-purify.es.js +3 -0
  52. package/nodes/plugins/knxUltimateViewer-vue/assets/app.css +1 -0
  53. package/nodes/plugins/knxUltimateViewer-vue/assets/app.js +1 -0
  54. package/nodes/plugins/knxUltimateViewer-vue/index.html +13 -0
  55. package/package.json +14 -9
  56. package/nodes/plugins/themes/knxUltimateAI-theme-green.css +0 -44
  57. package/nodes/plugins/themes/knxUltimateAI-theme-lavender.css +0 -44
  58. package/nodes/plugins/themes/knxUltimateAI-theme-mix.css +0 -41
@@ -0,0 +1,3 @@
1
+ function I(a){"@babel/helpers - typeof";return I=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},I(a)}function Fe(a,n){return Fe=Object.setPrototypeOf||function(s,c){return s.__proto__=c,s},Fe(a,n)}function zt(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function le(a,n,o){return zt()?le=Reflect.construct:le=function(c,g,y){var D=[null];D.push.apply(D,g);var x=Function.bind.apply(c,D),j=new x;return y&&Fe(j,y.prototype),j},le.apply(null,arguments)}function M(a){return Gt(a)||Wt(a)||Bt(a)||$t()}function Gt(a){if(Array.isArray(a))return Ue(a)}function Wt(a){if(typeof Symbol<"u"&&a[Symbol.iterator]!=null||a["@@iterator"]!=null)return Array.from(a)}function Bt(a,n){if(a){if(typeof a=="string")return Ue(a,n);var o=Object.prototype.toString.call(a).slice(8,-1);if(o==="Object"&&a.constructor&&(o=a.constructor.name),o==="Map"||o==="Set")return Array.from(a);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return Ue(a,n)}}function Ue(a,n){(n==null||n>a.length)&&(n=a.length);for(var o=0,s=new Array(n);o<n;o++)s[o]=a[o];return s}function $t(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var jt=Object.hasOwnProperty,ut=Object.setPrototypeOf,Yt=Object.isFrozen,Xt=Object.getPrototypeOf,Vt=Object.getOwnPropertyDescriptor,E=Object.freeze,b=Object.seal,qt=Object.create,vt=typeof Reflect<"u"&&Reflect,ue=vt.apply,He=vt.construct;ue||(ue=function(n,o,s){return n.apply(o,s)});E||(E=function(n){return n});b||(b=function(n){return n});He||(He=function(n,o){return le(n,M(o))});var Kt=O(Array.prototype.forEach),ft=O(Array.prototype.pop),q=O(Array.prototype.push),se=O(String.prototype.toLowerCase),we=O(String.prototype.toString),ct=O(String.prototype.match),L=O(String.prototype.replace),Zt=O(String.prototype.indexOf),Jt=O(String.prototype.trim),_=O(RegExp.prototype.test),Ce=Qt(TypeError);function O(a){return function(n){for(var o=arguments.length,s=new Array(o>1?o-1:0),c=1;c<o;c++)s[c-1]=arguments[c];return ue(a,n,s)}}function Qt(a){return function(){for(var n=arguments.length,o=new Array(n),s=0;s<n;s++)o[s]=arguments[s];return He(a,o)}}function l(a,n,o){var s;o=(s=o)!==null&&s!==void 0?s:se,ut&&ut(a,null);for(var c=n.length;c--;){var g=n[c];if(typeof g=="string"){var y=o(g);y!==g&&(Yt(n)||(n[c]=y),g=y)}a[g]=!0}return a}function U(a){var n=qt(null),o;for(o in a)ue(jt,a,[o])===!0&&(n[o]=a[o]);return n}function ie(a,n){for(;a!==null;){var o=Vt(a,n);if(o){if(o.get)return O(o.get);if(typeof o.value=="function")return O(o.value)}a=Xt(a)}function s(c){return console.warn("fallback value for",c),null}return s}var mt=E(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Ie=E(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),xe=E(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),er=E(["animate","color-profile","cursor","discard","fedropshadow","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),ke=E(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),tr=E(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),pt=E(["#text"]),dt=E(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),Pe=E(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Tt=E(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),oe=E(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),rr=b(/\{\{[\w\W]*|[\w\W]*\}\}/gm),ar=b(/<%[\w\W]*|[\w\W]*%>/gm),nr=b(/\${[\w\W]*}/gm),ir=b(/^data-[\-\w.\u00B7-\uFFFF]+$/),or=b(/^aria-[\-\w]+$/),lr=b(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),sr=b(/^(?:\w+script|data):/i),ur=b(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),fr=b(/^html$/i),cr=b(/^[a-z][.\w]*(-[.\w]+)+$/i),mr=function(){return typeof window>"u"?null:window},pr=function(n,o){if(I(n)!=="object"||typeof n.createPolicy!="function")return null;var s=null,c="data-tt-policy-suffix";o.currentScript&&o.currentScript.hasAttribute(c)&&(s=o.currentScript.getAttribute(c));var g="dompurify"+(s?"#"+s:"");try{return n.createPolicy(g,{createHTML:function(D){return D},createScriptURL:function(D){return D}})}catch{return console.warn("TrustedTypes policy "+g+" could not be created."),null}};function _t(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:mr(),n=function(e){return _t(e)};if(n.version="2.5.9",n.removed=[],!a||!a.document||a.document.nodeType!==9)return n.isSupported=!1,n;var o=a.document,s=a.document,c=a.DocumentFragment,g=a.HTMLTemplateElement,y=a.Node,D=a.Element,x=a.NodeFilter,j=a.NamedNodeMap,ht=j===void 0?a.NamedNodeMap||a.MozNamedAttrMap:j,Et=a.HTMLFormElement,At=a.DOMParser,K=a.trustedTypes,Z=D.prototype,yt=ie(Z,"cloneNode"),gt=ie(Z,"nextSibling"),St=ie(Z,"childNodes"),fe=ie(Z,"parentNode");if(typeof g=="function"){var ce=s.createElement("template");ce.content&&ce.content.ownerDocument&&(s=ce.content.ownerDocument)}var R=pr(K,o),me=R?R.createHTML(""):"",J=s,pe=J.implementation,bt=J.createNodeIterator,Ot=J.createDocumentFragment,Rt=J.getElementsByTagName,Lt=o.importNode,ze={};try{ze=U(s).documentMode?s.documentMode:{}}catch{}var N={};n.isSupported=typeof fe=="function"&&pe&&pe.createHTMLDocument!==void 0&&ze!==9;var de=rr,Te=ar,ve=nr,Mt=ir,Dt=or,Nt=sr,Ge=ur,wt=cr,_e=lr,p=null,We=l({},[].concat(M(mt),M(Ie),M(xe),M(ke),M(pt))),d=null,Be=l({},[].concat(M(dt),M(Pe),M(Tt),M(oe))),f=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Y=null,he=null,$e=!0,Ee=!0,je=!1,Ye=!0,H=!1,Ae=!0,k=!1,ye=!1,ge=!1,z=!1,Q=!1,ee=!1,Xe=!0,Ve=!1,Ct="user-content-",Se=!0,X=!1,G={},W=null,qe=l({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ke=null,Ze=l({},["audio","video","img","source","image","track"]),be=null,Je=l({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),te="http://www.w3.org/1998/Math/MathML",re="http://www.w3.org/2000/svg",w="http://www.w3.org/1999/xhtml",B=w,Oe=!1,Re=null,It=l({},[te,re,w],we),P,xt=["application/xhtml+xml","text/html"],kt="text/html",T,$=null,Pt=s.createElement("form"),Qe=function(e){return e instanceof RegExp||e instanceof Function},Le=function(e){$&&$===e||((!e||I(e)!=="object")&&(e={}),e=U(e),P=xt.indexOf(e.PARSER_MEDIA_TYPE)===-1?P=kt:P=e.PARSER_MEDIA_TYPE,T=P==="application/xhtml+xml"?we:se,p="ALLOWED_TAGS"in e?l({},e.ALLOWED_TAGS,T):We,d="ALLOWED_ATTR"in e?l({},e.ALLOWED_ATTR,T):Be,Re="ALLOWED_NAMESPACES"in e?l({},e.ALLOWED_NAMESPACES,we):It,be="ADD_URI_SAFE_ATTR"in e?l(U(Je),e.ADD_URI_SAFE_ATTR,T):Je,Ke="ADD_DATA_URI_TAGS"in e?l(U(Ze),e.ADD_DATA_URI_TAGS,T):Ze,W="FORBID_CONTENTS"in e?l({},e.FORBID_CONTENTS,T):qe,Y="FORBID_TAGS"in e?l({},e.FORBID_TAGS,T):{},he="FORBID_ATTR"in e?l({},e.FORBID_ATTR,T):{},G="USE_PROFILES"in e?e.USE_PROFILES:!1,$e=e.ALLOW_ARIA_ATTR!==!1,Ee=e.ALLOW_DATA_ATTR!==!1,je=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ye=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,H=e.SAFE_FOR_TEMPLATES||!1,Ae=e.SAFE_FOR_XML!==!1,k=e.WHOLE_DOCUMENT||!1,z=e.RETURN_DOM||!1,Q=e.RETURN_DOM_FRAGMENT||!1,ee=e.RETURN_TRUSTED_TYPE||!1,ge=e.FORCE_BODY||!1,Xe=e.SANITIZE_DOM!==!1,Ve=e.SANITIZE_NAMED_PROPS||!1,Se=e.KEEP_CONTENT!==!1,X=e.IN_PLACE||!1,_e=e.ALLOWED_URI_REGEXP||_e,B=e.NAMESPACE||w,f=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&Qe(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(f.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Qe(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(f.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(f.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),H&&(Ee=!1),Q&&(z=!0),G&&(p=l({},M(pt)),d=[],G.html===!0&&(l(p,mt),l(d,dt)),G.svg===!0&&(l(p,Ie),l(d,Pe),l(d,oe)),G.svgFilters===!0&&(l(p,xe),l(d,Pe),l(d,oe)),G.mathMl===!0&&(l(p,ke),l(d,Tt),l(d,oe))),e.ADD_TAGS&&(p===We&&(p=U(p)),l(p,e.ADD_TAGS,T)),e.ADD_ATTR&&(d===Be&&(d=U(d)),l(d,e.ADD_ATTR,T)),e.ADD_URI_SAFE_ATTR&&l(be,e.ADD_URI_SAFE_ATTR,T),e.FORBID_CONTENTS&&(W===qe&&(W=U(W)),l(W,e.FORBID_CONTENTS,T)),Se&&(p["#text"]=!0),k&&l(p,["html","head","body"]),p.table&&(l(p,["tbody"]),delete Y.tbody),E&&E(e),$=e)},et=l({},["mi","mo","mn","ms","mtext"]),tt=l({},["annotation-xml"]),Ft=l({},["title","style","font","a","script"]),ae=l({},Ie);l(ae,xe),l(ae,er);var Me=l({},ke);l(Me,tr);var Ut=function(e){var t=fe(e);(!t||!t.tagName)&&(t={namespaceURI:B,tagName:"template"});var r=se(e.tagName),u=se(t.tagName);return Re[e.namespaceURI]?e.namespaceURI===re?t.namespaceURI===w?r==="svg":t.namespaceURI===te?r==="svg"&&(u==="annotation-xml"||et[u]):!!ae[r]:e.namespaceURI===te?t.namespaceURI===w?r==="math":t.namespaceURI===re?r==="math"&&tt[u]:!!Me[r]:e.namespaceURI===w?t.namespaceURI===re&&!tt[u]||t.namespaceURI===te&&!et[u]?!1:!Me[r]&&(Ft[r]||!ae[r]):!!(P==="application/xhtml+xml"&&Re[e.namespaceURI]):!1},S=function(e){q(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch{try{e.outerHTML=me}catch{e.remove()}}},ne=function(e,t){try{q(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch{q(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),e==="is"&&!d[e])if(z||Q)try{S(t)}catch{}else try{t.setAttribute(e,"")}catch{}},rt=function(e){var t,r;if(ge)e="<remove></remove>"+e;else{var u=ct(e,/^[\r\n\t ]+/);r=u&&u[0]}P==="application/xhtml+xml"&&B===w&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");var A=R?R.createHTML(e):e;if(B===w)try{t=new At().parseFromString(A,P)}catch{}if(!t||!t.documentElement){t=pe.createDocument(B,"template",null);try{t.documentElement.innerHTML=Oe?me:A}catch{}}var h=t.body||t.documentElement;return e&&r&&h.insertBefore(s.createTextNode(r),h.childNodes[0]||null),B===w?Rt.call(t,k?"html":"body")[0]:k?t.documentElement:h},at=function(e){return bt.call(e.ownerDocument||e,e,x.SHOW_ELEMENT|x.SHOW_COMMENT|x.SHOW_TEXT|x.SHOW_PROCESSING_INSTRUCTION|x.SHOW_CDATA_SECTION,null,!1)},De=function(e){return e instanceof Et&&(typeof e.nodeName!="string"||typeof e.textContent!="string"||typeof e.removeChild!="function"||!(e.attributes instanceof ht)||typeof e.removeAttribute!="function"||typeof e.setAttribute!="function"||typeof e.namespaceURI!="string"||typeof e.insertBefore!="function"||typeof e.hasChildNodes!="function")},V=function(e){return I(y)==="object"?e instanceof y:e&&I(e)==="object"&&typeof e.nodeType=="number"&&typeof e.nodeName=="string"},C=function(e,t,r){N[e]&&Kt(N[e],function(u){u.call(n,t,r,$)})},nt=function(e){var t;if(C("beforeSanitizeElements",e,null),De(e)||_(/[\u0080-\uFFFF]/,e.nodeName))return S(e),!0;var r=T(e.nodeName);if(C("uponSanitizeElement",e,{tagName:r,allowedTags:p}),e.hasChildNodes()&&!V(e.firstElementChild)&&(!V(e.content)||!V(e.content.firstElementChild))&&_(/<[/\w]/g,e.innerHTML)&&_(/<[/\w]/g,e.textContent)||r==="select"&&_(/<template/i,e.innerHTML)||e.nodeType===7||Ae&&e.nodeType===8&&_(/<[/\w]/g,e.data))return S(e),!0;if(!p[r]||Y[r]){if(!Y[r]&&ot(r)&&(f.tagNameCheck instanceof RegExp&&_(f.tagNameCheck,r)||f.tagNameCheck instanceof Function&&f.tagNameCheck(r)))return!1;if(Se&&!W[r]){var u=fe(e)||e.parentNode,A=St(e)||e.childNodes;if(A&&u)for(var h=A.length,v=h-1;v>=0;--v){var F=yt(A[v],!0);F.__removalCount=(e.__removalCount||0)+1,u.insertBefore(F,gt(e))}}return S(e),!0}return e instanceof D&&!Ut(e)||(r==="noscript"||r==="noembed"||r==="noframes")&&_(/<\/no(script|embed|frames)/i,e.innerHTML)?(S(e),!0):(H&&e.nodeType===3&&(t=e.textContent,t=L(t,de," "),t=L(t,Te," "),t=L(t,ve," "),e.textContent!==t&&(q(n.removed,{element:e.cloneNode()}),e.textContent=t)),C("afterSanitizeElements",e,null),!1)},it=function(e,t,r){if(Xe&&(t==="id"||t==="name")&&(r in s||r in Pt))return!1;if(!(Ee&&!he[t]&&_(Mt,t))){if(!($e&&_(Dt,t))){if(!d[t]||he[t]){if(!(ot(e)&&(f.tagNameCheck instanceof RegExp&&_(f.tagNameCheck,e)||f.tagNameCheck instanceof Function&&f.tagNameCheck(e))&&(f.attributeNameCheck instanceof RegExp&&_(f.attributeNameCheck,t)||f.attributeNameCheck instanceof Function&&f.attributeNameCheck(t))||t==="is"&&f.allowCustomizedBuiltInElements&&(f.tagNameCheck instanceof RegExp&&_(f.tagNameCheck,r)||f.tagNameCheck instanceof Function&&f.tagNameCheck(r))))return!1}else if(!be[t]){if(!_(_e,L(r,Ge,""))){if(!((t==="src"||t==="xlink:href"||t==="href")&&e!=="script"&&Zt(r,"data:")===0&&Ke[e])){if(!(je&&!_(Nt,L(r,Ge,"")))){if(r)return!1}}}}}}return!0},ot=function(e){return e!=="annotation-xml"&&ct(e,wt)},lt=function(e){var t,r,u,A;C("beforeSanitizeAttributes",e,null);var h=e.attributes;if(!(!h||De(e))){var v={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:d};for(A=h.length;A--;){t=h[A];var F=t,m=F.name,Ne=F.namespaceURI;if(r=m==="value"?t.value:Jt(t.value),u=T(m),v.attrName=u,v.attrValue=r,v.keepAttr=!0,v.forceKeepAttr=void 0,C("uponSanitizeAttribute",e,v),r=v.attrValue,!v.forceKeepAttr&&(ne(m,e),!!v.keepAttr)){if(!Ye&&_(/\/>/i,r)){ne(m,e);continue}H&&(r=L(r,de," "),r=L(r,Te," "),r=L(r,ve," "));var st=T(e.nodeName);if(it(st,u,r)){if(Ve&&(u==="id"||u==="name")&&(ne(m,e),r=Ct+r),Ae&&_(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,r)){ne(m,e);continue}if(R&&I(K)==="object"&&typeof K.getAttributeType=="function"&&!Ne)switch(K.getAttributeType(st,u)){case"TrustedHTML":{r=R.createHTML(r);break}case"TrustedScriptURL":{r=R.createScriptURL(r);break}}try{Ne?e.setAttributeNS(Ne,m,r):e.setAttribute(m,r),De(e)?S(e):ft(n.removed)}catch{}}}}C("afterSanitizeAttributes",e,null)}},Ht=function i(e){var t,r=at(e);for(C("beforeSanitizeShadowDOM",e,null);t=r.nextNode();)C("uponSanitizeShadowNode",t,null),nt(t),lt(t),t.content instanceof c&&i(t.content);C("afterSanitizeShadowDOM",e,null)};return n.sanitize=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t,r,u,A,h;if(Oe=!i,Oe&&(i="<!-->"),typeof i!="string"&&!V(i))if(typeof i.toString=="function"){if(i=i.toString(),typeof i!="string")throw Ce("dirty is not a string, aborting")}else throw Ce("toString is not a function");if(!n.isSupported){if(I(a.toStaticHTML)==="object"||typeof a.toStaticHTML=="function"){if(typeof i=="string")return a.toStaticHTML(i);if(V(i))return a.toStaticHTML(i.outerHTML)}return i}if(ye||Le(e),n.removed=[],typeof i=="string"&&(X=!1),X){if(i.nodeName){var v=T(i.nodeName);if(!p[v]||Y[v])throw Ce("root node is forbidden and cannot be sanitized in-place")}}else if(i instanceof y)t=rt("<!---->"),r=t.ownerDocument.importNode(i,!0),r.nodeType===1&&r.nodeName==="BODY"||r.nodeName==="HTML"?t=r:t.appendChild(r);else{if(!z&&!H&&!k&&i.indexOf("<")===-1)return R&&ee?R.createHTML(i):i;if(t=rt(i),!t)return z?null:ee?me:""}t&&ge&&S(t.firstChild);for(var F=at(X?i:t);u=F.nextNode();)u.nodeType===3&&u===A||(nt(u),lt(u),u.content instanceof c&&Ht(u.content),A=u);if(A=null,X)return i;if(z){if(Q)for(h=Ot.call(t.ownerDocument);t.firstChild;)h.appendChild(t.firstChild);else h=t;return(d.shadowroot||d.shadowrootmod)&&(h=Lt.call(o,h,!0)),h}var m=k?t.outerHTML:t.innerHTML;return k&&p["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&_(fr,t.ownerDocument.doctype.name)&&(m="<!DOCTYPE "+t.ownerDocument.doctype.name+`>
3
+ `+m),H&&(m=L(m,de," "),m=L(m,Te," "),m=L(m,ve," ")),R&&ee?R.createHTML(m):m},n.setConfig=function(i){Le(i),ye=!0},n.clearConfig=function(){$=null,ye=!1},n.isValidAttribute=function(i,e,t){$||Le({});var r=T(i),u=T(e);return it(r,u,t)},n.addHook=function(i,e){typeof e=="function"&&(N[i]=N[i]||[],q(N[i],e))},n.removeHook=function(i){if(N[i])return ft(N[i])},n.removeHooks=function(i){N[i]&&(N[i]=[])},n.removeAllHooks=function(){N={}},n}var Tr=_t();export{Tr as default};
@@ -0,0 +1 @@
1
+ .page-shell{width:min(100% - 32px,1440px);margin:16px auto 28px}.topbar,.card,.metric-card{background:#ffffffeb;border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow)}.topbar,.card{border-radius:28px;padding:22px}.topbar{margin-bottom:16px}.eyebrow{margin:0;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{margin-top:8px;font-size:clamp(28px,4vw,42px);line-height:1.05}.subhead{max-width:860px;margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.toolbar,.statusbar,.pill-row,.tile-stats,.section-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar{margin-top:18px}.statusbar{justify-content:space-between;margin-top:14px}.node-select,.checkbox,.search-input,.secondary-button,.tile-card,.other-row{border:1px solid var(--line);border-radius:16px;background:#ffffffe0}.node-select,.search-input{padding:10px 12px;color:var(--text)}.node-select{min-width:min(420px,100%)}.checkbox{display:inline-flex;gap:8px;align-items:center;padding:10px 12px;color:var(--muted);font-weight:700}.secondary-button{padding:10px 14px;color:var(--text);font-size:13px;font-weight:700;cursor:pointer}.secondary-button:hover{background:var(--accent-soft);border-color:#7a68d866}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.status-pill,.meta-chip,.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.status-ok,.pill.success{background:var(--ok-bg);color:#23753c}.status-error{background:var(--err-bg);color:#ae2f3b}.pill.neutral,.meta-chip{background:var(--accent-soft);color:var(--muted)}.pill.warn{background:var(--warn-bg);color:#9c6110}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric-card{border-radius:22px;padding:18px}.metric-label{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.metric-card strong{display:block;margin-top:12px;font-size:28px;line-height:1}.metric-card p{margin-top:10px;color:var(--muted);line-height:1.45;font-size:13px}.card{margin-bottom:16px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.section-tools{justify-content:space-between;margin-bottom:16px}.search-input{min-width:min(360px,100%)}.section-note,.tile-meta,.empty-state,.other-row p{color:var(--muted);line-height:1.5}.lights-grid,.dimmer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.tile-card{padding:16px}.tile-card h3{margin-top:12px;font-size:18px;line-height:1.2}.tile-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.tile-meta{margin-top:8px;font-size:13px}.tile-stats{margin-top:14px}.light-card.is-on{background:radial-gradient(circle at top center,rgba(255,229,96,.48),transparent 42%),linear-gradient(180deg,#fff8bdfc,#ffea84f7);border-color:#d99a34b3;box-shadow:inset 0 1px #ffffffb3,0 18px 42px #f0c33c2e}.light-card.is-off{background:linear-gradient(180deg,#f8f5fffa,#f0ecfbf0)}.light-badge{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#ffffffa6;border:1px solid rgba(98,87,142,.16)}.light-card.is-on .light-badge{background:linear-gradient(180deg,#fffbdcf2,#fff1aafa);border-color:#d99a3480}.light-badge-core{width:22px;height:22px;border-radius:50%;background:#9da0b6;box-shadow:0 0 0 6px #9da0b62e}.light-card.is-on .light-badge-core{width:24px;height:24px;background:#ffcf2e;box-shadow:0 0 0 10px #ffcf2e47,0 0 18px #ffcf2e8c,0 0 38px #ffcf2e66}.dimmer-card.is-active{background:linear-gradient(180deg,#fffbe3fa,#fff5c8f0);border-color:#d99a3459}.dimmer-track{height:14px;margin-top:16px;overflow:hidden;border-radius:999px;background:#7a68d81f}.dimmer-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f0c33c,#ffde73 45%,#7a68d8)}.other-list{display:grid;gap:10px}.other-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px}.other-side{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}@media(max-width:1080px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.page-shell{width:min(100% - 16px,1440px);margin-top:8px}.topbar,.card{padding:16px;border-radius:22px}.metric-grid{grid-template-columns:1fr}.statusbar,.section-tools,.other-row{align-items:flex-start}.other-row{flex-direction:column}.other-side{justify-content:flex-start}}:root{color-scheme:light;--bg: #f4f1ff;--panel: #ffffff;--panel-soft: #f8f5ff;--text: #2b2446;--muted: #655f80;--line: rgba(98, 87, 142, .24);--accent: #7a68d8;--accent-soft: #ece8ff;--ok-bg: #edf9ef;--ok-border: #5bbf73;--err-bg: #ffe9ea;--err-border: #d95b63;--warn-bg: #fff3df;--warn-border: #d99a34;--card-radius: 18px;--shadow: 0 12px 40px rgba(43, 36, 70, .08);font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(122,104,216,.16),transparent 30%),radial-gradient(circle at top right,rgba(91,191,115,.14),transparent 24%),linear-gradient(180deg,#f6f2ff,#f5f8ff 52%,#f7fcf8);color:var(--text)}button,input,select,textarea{font:inherit}a{color:inherit}
@@ -0,0 +1 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}})();function Us(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const X={},ut=[],Re=()=>{},Xn=()=>!1,os=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ws=e=>e.startsWith("onUpdate:"),te=Object.assign,Bs=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},si=Object.prototype.hasOwnProperty,j=(e,t)=>si.call(e,t),N=Array.isArray,at=e=>Kt(e)==="[object Map]",yt=e=>Kt(e)==="[object Set]",un=e=>Kt(e)==="[object Date]",D=e=>typeof e=="function",Q=e=>typeof e=="string",Fe=e=>typeof e=="symbol",q=e=>e!==null&&typeof e=="object",kn=e=>(q(e)||D(e))&&D(e.then)&&D(e.catch),Gn=Object.prototype.toString,Kt=e=>Gn.call(e),ni=e=>Kt(e).slice(8,-1),Jn=e=>Kt(e)==="[object Object]",qs=e=>Q(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,At=Us(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ls=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},ri=/-\w/g,we=ls(e=>e.replace(ri,t=>t.slice(1).toUpperCase())),ii=/\B([A-Z])/g,lt=ls(e=>e.replace(ii,"-$1").toLowerCase()),Yn=ls(e=>e.charAt(0).toUpperCase()+e.slice(1)),ys=ls(e=>e?`on${Yn(e)}`:""),$e=(e,t)=>!Object.is(e,t),Yt=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},zn=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},cs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let an;const fs=()=>an||(an=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function us(e){if(N(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],r=Q(n)?fi(n):us(n);if(r)for(const i in r)t[i]=r[i]}return t}else if(Q(e)||q(e))return e}const oi=/;(?![^(]*\))/g,li=/:([^]+)/,ci=/\/\*[^]*?\*\//g;function fi(e){const t={};return e.replace(ci,"").split(oi).forEach(s=>{if(s){const n=s.split(li);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ye(e){let t="";if(Q(e))t=e;else if(N(e))for(let s=0;s<e.length;s++){const n=Ye(e[s]);n&&(t+=n+" ")}else if(q(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const ui="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ai=Us(ui);function Zn(e){return!!e||e===""}function di(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=vt(e[n],t[n]);return s}function vt(e,t){if(e===t)return!0;let s=un(e),n=un(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Fe(e),n=Fe(t),s||n)return e===t;if(s=N(e),n=N(t),s||n)return s&&n?di(e,t):!1;if(s=q(e),n=q(t),s||n){if(!s||!n)return!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),f=t.hasOwnProperty(o);if(l&&!f||!l&&f||!vt(e[o],t[o]))return!1}}return String(e)===String(t)}function Xs(e,t){return e.findIndex(s=>vt(s,t))}const Qn=e=>!!(e&&e.__v_isRef===!0),$=e=>Q(e)?e:e==null?"":N(e)||q(e)&&(e.toString===Gn||!D(e.toString))?Qn(e)?$(e.value):JSON.stringify(e,er,2):String(e),er=(e,t)=>Qn(t)?er(e,t.value):at(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],i)=>(s[vs(n,i)+" =>"]=r,s),{})}:yt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>vs(s))}:Fe(t)?vs(t):q(t)&&!N(t)&&!Jn(t)?String(t):t,vs=(e,t="")=>{var s;return Fe(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let pe;class hi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=pe,!t&&pe&&(this.index=(pe.scopes||(pe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=pe;try{return pe=this,t()}finally{pe=s}}}on(){++this._on===1&&(this.prevScope=pe,pe=this)}off(){this._on>0&&--this._on===0&&(pe=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function pi(){return pe}let J;const xs=new WeakSet;class tr{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,pe&&pe.active&&pe.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,xs.has(this)&&(xs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||nr(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,dn(this),rr(this);const t=J,s=Se;J=this,Se=!0;try{return this.fn()}finally{ir(this),J=t,Se=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Js(t);this.deps=this.depsTail=void 0,dn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?xs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ms(this)&&this.run()}get dirty(){return Ms(this)}}let sr=0,It,Pt;function nr(e,t=!1){if(e.flags|=8,t){e.next=Pt,Pt=e;return}e.next=It,It=e}function ks(){sr++}function Gs(){if(--sr>0)return;if(Pt){let t=Pt;for(Pt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;It;){let t=It;for(It=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function rr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ir(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),Js(n),gi(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function Ms(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(or(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function or(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Dt)||(e.globalVersion=Dt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ms(e))))return;e.flags|=2;const t=e.dep,s=J,n=Se;J=e,Se=!0;try{rr(e);const r=e.fn(e._value);(t.version===0||$e(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{J=s,Se=n,ir(e),e.flags&=-3}}function Js(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)Js(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function gi(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Se=!0;const lr=[];function We(){lr.push(Se),Se=!1}function Be(){const e=lr.pop();Se=e===void 0?!0:e}function dn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=J;J=void 0;try{t()}finally{J=s}}}let Dt=0;class mi{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class cr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!J||!Se||J===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==J)s=this.activeLink=new mi(J,this),J.deps?(s.prevDep=J.depsTail,J.depsTail.nextDep=s,J.depsTail=s):J.deps=J.depsTail=s,fr(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=J.depsTail,s.nextDep=void 0,J.depsTail.nextDep=s,J.depsTail=s,J.deps===s&&(J.deps=n)}return s}trigger(t){this.version++,Dt++,this.notify(t)}notify(t){ks();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Gs()}}}function fr(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)fr(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Ns=new WeakMap,rt=Symbol(""),Rs=Symbol(""),Vt=Symbol("");function ee(e,t,s){if(Se&&J){let n=Ns.get(e);n||Ns.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new cr),r.map=n,r.key=s),r.track()}}function je(e,t,s,n,r,i){const o=Ns.get(e);if(!o){Dt++;return}const l=f=>{f&&f.trigger()};if(ks(),t==="clear")o.forEach(l);else{const f=N(e),d=f&&qs(s);if(f&&s==="length"){const a=Number(n);o.forEach((p,E)=>{(E==="length"||E===Vt||!Fe(E)&&E>=a)&&l(p)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),d&&l(o.get(Vt)),t){case"add":f?d&&l(o.get("length")):(l(o.get(rt)),at(e)&&l(o.get(Rs)));break;case"delete":f||(l(o.get(rt)),at(e)&&l(o.get(Rs)));break;case"set":at(e)&&l(o.get(rt));break}}Gs()}function ct(e){const t=B(e);return t===e?t:(ee(t,"iterate",Vt),Ce(e)?t:t.map(qe))}function as(e){return ee(e=B(e),"iterate",Vt),e}function Me(e,t){return Ze(e)?gt(it(e)?qe(t):t):qe(t)}const _i={__proto__:null,[Symbol.iterator](){return ws(this,Symbol.iterator,e=>Me(this,e))},concat(...e){return ct(this).concat(...e.map(t=>N(t)?ct(t):t))},entries(){return ws(this,"entries",e=>(e[1]=Me(this,e[1]),e))},every(e,t){return Ve(this,"every",e,t,void 0,arguments)},filter(e,t){return Ve(this,"filter",e,t,s=>s.map(n=>Me(this,n)),arguments)},find(e,t){return Ve(this,"find",e,t,s=>Me(this,s),arguments)},findIndex(e,t){return Ve(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ve(this,"findLast",e,t,s=>Me(this,s),arguments)},findLastIndex(e,t){return Ve(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ve(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ss(this,"includes",e)},indexOf(...e){return Ss(this,"indexOf",e)},join(e){return ct(this).join(e)},lastIndexOf(...e){return Ss(this,"lastIndexOf",e)},map(e,t){return Ve(this,"map",e,t,void 0,arguments)},pop(){return Tt(this,"pop")},push(...e){return Tt(this,"push",e)},reduce(e,...t){return hn(this,"reduce",e,t)},reduceRight(e,...t){return hn(this,"reduceRight",e,t)},shift(){return Tt(this,"shift")},some(e,t){return Ve(this,"some",e,t,void 0,arguments)},splice(...e){return Tt(this,"splice",e)},toReversed(){return ct(this).toReversed()},toSorted(e){return ct(this).toSorted(e)},toSpliced(...e){return ct(this).toSpliced(...e)},unshift(...e){return Tt(this,"unshift",e)},values(){return ws(this,"values",e=>Me(this,e))}};function ws(e,t,s){const n=as(e),r=n[t]();return n!==e&&!Ce(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=s(i.value)),i}),r}const bi=Array.prototype;function Ve(e,t,s,n,r,i){const o=as(e),l=o!==e&&!Ce(e),f=o[t];if(f!==bi[t]){const p=f.apply(e,i);return l?qe(p):p}let d=s;o!==e&&(l?d=function(p,E){return s.call(this,Me(e,p),E,e)}:s.length>2&&(d=function(p,E){return s.call(this,p,E,e)}));const a=f.call(o,d,n);return l&&r?r(a):a}function hn(e,t,s,n){const r=as(e),i=r!==e&&!Ce(e);let o=s,l=!1;r!==e&&(i?(l=n.length===0,o=function(d,a,p){return l&&(l=!1,d=Me(e,d)),s.call(this,d,Me(e,a),p,e)}):s.length>3&&(o=function(d,a,p){return s.call(this,d,a,p,e)}));const f=r[t](o,...n);return l?Me(e,f):f}function Ss(e,t,s){const n=B(e);ee(n,"iterate",Vt);const r=n[t](...s);return(r===-1||r===!1)&&Zs(s[0])?(s[0]=B(s[0]),n[t](...s)):r}function Tt(e,t,s=[]){We(),ks();const n=B(e)[t].apply(e,s);return Gs(),Be(),n}const yi=Us("__proto__,__v_isRef,__isVue"),ur=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Fe));function vi(e){Fe(e)||(e=String(e));const t=B(this);return ee(t,"has",e),t.hasOwnProperty(e)}class ar{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(r?i?Pi:gr:i?pr:hr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=N(t);if(!r){let f;if(o&&(f=_i[s]))return f;if(s==="hasOwnProperty")return vi}const l=Reflect.get(t,s,ce(t)?t:n);if((Fe(s)?ur.has(s):yi(s))||(r||ee(t,"get",s),i))return l;if(ce(l)){const f=o&&qs(s)?l:l.value;return r&&q(f)?Ds(f):f}return q(l)?r?Ds(l):ds(l):l}}class dr extends ar{constructor(t=!1){super(!1,t)}set(t,s,n,r){let i=t[s];const o=N(t)&&qs(s);if(!this._isShallow){const d=Ze(i);if(!Ce(n)&&!Ze(n)&&(i=B(i),n=B(n)),!o&&ce(i)&&!ce(n))return d||(i.value=n),!0}const l=o?Number(s)<t.length:j(t,s),f=Reflect.set(t,s,n,ce(t)?t:r);return t===B(r)&&(l?$e(n,i)&&je(t,"set",s,n):je(t,"add",s,n)),f}deleteProperty(t,s){const n=j(t,s);t[s];const r=Reflect.deleteProperty(t,s);return r&&n&&je(t,"delete",s,void 0),r}has(t,s){const n=Reflect.has(t,s);return(!Fe(s)||!ur.has(s))&&ee(t,"has",s),n}ownKeys(t){return ee(t,"iterate",N(t)?"length":rt),Reflect.ownKeys(t)}}class xi extends ar{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const wi=new dr,Si=new xi,Ci=new dr(!0);const Fs=e=>e,Xt=e=>Reflect.getPrototypeOf(e);function Ti(e,t,s){return function(...n){const r=this.__v_raw,i=B(r),o=at(i),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,d=r[e](...n),a=s?Fs:t?gt:qe;return!t&&ee(i,"iterate",f?Rs:rt),te(Object.create(d),{next(){const{value:p,done:E}=d.next();return E?{value:p,done:E}:{value:l?[a(p[0]),a(p[1])]:a(p),done:E}}})}}function kt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ei(e,t){const s={get(r){const i=this.__v_raw,o=B(i),l=B(r);e||($e(r,l)&&ee(o,"get",r),ee(o,"get",l));const{has:f}=Xt(o),d=t?Fs:e?gt:qe;if(f.call(o,r))return d(i.get(r));if(f.call(o,l))return d(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ee(B(r),"iterate",rt),r.size},has(r){const i=this.__v_raw,o=B(i),l=B(r);return e||($e(r,l)&&ee(o,"has",r),ee(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,f=B(l),d=t?Fs:e?gt:qe;return!e&&ee(f,"iterate",rt),l.forEach((a,p)=>r.call(i,d(a),d(p),o))}};return te(s,e?{add:kt("add"),set:kt("set"),delete:kt("delete"),clear:kt("clear")}:{add(r){const i=B(this),o=Xt(i),l=B(r),f=!t&&!Ce(r)&&!Ze(r)?l:r;return o.has.call(i,f)||$e(r,f)&&o.has.call(i,r)||$e(l,f)&&o.has.call(i,l)||(i.add(f),je(i,"add",f,f)),this},set(r,i){!t&&!Ce(i)&&!Ze(i)&&(i=B(i));const o=B(this),{has:l,get:f}=Xt(o);let d=l.call(o,r);d||(r=B(r),d=l.call(o,r));const a=f.call(o,r);return o.set(r,i),d?$e(i,a)&&je(o,"set",r,i):je(o,"add",r,i),this},delete(r){const i=B(this),{has:o,get:l}=Xt(i);let f=o.call(i,r);f||(r=B(r),f=o.call(i,r)),l&&l.call(i,r);const d=i.delete(r);return f&&je(i,"delete",r,void 0),d},clear(){const r=B(this),i=r.size!==0,o=r.clear();return i&&je(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=Ti(r,e,t)}),s}function Ys(e,t){const s=Ei(e,t);return(n,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(j(s,r)&&r in n?s:n,r,i)}const Oi={get:Ys(!1,!1)},Ai={get:Ys(!1,!0)},Ii={get:Ys(!0,!1)};const hr=new WeakMap,pr=new WeakMap,gr=new WeakMap,Pi=new WeakMap;function Mi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ni(e){return e.__v_skip||!Object.isExtensible(e)?0:Mi(ni(e))}function ds(e){return Ze(e)?e:zs(e,!1,wi,Oi,hr)}function Ri(e){return zs(e,!1,Ci,Ai,pr)}function Ds(e){return zs(e,!0,Si,Ii,gr)}function zs(e,t,s,n,r){if(!q(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Ni(e);if(i===0)return e;const o=r.get(e);if(o)return o;const l=new Proxy(e,i===2?n:s);return r.set(e,l),l}function it(e){return Ze(e)?it(e.__v_raw):!!(e&&e.__v_isReactive)}function Ze(e){return!!(e&&e.__v_isReadonly)}function Ce(e){return!!(e&&e.__v_isShallow)}function Zs(e){return e?!!e.__v_raw:!1}function B(e){const t=e&&e.__v_raw;return t?B(t):e}function Fi(e){return!j(e,"__v_skip")&&Object.isExtensible(e)&&zn(e,"__v_skip",!0),e}const qe=e=>q(e)?ds(e):e,gt=e=>q(e)?Ds(e):e;function ce(e){return e?e.__v_isRef===!0:!1}function Di(e){return ce(e)?e.value:e}const Vi={get:(e,t,s)=>t==="__v_raw"?e:Di(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return ce(r)&&!ce(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function mr(e){return it(e)?e:new Proxy(e,Vi)}class Li{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new cr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Dt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&J!==this)return nr(this,!0),!0}get value(){const t=this.dep.track();return or(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Hi(e,t,s=!1){let n,r;return D(e)?n=e:(n=e.get,r=e.set),new Li(n,r,s)}const Gt={},es=new WeakMap;let nt;function $i(e,t=!1,s=nt){if(s){let n=es.get(s);n||es.set(s,n=[]),n.push(e)}}function ji(e,t,s=X){const{immediate:n,deep:r,once:i,scheduler:o,augmentJob:l,call:f}=s,d=I=>r?I:Ce(I)||r===!1||r===0?Ke(I,1):Ke(I);let a,p,E,O,H=!1,R=!1;if(ce(e)?(p=()=>e.value,H=Ce(e)):it(e)?(p=()=>d(e),H=!0):N(e)?(R=!0,H=e.some(I=>it(I)||Ce(I)),p=()=>e.map(I=>{if(ce(I))return I.value;if(it(I))return d(I);if(D(I))return f?f(I,2):I()})):D(e)?t?p=f?()=>f(e,2):e:p=()=>{if(E){We();try{E()}finally{Be()}}const I=nt;nt=a;try{return f?f(e,3,[O]):e(O)}finally{nt=I}}:p=Re,t&&r){const I=p,Z=r===!0?1/0:r;p=()=>Ke(I(),Z)}const z=pi(),U=()=>{a.stop(),z&&z.active&&Bs(z.effects,a)};if(i&&t){const I=t;t=(...Z)=>{I(...Z),U()}}let V=R?new Array(e.length).fill(Gt):Gt;const W=I=>{if(!(!(a.flags&1)||!a.dirty&&!I))if(t){const Z=a.run();if(r||H||(R?Z.some((be,fe)=>$e(be,V[fe])):$e(Z,V))){E&&E();const be=nt;nt=a;try{const fe=[Z,V===Gt?void 0:R&&V[0]===Gt?[]:V,O];V=Z,f?f(t,3,fe):t(...fe)}finally{nt=be}}}else a.run()};return l&&l(W),a=new tr(p),a.scheduler=o?()=>o(W,!1):W,O=I=>$i(I,!1,a),E=a.onStop=()=>{const I=es.get(a);if(I){if(f)f(I,4);else for(const Z of I)Z();es.delete(a)}},t?n?W(!0):V=a.run():o?o(W.bind(null,!0),!0):a.run(),U.pause=a.pause.bind(a),U.resume=a.resume.bind(a),U.stop=U,U}function Ke(e,t=1/0,s){if(t<=0||!q(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,ce(e))Ke(e.value,t,s);else if(N(e))for(let n=0;n<e.length;n++)Ke(e[n],t,s);else if(yt(e)||at(e))e.forEach(n=>{Ke(n,t,s)});else if(Jn(e)){for(const n in e)Ke(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ke(e[n],t,s)}return e}function Ut(e,t,s,n){try{return n?e(...n):e()}catch(r){hs(r,t,s)}}function De(e,t,s,n){if(D(e)){const r=Ut(e,t,s,n);return r&&kn(r)&&r.catch(i=>{hs(i,t,s)}),r}if(N(e)){const r=[];for(let i=0;i<e.length;i++)r.push(De(e[i],t,s,n));return r}}function hs(e,t,s,n=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const f=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const a=l.ec;if(a){for(let p=0;p<a.length;p++)if(a[p](e,f,d)===!1)return}l=l.parent}if(i){We(),Ut(i,null,10,[e,f,d]),Be();return}}Ki(e,s,r,n,o)}function Ki(e,t,s,n=!0,r=!1){if(r)throw e;console.error(e)}const oe=[];let Pe=-1;const dt=[];let Je=null,ft=0;const _r=Promise.resolve();let ts=null;function br(e){const t=ts||_r;return e?t.then(this?e.bind(this):e):t}function Ui(e){let t=Pe+1,s=oe.length;for(;t<s;){const n=t+s>>>1,r=oe[n],i=Lt(r);i<e||i===e&&r.flags&2?t=n+1:s=n}return t}function Qs(e){if(!(e.flags&1)){const t=Lt(e),s=oe[oe.length-1];!s||!(e.flags&2)&&t>=Lt(s)?oe.push(e):oe.splice(Ui(t),0,e),e.flags|=1,yr()}}function yr(){ts||(ts=_r.then(xr))}function Wi(e){N(e)?dt.push(...e):Je&&e.id===-1?Je.splice(ft+1,0,e):e.flags&1||(dt.push(e),e.flags|=1),yr()}function pn(e,t,s=Pe+1){for(;s<oe.length;s++){const n=oe[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;oe.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function vr(e){if(dt.length){const t=[...new Set(dt)].sort((s,n)=>Lt(s)-Lt(n));if(dt.length=0,Je){Je.push(...t);return}for(Je=t,ft=0;ft<Je.length;ft++){const s=Je[ft];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}Je=null,ft=0}}const Lt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function xr(e){try{for(Pe=0;Pe<oe.length;Pe++){const t=oe[Pe];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ut(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Pe<oe.length;Pe++){const t=oe[Pe];t&&(t.flags&=-2)}Pe=-1,oe.length=0,vr(),ts=null,(oe.length||dt.length)&&xr()}}let xe=null,wr=null;function ss(e){const t=xe;return xe=e,wr=e&&e.type.__scopeId||null,t}function Bi(e,t=xe,s){if(!t||e._n)return e;const n=(...r)=>{n._d&&Tn(-1);const i=ss(t);let o;try{o=e(...r)}finally{ss(i),n._d&&Tn(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function Cs(e,t){if(xe===null)return e;const s=_s(xe),n=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,f=X]=t[r];i&&(D(i)&&(i={mounted:i,updated:i}),i.deep&&Ke(o),n.push({dir:i,instance:s,value:o,oldValue:void 0,arg:l,modifiers:f}))}return e}function tt(e,t,s,n){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let f=l.dir[n];f&&(We(),De(f,s,8,[e.el,l,e,t]),Be())}}function qi(e,t){if(le){let s=le.provides;const n=le.parent&&le.parent.provides;n===s&&(s=le.provides=Object.create(n)),s[e]=t}}function zt(e,t,s=!1){const n=qo();if(n||pt){let r=pt?pt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return s&&D(t)?t.call(n&&n.proxy):t}}const Xi=Symbol.for("v-scx"),ki=()=>zt(Xi);function ht(e,t,s){return Sr(e,t,s)}function Sr(e,t,s=X){const{immediate:n,deep:r,flush:i,once:o}=s,l=te({},s),f=t&&n||!t&&i!=="post";let d;if($t){if(i==="sync"){const O=ki();d=O.__watcherHandles||(O.__watcherHandles=[])}else if(!f){const O=()=>{};return O.stop=Re,O.resume=Re,O.pause=Re,O}}const a=le;l.call=(O,H,R)=>De(O,a,H,R);let p=!1;i==="post"?l.scheduler=O=>{he(O,a&&a.suspense)}:i!=="sync"&&(p=!0,l.scheduler=(O,H)=>{H?O():Qs(O)}),l.augmentJob=O=>{t&&(O.flags|=4),p&&(O.flags|=2,a&&(O.id=a.uid,O.i=a))};const E=ji(e,t,l);return $t&&(d?d.push(E):f&&E()),E}function Gi(e,t,s){const n=this.proxy,r=Q(e)?e.includes(".")?Cr(n,e):()=>n[e]:e.bind(n,n);let i;D(t)?i=t:(i=t.handler,s=t);const o=Wt(this),l=Sr(r,i.bind(n),s);return o(),l}function Cr(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;r<s.length&&n;r++)n=n[s[r]];return n}}const Ji=Symbol("_vte"),Yi=e=>e.__isTeleport,zi=Symbol("_leaveCb");function en(e,t){e.shapeFlag&6&&e.component?(e.transition=t,en(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Tr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function gn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const ns=new WeakMap;function Mt(e,t,s,n,r=!1){if(N(e)){e.forEach((R,z)=>Mt(R,t&&(N(t)?t[z]:t),s,n,r));return}if(Nt(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Mt(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?_s(n.component):n.el,o=r?null:i,{i:l,r:f}=e,d=t&&t.r,a=l.refs===X?l.refs={}:l.refs,p=l.setupState,E=B(p),O=p===X?Xn:R=>gn(a,R)?!1:j(E,R),H=(R,z)=>!(z&&gn(a,z));if(d!=null&&d!==f){if(mn(t),Q(d))a[d]=null,O(d)&&(p[d]=null);else if(ce(d)){const R=t;H(d,R.k)&&(d.value=null),R.k&&(a[R.k]=null)}}if(D(f))Ut(f,l,12,[o,a]);else{const R=Q(f),z=ce(f);if(R||z){const U=()=>{if(e.f){const V=R?O(f)?p[f]:a[f]:H()||!e.k?f.value:a[e.k];if(r)N(V)&&Bs(V,i);else if(N(V))V.includes(i)||V.push(i);else if(R)a[f]=[i],O(f)&&(p[f]=a[f]);else{const W=[i];H(f,e.k)&&(f.value=W),e.k&&(a[e.k]=W)}}else R?(a[f]=o,O(f)&&(p[f]=o)):z&&(H(f,e.k)&&(f.value=o),e.k&&(a[e.k]=o))};if(o){const V=()=>{U(),ns.delete(e)};V.id=-1,ns.set(e,V),he(V,s)}else mn(e),U()}}}function mn(e){const t=ns.get(e);t&&(t.flags|=8,ns.delete(e))}fs().requestIdleCallback;fs().cancelIdleCallback;const Nt=e=>!!e.type.__asyncLoader,Er=e=>e.type.__isKeepAlive;function Zi(e,t){Or(e,"a",t)}function Qi(e,t){Or(e,"da",t)}function Or(e,t,s=le){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ps(t,n,s),s){let r=s.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&eo(n,t,s,r),r=r.parent}}function eo(e,t,s,n){const r=ps(t,e,n,!0);Pr(()=>{Bs(n[t],r)},s)}function ps(e,t,s=le,n=!1){if(s){const r=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...o)=>{We();const l=Wt(s),f=De(t,s,e,o);return l(),Be(),f});return n?r.unshift(i):r.push(i),i}}const Xe=e=>(t,s=le)=>{(!$t||e==="sp")&&ps(e,(...n)=>t(...n),s)},to=Xe("bm"),Ar=Xe("m"),so=Xe("bu"),no=Xe("u"),Ir=Xe("bum"),Pr=Xe("um"),ro=Xe("sp"),io=Xe("rtg"),oo=Xe("rtc");function lo(e,t=le){ps("ec",e,t)}const co=Symbol.for("v-ndc");function Jt(e,t,s,n){let r;const i=s,o=N(e);if(o||Q(e)){const l=o&&it(e);let f=!1,d=!1;l&&(f=!Ce(e),d=Ze(e),e=as(e)),r=new Array(e.length);for(let a=0,p=e.length;a<p;a++)r[a]=t(f?d?gt(qe(e[a])):qe(e[a]):e[a],a,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if(q(e))if(e[Symbol.iterator])r=Array.from(e,(l,f)=>t(l,f,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let f=0,d=l.length;f<d;f++){const a=l[f];r[f]=t(e[a],a,f,i)}}else r=[];return r}const Vs=e=>e?Yr(e)?_s(e):Vs(e.parent):null,Rt=te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Vs(e.parent),$root:e=>Vs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Nr(e),$forceUpdate:e=>e.f||(e.f=()=>{Qs(e.update)}),$nextTick:e=>e.n||(e.n=br.bind(e.proxy)),$watch:e=>Gi.bind(e)}),Ts=(e,t)=>e!==X&&!e.__isScriptSetup&&j(e,t),fo={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:i,accessCache:o,type:l,appContext:f}=e;if(t[0]!=="$"){const E=o[t];if(E!==void 0)switch(E){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return i[t]}else{if(Ts(n,t))return o[t]=1,n[t];if(r!==X&&j(r,t))return o[t]=2,r[t];if(j(i,t))return o[t]=3,i[t];if(s!==X&&j(s,t))return o[t]=4,s[t];Ls&&(o[t]=0)}}const d=Rt[t];let a,p;if(d)return t==="$attrs"&&ee(e.attrs,"get",""),d(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(s!==X&&j(s,t))return o[t]=4,s[t];if(p=f.config.globalProperties,j(p,t))return p[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:i}=e;return Ts(r,t)?(r[t]=s,!0):n!==X&&j(n,t)?(n[t]=s,!0):j(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,props:i,type:o}},l){let f;return!!(s[l]||e!==X&&l[0]!=="$"&&j(e,l)||Ts(t,l)||j(i,l)||j(n,l)||j(Rt,l)||j(r.config.globalProperties,l)||(f=o.__cssModules)&&f[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:j(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function _n(e){return N(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Ls=!0;function uo(e){const t=Nr(e),s=e.proxy,n=e.ctx;Ls=!1,t.beforeCreate&&bn(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:f,inject:d,created:a,beforeMount:p,mounted:E,beforeUpdate:O,updated:H,activated:R,deactivated:z,beforeDestroy:U,beforeUnmount:V,destroyed:W,unmounted:I,render:Z,renderTracked:be,renderTriggered:fe,errorCaptured:ye,serverPrefetch:ke,expose:A,inheritAttrs:x,components:y,directives:ve,filters:ue}=t;if(d&&ao(d,n,null),o)for(const Y in o){const k=o[Y];D(k)&&(n[Y]=k.bind(s))}if(r){const Y=r.call(s,s);q(Y)&&(e.data=ds(Y))}if(Ls=!0,i)for(const Y in i){const k=i[Y],Qe=D(k)?k.bind(s,s):D(k.get)?k.get.bind(s,s):Re,Bt=!D(k)&&D(k.set)?k.set.bind(s):Re,et=Ge({get:Qe,set:Bt});Object.defineProperty(n,Y,{enumerable:!0,configurable:!0,get:()=>et.value,set:Te=>et.value=Te})}if(l)for(const Y in l)Mr(l[Y],n,s,Y);if(f){const Y=D(f)?f.call(s):f;Reflect.ownKeys(Y).forEach(k=>{qi(k,Y[k])})}a&&bn(a,e,"c");function se(Y,k){N(k)?k.forEach(Qe=>Y(Qe.bind(s))):k&&Y(k.bind(s))}if(se(to,p),se(Ar,E),se(so,O),se(no,H),se(Zi,R),se(Qi,z),se(lo,ye),se(oo,be),se(io,fe),se(Ir,V),se(Pr,I),se(ro,ke),N(A))if(A.length){const Y=e.exposed||(e.exposed={});A.forEach(k=>{Object.defineProperty(Y,k,{get:()=>s[k],set:Qe=>s[k]=Qe,enumerable:!0})})}else e.exposed||(e.exposed={});Z&&e.render===Re&&(e.render=Z),x!=null&&(e.inheritAttrs=x),y&&(e.components=y),ve&&(e.directives=ve),ke&&Tr(e)}function ao(e,t,s=Re){N(e)&&(e=Hs(e));for(const n in e){const r=e[n];let i;q(r)?"default"in r?i=zt(r.from||n,r.default,!0):i=zt(r.from||n):i=zt(r),ce(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[n]=i}}function bn(e,t,s){De(N(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Mr(e,t,s,n){let r=n.includes(".")?Cr(s,n):()=>s[n];if(Q(e)){const i=t[e];D(i)&&ht(r,i)}else if(D(e))ht(r,e.bind(s));else if(q(e))if(N(e))e.forEach(i=>Mr(i,t,s,n));else{const i=D(e.handler)?e.handler.bind(s):t[e.handler];D(i)&&ht(r,i,e)}}function Nr(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let f;return l?f=l:!r.length&&!s&&!n?f=t:(f={},r.length&&r.forEach(d=>rs(f,d,o,!0)),rs(f,t,o)),q(t)&&i.set(t,f),f}function rs(e,t,s,n=!1){const{mixins:r,extends:i}=t;i&&rs(e,i,s,!0),r&&r.forEach(o=>rs(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const l=ho[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const ho={data:yn,props:vn,emits:vn,methods:Ot,computed:Ot,beforeCreate:ie,created:ie,beforeMount:ie,mounted:ie,beforeUpdate:ie,updated:ie,beforeDestroy:ie,beforeUnmount:ie,destroyed:ie,unmounted:ie,activated:ie,deactivated:ie,errorCaptured:ie,serverPrefetch:ie,components:Ot,directives:Ot,watch:go,provide:yn,inject:po};function yn(e,t){return t?e?function(){return te(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function po(e,t){return Ot(Hs(e),Hs(t))}function Hs(e){if(N(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function ie(e,t){return e?[...new Set([].concat(e,t))]:t}function Ot(e,t){return e?te(Object.create(null),e,t):t}function vn(e,t){return e?N(e)&&N(t)?[...new Set([...e,...t])]:te(Object.create(null),_n(e),_n(t??{})):t}function go(e,t){if(!e)return t;if(!t)return e;const s=te(Object.create(null),e);for(const n in t)s[n]=ie(e[n],t[n]);return s}function Rr(){return{app:null,config:{isNativeTag:Xn,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let mo=0;function _o(e,t){return function(n,r=null){D(n)||(n=te({},n)),r!=null&&!q(r)&&(r=null);const i=Rr(),o=new WeakSet,l=[];let f=!1;const d=i.app={_uid:mo++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:zo,get config(){return i.config},set config(a){},use(a,...p){return o.has(a)||(a&&D(a.install)?(o.add(a),a.install(d,...p)):D(a)&&(o.add(a),a(d,...p))),d},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),d},component(a,p){return p?(i.components[a]=p,d):i.components[a]},directive(a,p){return p?(i.directives[a]=p,d):i.directives[a]},mount(a,p,E){if(!f){const O=d._ceVNode||ot(n,r);return O.appContext=i,E===!0?E="svg":E===!1&&(E=void 0),e(O,a,E),f=!0,d._container=a,a.__vue_app__=d,_s(O.component)}},onUnmount(a){l.push(a)},unmount(){f&&(De(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(a,p){return i.provides[a]=p,d},runWithContext(a){const p=pt;pt=d;try{return a()}finally{pt=p}}};return d}}let pt=null;const bo=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${we(t)}Modifiers`]||e[`${lt(t)}Modifiers`];function yo(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||X;let r=s;const i=t.startsWith("update:"),o=i&&bo(n,t.slice(7));o&&(o.trim&&(r=s.map(a=>Q(a)?a.trim():a)),o.number&&(r=s.map(cs)));let l,f=n[l=ys(t)]||n[l=ys(we(t))];!f&&i&&(f=n[l=ys(lt(t))]),f&&De(f,e,6,r);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,De(d,e,6,r)}}const vo=new WeakMap;function Fr(e,t,s=!1){const n=s?vo:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!D(e)){const f=d=>{const a=Fr(d,t,!0);a&&(l=!0,te(o,a))};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!l?(q(e)&&n.set(e,null),null):(N(i)?i.forEach(f=>o[f]=null):te(o,i),q(e)&&n.set(e,o),o)}function gs(e,t){return!e||!os(t)?!1:(t=t.slice(2).replace(/Once$/,""),j(e,t[0].toLowerCase()+t.slice(1))||j(e,lt(t))||j(e,t))}function xn(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:f,render:d,renderCache:a,props:p,data:E,setupState:O,ctx:H,inheritAttrs:R}=e,z=ss(e);let U,V;try{if(s.shapeFlag&4){const I=r||n,Z=I;U=Ne(d.call(Z,I,a,p,O,E,H)),V=l}else{const I=t;U=Ne(I.length>1?I(p,{attrs:l,slots:o,emit:f}):I(p,null)),V=t.props?l:xo(l)}}catch(I){Ft.length=0,hs(I,e,1),U=ot(mt)}let W=U;if(V&&R!==!1){const I=Object.keys(V),{shapeFlag:Z}=W;I.length&&Z&7&&(i&&I.some(Ws)&&(V=wo(V,i)),W=_t(W,V,!1,!0))}return s.dirs&&(W=_t(W,null,!1,!0),W.dirs=W.dirs?W.dirs.concat(s.dirs):s.dirs),s.transition&&en(W,s.transition),U=W,ss(z),U}const xo=e=>{let t;for(const s in e)(s==="class"||s==="style"||os(s))&&((t||(t={}))[s]=e[s]);return t},wo=(e,t)=>{const s={};for(const n in e)(!Ws(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function So(e,t,s){const{props:n,children:r,component:i}=e,{props:o,children:l,patchFlag:f}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&f>=0){if(f&1024)return!0;if(f&16)return n?wn(n,o,d):!!o;if(f&8){const a=t.dynamicProps;for(let p=0;p<a.length;p++){const E=a[p];if(Dr(o,n,E)&&!gs(d,E))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:n===o?!1:n?o?wn(n,o,d):!0:!!o;return!1}function wn(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;r<n.length;r++){const i=n[r];if(Dr(t,e,i)&&!gs(s,i))return!0}return!1}function Dr(e,t,s){const n=e[s],r=t[s];return s==="style"&&q(n)&&q(r)?!vt(n,r):n!==r}function Co({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const Vr={},Lr=()=>Object.create(Vr),Hr=e=>Object.getPrototypeOf(e)===Vr;function To(e,t,s,n=!1){const r={},i=Lr();e.propsDefaults=Object.create(null),$r(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);s?e.props=n?r:Ri(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Eo(e,t,s,n){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=B(r),[f]=e.propsOptions;let d=!1;if((n||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let p=0;p<a.length;p++){let E=a[p];if(gs(e.emitsOptions,E))continue;const O=t[E];if(f)if(j(i,E))O!==i[E]&&(i[E]=O,d=!0);else{const H=we(E);r[H]=$s(f,l,H,O,e,!1)}else O!==i[E]&&(i[E]=O,d=!0)}}}else{$r(e,t,r,i)&&(d=!0);let a;for(const p in l)(!t||!j(t,p)&&((a=lt(p))===p||!j(t,a)))&&(f?s&&(s[p]!==void 0||s[a]!==void 0)&&(r[p]=$s(f,l,p,void 0,e,!0)):delete r[p]);if(i!==l)for(const p in i)(!t||!j(t,p))&&(delete i[p],d=!0)}d&&je(e.attrs,"set","")}function $r(e,t,s,n){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let f in t){if(At(f))continue;const d=t[f];let a;r&&j(r,a=we(f))?!i||!i.includes(a)?s[a]=d:(l||(l={}))[a]=d:gs(e.emitsOptions,f)||(!(f in n)||d!==n[f])&&(n[f]=d,o=!0)}if(i){const f=B(s),d=l||X;for(let a=0;a<i.length;a++){const p=i[a];s[p]=$s(r,f,p,d[p],e,!j(d,p))}}return o}function $s(e,t,s,n,r,i){const o=e[s];if(o!=null){const l=j(o,"default");if(l&&n===void 0){const f=o.default;if(o.type!==Function&&!o.skipFactory&&D(f)){const{propsDefaults:d}=r;if(s in d)n=d[s];else{const a=Wt(r);n=d[s]=f.call(null,t),a()}}else n=f;r.ce&&r.ce._setProp(s,n)}o[0]&&(i&&!l?n=!1:o[1]&&(n===""||n===lt(s))&&(n=!0))}return n}const Oo=new WeakMap;function jr(e,t,s=!1){const n=s?Oo:t.propsCache,r=n.get(e);if(r)return r;const i=e.props,o={},l=[];let f=!1;if(!D(e)){const a=p=>{f=!0;const[E,O]=jr(p,t,!0);te(o,E),O&&l.push(...O)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!f)return q(e)&&n.set(e,ut),ut;if(N(i))for(let a=0;a<i.length;a++){const p=we(i[a]);Sn(p)&&(o[p]=X)}else if(i)for(const a in i){const p=we(a);if(Sn(p)){const E=i[a],O=o[p]=N(E)||D(E)?{type:E}:te({},E),H=O.type;let R=!1,z=!0;if(N(H))for(let U=0;U<H.length;++U){const V=H[U],W=D(V)&&V.name;if(W==="Boolean"){R=!0;break}else W==="String"&&(z=!1)}else R=D(H)&&H.name==="Boolean";O[0]=R,O[1]=z,(R||j(O,"default"))&&l.push(p)}}const d=[o,l];return q(e)&&n.set(e,d),d}function Sn(e){return e[0]!=="$"&&!At(e)}const tn=e=>e==="_"||e==="_ctx"||e==="$stable",sn=e=>N(e)?e.map(Ne):[Ne(e)],Ao=(e,t,s)=>{if(t._n)return t;const n=Bi((...r)=>sn(t(...r)),s);return n._c=!1,n},Kr=(e,t,s)=>{const n=e._ctx;for(const r in e){if(tn(r))continue;const i=e[r];if(D(i))t[r]=Ao(r,i,n);else if(i!=null){const o=sn(i);t[r]=()=>o}}},Ur=(e,t)=>{const s=sn(t);e.slots.default=()=>s},Wr=(e,t,s)=>{for(const n in t)(s||!tn(n))&&(e[n]=t[n])},Io=(e,t,s)=>{const n=e.slots=Lr();if(e.vnode.shapeFlag&32){const r=t._;r?(Wr(n,t,s),s&&zn(n,"_",r,!0)):Kr(t,n)}else t&&Ur(e,t)},Po=(e,t,s)=>{const{vnode:n,slots:r}=e;let i=!0,o=X;if(n.shapeFlag&32){const l=t._;l?s&&l===1?i=!1:Wr(r,t,s):(i=!t.$stable,Kr(t,r)),o=t}else t&&(Ur(e,t),o={default:1});if(i)for(const l in r)!tn(l)&&o[l]==null&&delete r[l]},he=Do;function Mo(e){return No(e)}function No(e,t){const s=fs();s.__VUE__=!0;const{insert:n,remove:r,patchProp:i,createElement:o,createText:l,createComment:f,setText:d,setElementText:a,parentNode:p,nextSibling:E,setScopeId:O=Re,insertStaticContent:H}=e,R=(c,u,h,b=null,g=null,m=null,C=void 0,S=null,v=!!u.dynamicChildren)=>{if(c===u)return;c&&!Et(c,u)&&(b=qt(c),Te(c,g,m,!0),c=null),u.patchFlag===-2&&(v=!1,u.dynamicChildren=null);const{type:_,ref:M,shapeFlag:T}=u;switch(_){case ms:z(c,u,h,b);break;case mt:U(c,u,h,b);break;case Os:c==null&&V(u,h,b,C);break;case me:y(c,u,h,b,g,m,C,S,v);break;default:T&1?Z(c,u,h,b,g,m,C,S,v):T&6?ve(c,u,h,b,g,m,C,S,v):(T&64||T&128)&&_.process(c,u,h,b,g,m,C,S,v,St)}M!=null&&g?Mt(M,c&&c.ref,m,u||c,!u):M==null&&c&&c.ref!=null&&Mt(c.ref,null,m,c,!0)},z=(c,u,h,b)=>{if(c==null)n(u.el=l(u.children),h,b);else{const g=u.el=c.el;u.children!==c.children&&d(g,u.children)}},U=(c,u,h,b)=>{c==null?n(u.el=f(u.children||""),h,b):u.el=c.el},V=(c,u,h,b)=>{[c.el,c.anchor]=H(c.children,u,h,b,c.el,c.anchor)},W=({el:c,anchor:u},h,b)=>{let g;for(;c&&c!==u;)g=E(c),n(c,h,b),c=g;n(u,h,b)},I=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=E(c),r(c),c=h;r(u)},Z=(c,u,h,b,g,m,C,S,v)=>{if(u.type==="svg"?C="svg":u.type==="math"&&(C="mathml"),c==null)be(u,h,b,g,m,C,S,v);else{const _=c.el&&c.el._isVueCE?c.el:null;try{_&&_._beginPatch(),ke(c,u,g,m,C,S,v)}finally{_&&_._endPatch()}}},be=(c,u,h,b,g,m,C,S)=>{let v,_;const{props:M,shapeFlag:T,transition:P,dirs:F}=c;if(v=c.el=o(c.type,m,M&&M.is,M),T&8?a(v,c.children):T&16&&ye(c.children,v,null,b,g,Es(c,m),C,S),F&&tt(c,null,b,"created"),fe(v,c,c.scopeId,C,b),M){for(const G in M)G!=="value"&&!At(G)&&i(v,G,null,M[G],m,b);"value"in M&&i(v,"value",null,M.value,m),(_=M.onVnodeBeforeMount)&&Ie(_,b,c)}F&&tt(c,null,b,"beforeMount");const L=Ro(g,P);L&&P.beforeEnter(v),n(v,u,h),((_=M&&M.onVnodeMounted)||L||F)&&he(()=>{_&&Ie(_,b,c),L&&P.enter(v),F&&tt(c,null,b,"mounted")},g)},fe=(c,u,h,b,g)=>{if(h&&O(c,h),b)for(let m=0;m<b.length;m++)O(c,b[m]);if(g){let m=g.subTree;if(u===m||kr(m.type)&&(m.ssContent===u||m.ssFallback===u)){const C=g.vnode;fe(c,C,C.scopeId,C.slotScopeIds,g.parent)}}},ye=(c,u,h,b,g,m,C,S,v=0)=>{for(let _=v;_<c.length;_++){const M=c[_]=S?He(c[_]):Ne(c[_]);R(null,M,u,h,b,g,m,C,S)}},ke=(c,u,h,b,g,m,C)=>{const S=u.el=c.el;let{patchFlag:v,dynamicChildren:_,dirs:M}=u;v|=c.patchFlag&16;const T=c.props||X,P=u.props||X;let F;if(h&&st(h,!1),(F=P.onVnodeBeforeUpdate)&&Ie(F,h,u,c),M&&tt(u,c,h,"beforeUpdate"),h&&st(h,!0),(T.innerHTML&&P.innerHTML==null||T.textContent&&P.textContent==null)&&a(S,""),_?A(c.dynamicChildren,_,S,h,b,Es(u,g),m):C||k(c,u,S,null,h,b,Es(u,g),m,!1),v>0){if(v&16)x(S,T,P,h,g);else if(v&2&&T.class!==P.class&&i(S,"class",null,P.class,g),v&4&&i(S,"style",T.style,P.style,g),v&8){const L=u.dynamicProps;for(let G=0;G<L.length;G++){const K=L[G],ae=T[K],de=P[K];(de!==ae||K==="value")&&i(S,K,ae,de,g,h)}}v&1&&c.children!==u.children&&a(S,u.children)}else!C&&_==null&&x(S,T,P,h,g);((F=P.onVnodeUpdated)||M)&&he(()=>{F&&Ie(F,h,u,c),M&&tt(u,c,h,"updated")},b)},A=(c,u,h,b,g,m,C)=>{for(let S=0;S<u.length;S++){const v=c[S],_=u[S],M=v.el&&(v.type===me||!Et(v,_)||v.shapeFlag&198)?p(v.el):h;R(v,_,M,null,b,g,m,C,!0)}},x=(c,u,h,b,g)=>{if(u!==h){if(u!==X)for(const m in u)!At(m)&&!(m in h)&&i(c,m,u[m],null,g,b);for(const m in h){if(At(m))continue;const C=h[m],S=u[m];C!==S&&m!=="value"&&i(c,m,S,C,g,b)}"value"in h&&i(c,"value",u.value,h.value,g)}},y=(c,u,h,b,g,m,C,S,v)=>{const _=u.el=c?c.el:l(""),M=u.anchor=c?c.anchor:l("");let{patchFlag:T,dynamicChildren:P,slotScopeIds:F}=u;F&&(S=S?S.concat(F):F),c==null?(n(_,h,b),n(M,h,b),ye(u.children||[],h,M,g,m,C,S,v)):T>0&&T&64&&P&&c.dynamicChildren&&c.dynamicChildren.length===P.length?(A(c.dynamicChildren,P,h,g,m,C,S),(u.key!=null||g&&u===g.subTree)&&Br(c,u,!0)):k(c,u,h,M,g,m,C,S,v)},ve=(c,u,h,b,g,m,C,S,v)=>{u.slotScopeIds=S,c==null?u.shapeFlag&512?g.ctx.activate(u,h,b,C,v):ue(u,h,b,g,m,C,v):xt(c,u,v)},ue=(c,u,h,b,g,m,C)=>{const S=c.component=Bo(c,b,g);if(Er(c)&&(S.ctx.renderer=St),Xo(S,!1,C),S.asyncDep){if(g&&g.registerDep(S,se,C),!c.el){const v=S.subTree=ot(mt);U(null,v,u,h),c.placeholder=v.el}}else se(S,c,u,h,g,m,C)},xt=(c,u,h)=>{const b=u.component=c.component;if(So(c,u,h))if(b.asyncDep&&!b.asyncResolved){Y(b,u,h);return}else b.next=u,b.update();else u.el=c.el,b.vnode=u},se=(c,u,h,b,g,m,C)=>{const S=()=>{if(c.isMounted){let{next:T,bu:P,u:F,parent:L,vnode:G}=c;{const Oe=qr(c);if(Oe){T&&(T.el=G.el,Y(c,T,C)),Oe.asyncDep.then(()=>{he(()=>{c.isUnmounted||_()},g)});return}}let K=T,ae;st(c,!1),T?(T.el=G.el,Y(c,T,C)):T=G,P&&Yt(P),(ae=T.props&&T.props.onVnodeBeforeUpdate)&&Ie(ae,L,T,G),st(c,!0);const de=xn(c),Ee=c.subTree;c.subTree=de,R(Ee,de,p(Ee.el),qt(Ee),c,g,m),T.el=de.el,K===null&&Co(c,de.el),F&&he(F,g),(ae=T.props&&T.props.onVnodeUpdated)&&he(()=>Ie(ae,L,T,G),g)}else{let T;const{el:P,props:F}=u,{bm:L,m:G,parent:K,root:ae,type:de}=c,Ee=Nt(u);st(c,!1),L&&Yt(L),!Ee&&(T=F&&F.onVnodeBeforeMount)&&Ie(T,K,u),st(c,!0);{ae.ce&&ae.ce._hasShadowRoot()&&ae.ce._injectChildStyle(de,c.parent?c.parent.type:void 0);const Oe=c.subTree=xn(c);R(null,Oe,h,b,c,g,m),u.el=Oe.el}if(G&&he(G,g),!Ee&&(T=F&&F.onVnodeMounted)){const Oe=u;he(()=>Ie(T,K,Oe),g)}(u.shapeFlag&256||K&&Nt(K.vnode)&&K.vnode.shapeFlag&256)&&c.a&&he(c.a,g),c.isMounted=!0,u=h=b=null}};c.scope.on();const v=c.effect=new tr(S);c.scope.off();const _=c.update=v.run.bind(v),M=c.job=v.runIfDirty.bind(v);M.i=c,M.id=c.uid,v.scheduler=()=>Qs(M),st(c,!0),_()},Y=(c,u,h)=>{u.component=c;const b=c.vnode.props;c.vnode=u,c.next=null,Eo(c,u.props,b,h),Po(c,u.children,h),We(),pn(c),Be()},k=(c,u,h,b,g,m,C,S,v=!1)=>{const _=c&&c.children,M=c?c.shapeFlag:0,T=u.children,{patchFlag:P,shapeFlag:F}=u;if(P>0){if(P&128){Bt(_,T,h,b,g,m,C,S,v);return}else if(P&256){Qe(_,T,h,b,g,m,C,S,v);return}}F&8?(M&16&&wt(_,g,m),T!==_&&a(h,T)):M&16?F&16?Bt(_,T,h,b,g,m,C,S,v):wt(_,g,m,!0):(M&8&&a(h,""),F&16&&ye(T,h,b,g,m,C,S,v))},Qe=(c,u,h,b,g,m,C,S,v)=>{c=c||ut,u=u||ut;const _=c.length,M=u.length,T=Math.min(_,M);let P;for(P=0;P<T;P++){const F=u[P]=v?He(u[P]):Ne(u[P]);R(c[P],F,h,null,g,m,C,S,v)}_>M?wt(c,g,m,!0,!1,T):ye(u,h,b,g,m,C,S,v,T)},Bt=(c,u,h,b,g,m,C,S,v)=>{let _=0;const M=u.length;let T=c.length-1,P=M-1;for(;_<=T&&_<=P;){const F=c[_],L=u[_]=v?He(u[_]):Ne(u[_]);if(Et(F,L))R(F,L,h,null,g,m,C,S,v);else break;_++}for(;_<=T&&_<=P;){const F=c[T],L=u[P]=v?He(u[P]):Ne(u[P]);if(Et(F,L))R(F,L,h,null,g,m,C,S,v);else break;T--,P--}if(_>T){if(_<=P){const F=P+1,L=F<M?u[F].el:b;for(;_<=P;)R(null,u[_]=v?He(u[_]):Ne(u[_]),h,L,g,m,C,S,v),_++}}else if(_>P)for(;_<=T;)Te(c[_],g,m,!0),_++;else{const F=_,L=_,G=new Map;for(_=L;_<=P;_++){const ge=u[_]=v?He(u[_]):Ne(u[_]);ge.key!=null&&G.set(ge.key,_)}let K,ae=0;const de=P-L+1;let Ee=!1,Oe=0;const Ct=new Array(de);for(_=0;_<de;_++)Ct[_]=0;for(_=F;_<=T;_++){const ge=c[_];if(ae>=de){Te(ge,g,m,!0);continue}let Ae;if(ge.key!=null)Ae=G.get(ge.key);else for(K=L;K<=P;K++)if(Ct[K-L]===0&&Et(ge,u[K])){Ae=K;break}Ae===void 0?Te(ge,g,m,!0):(Ct[Ae-L]=_+1,Ae>=Oe?Oe=Ae:Ee=!0,R(ge,u[Ae],h,null,g,m,C,S,v),ae++)}const ln=Ee?Fo(Ct):ut;for(K=ln.length-1,_=de-1;_>=0;_--){const ge=L+_,Ae=u[ge],cn=u[ge+1],fn=ge+1<M?cn.el||Xr(cn):b;Ct[_]===0?R(null,Ae,h,fn,g,m,C,S,v):Ee&&(K<0||_!==ln[K]?et(Ae,h,fn,2):K--)}}},et=(c,u,h,b,g=null)=>{const{el:m,type:C,transition:S,children:v,shapeFlag:_}=c;if(_&6){et(c.component.subTree,u,h,b);return}if(_&128){c.suspense.move(u,h,b);return}if(_&64){C.move(c,u,h,St);return}if(C===me){n(m,u,h);for(let T=0;T<v.length;T++)et(v[T],u,h,b);n(c.anchor,u,h);return}if(C===Os){W(c,u,h);return}if(b!==2&&_&1&&S)if(b===0)S.beforeEnter(m),n(m,u,h),he(()=>S.enter(m),g);else{const{leave:T,delayLeave:P,afterLeave:F}=S,L=()=>{c.ctx.isUnmounted?r(m):n(m,u,h)},G=()=>{m._isLeaving&&m[zi](!0),T(m,()=>{L(),F&&F()})};P?P(m,L,G):G()}else n(m,u,h)},Te=(c,u,h,b=!1,g=!1)=>{const{type:m,props:C,ref:S,children:v,dynamicChildren:_,shapeFlag:M,patchFlag:T,dirs:P,cacheIndex:F}=c;if(T===-2&&(g=!1),S!=null&&(We(),Mt(S,null,h,c,!0),Be()),F!=null&&(u.renderCache[F]=void 0),M&256){u.ctx.deactivate(c);return}const L=M&1&&P,G=!Nt(c);let K;if(G&&(K=C&&C.onVnodeBeforeUnmount)&&Ie(K,u,c),M&6)ti(c.component,h,b);else{if(M&128){c.suspense.unmount(h,b);return}L&&tt(c,null,u,"beforeUnmount"),M&64?c.type.remove(c,u,h,St,b):_&&!_.hasOnce&&(m!==me||T>0&&T&64)?wt(_,u,h,!1,!0):(m===me&&T&384||!g&&M&16)&&wt(v,u,h),b&&rn(c)}(G&&(K=C&&C.onVnodeUnmounted)||L)&&he(()=>{K&&Ie(K,u,c),L&&tt(c,null,u,"unmounted")},h)},rn=c=>{const{type:u,el:h,anchor:b,transition:g}=c;if(u===me){ei(h,b);return}if(u===Os){I(c);return}const m=()=>{r(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(c.shapeFlag&1&&g&&!g.persisted){const{leave:C,delayLeave:S}=g,v=()=>C(h,m);S?S(c.el,m,v):v()}else m()},ei=(c,u)=>{let h;for(;c!==u;)h=E(c),r(c),c=h;r(u)},ti=(c,u,h)=>{const{bum:b,scope:g,job:m,subTree:C,um:S,m:v,a:_}=c;Cn(v),Cn(_),b&&Yt(b),g.stop(),m&&(m.flags|=8,Te(C,c,u,h)),S&&he(S,u),he(()=>{c.isUnmounted=!0},u)},wt=(c,u,h,b=!1,g=!1,m=0)=>{for(let C=m;C<c.length;C++)Te(c[C],u,h,b,g)},qt=c=>{if(c.shapeFlag&6)return qt(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=E(c.anchor||c.el),h=u&&u[Ji];return h?E(h):u};let bs=!1;const on=(c,u,h)=>{let b;c==null?u._vnode&&(Te(u._vnode,null,null,!0),b=u._vnode.component):R(u._vnode||null,c,u,null,null,null,h),u._vnode=c,bs||(bs=!0,pn(b),vr(),bs=!1)},St={p:R,um:Te,m:et,r:rn,mt:ue,mc:ye,pc:k,pbc:A,n:qt,o:e};return{render:on,hydrate:void 0,createApp:_o(on)}}function Es({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function st({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ro(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Br(e,t,s=!1){const n=e.children,r=t.children;if(N(n)&&N(r))for(let i=0;i<n.length;i++){const o=n[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=He(r[i]),l.el=o.el),!s&&l.patchFlag!==-2&&Br(o,l)),l.type===ms&&(l.patchFlag===-1&&(l=r[i]=He(l)),l.el=o.el),l.type===mt&&!l.el&&(l.el=o.el)}}function Fo(e){const t=e.slice(),s=[0];let n,r,i,o,l;const f=e.length;for(n=0;n<f;n++){const d=e[n];if(d!==0){if(r=s[s.length-1],e[r]<d){t[n]=r,s.push(n);continue}for(i=0,o=s.length-1;i<o;)l=i+o>>1,e[s[l]]<d?i=l+1:o=l;d<e[s[i]]&&(i>0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,o=s[i-1];i-- >0;)s[i]=o,o=t[o];return s}function qr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qr(t)}function Cn(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Xr(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Xr(t.subTree):null}const kr=e=>e.__isSuspense;function Do(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):Wi(e)}const me=Symbol.for("v-fgt"),ms=Symbol.for("v-txt"),mt=Symbol.for("v-cmt"),Os=Symbol.for("v-stc"),Ft=[];let _e=null;function ne(e=!1){Ft.push(_e=e?null:[])}function Vo(){Ft.pop(),_e=Ft[Ft.length-1]||null}let Ht=1;function Tn(e,t=!1){Ht+=e,e<0&&_e&&t&&(_e.hasOnce=!0)}function Lo(e){return e.dynamicChildren=Ht>0?_e||ut:null,Vo(),Ht>0&&_e&&_e.push(e),e}function re(e,t,s,n,r,i){return Lo(w(e,t,s,n,r,i,!0))}function Gr(e){return e?e.__v_isVNode===!0:!1}function Et(e,t){return e.type===t.type&&e.key===t.key}const Jr=({key:e})=>e??null,Zt=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Q(e)||ce(e)||D(e)?{i:xe,r:e,k:t,f:!!s}:e:null);function w(e,t=null,s=null,n=0,r=null,i=e===me?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jr(t),ref:t&&Zt(t),scopeId:wr,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:xe};return l?(nn(f,s),i&128&&e.normalize(f)):s&&(f.shapeFlag|=Q(s)?8:16),Ht>0&&!o&&_e&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&_e.push(f),f}const ot=Ho;function Ho(e,t=null,s=null,n=0,r=null,i=!1){if((!e||e===co)&&(e=mt),Gr(e)){const l=_t(e,t,!0);return s&&nn(l,s),Ht>0&&!i&&_e&&(l.shapeFlag&6?_e[_e.indexOf(e)]=l:_e.push(l)),l.patchFlag=-2,l}if(Yo(e)&&(e=e.__vccOpts),t){t=$o(t);let{class:l,style:f}=t;l&&!Q(l)&&(t.class=Ye(l)),q(f)&&(Zs(f)&&!N(f)&&(f=te({},f)),t.style=us(f))}const o=Q(e)?1:kr(e)?128:Yi(e)?64:q(e)?4:D(e)?2:0;return w(e,t,s,n,r,o,i,!0)}function $o(e){return e?Zs(e)||Hr(e)?te({},e):e:null}function _t(e,t,s=!1,n=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:f}=e,d=t?Ko(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Jr(d),ref:t&&t.ref?s&&i?N(i)?i.concat(Zt(t)):[i,Zt(t)]:Zt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&_t(e.ssContent),ssFallback:e.ssFallback&&_t(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&n&&en(a,f.clone(a)),a}function jo(e=" ",t=0){return ot(ms,null,e,t)}function Ne(e){return e==null||typeof e=="boolean"?ot(mt):N(e)?ot(me,null,e.slice()):Gr(e)?He(e):ot(ms,null,String(e))}function He(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:_t(e)}function nn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(N(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),nn(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!Hr(t)?t._ctx=xe:r===3&&xe&&(xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else D(t)?(t={default:t,_ctx:xe},s=32):(t=String(t),n&64?(s=16,t=[jo(t)]):s=8);e.children=t,e.shapeFlag|=s}function Ko(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const r in n)if(r==="class")t.class!==n.class&&(t.class=Ye([t.class,n.class]));else if(r==="style")t.style=us([t.style,n.style]);else if(os(r)){const i=t[r],o=n[r];o&&i!==o&&!(N(i)&&i.includes(o))&&(t[r]=i?[].concat(i,o):o)}else r!==""&&(t[r]=n[r])}return t}function Ie(e,t,s,n=null){De(e,t,7,[s,n])}const Uo=Rr();let Wo=0;function Bo(e,t,s){const n=e.type,r=(t?t.appContext:e.appContext)||Uo,i={uid:Wo++,vnode:e,type:n,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new hi(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:jr(n,r),emitsOptions:Fr(n,r),emit:null,emitted:null,propsDefaults:X,inheritAttrs:n.inheritAttrs,ctx:X,data:X,props:X,attrs:X,slots:X,refs:X,setupState:X,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=yo.bind(null,i),e.ce&&e.ce(i),i}let le=null;const qo=()=>le||xe;let is,js;{const e=fs(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};is=t("__VUE_INSTANCE_SETTERS__",s=>le=s),js=t("__VUE_SSR_SETTERS__",s=>$t=s)}const Wt=e=>{const t=le;return is(e),e.scope.on(),()=>{e.scope.off(),is(t)}},En=()=>{le&&le.scope.off(),is(null)};function Yr(e){return e.vnode.shapeFlag&4}let $t=!1;function Xo(e,t=!1,s=!1){t&&js(t);const{props:n,children:r}=e.vnode,i=Yr(e);To(e,n,i,t),Io(e,r,s||t);const o=i?ko(e,t):void 0;return t&&js(!1),o}function ko(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fo);const{setup:n}=s;if(n){We();const r=e.setupContext=n.length>1?Jo(e):null,i=Wt(e),o=Ut(n,e,0,[e.props,r]),l=kn(o);if(Be(),i(),(l||e.sp)&&!Nt(e)&&Tr(e),l){if(o.then(En,En),t)return o.then(f=>{On(e,f)}).catch(f=>{hs(f,e,0)});e.asyncDep=o}else On(e,o)}else zr(e)}function On(e,t,s){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:q(t)&&(e.setupState=mr(t)),zr(e)}function zr(e,t,s){const n=e.type;e.render||(e.render=n.render||Re);{const r=Wt(e);We();try{uo(e)}finally{Be(),r()}}}const Go={get(e,t){return ee(e,"get",""),e[t]}};function Jo(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Go),slots:e.slots,emit:e.emit,expose:t}}function _s(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mr(Fi(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Rt)return Rt[s](e)},has(t,s){return s in t||s in Rt}})):e.proxy}function Yo(e){return D(e)&&"__vccOpts"in e}const Ge=(e,t)=>Hi(e,t,$t),zo="3.5.30";let Ks;const An=typeof window<"u"&&window.trustedTypes;if(An)try{Ks=An.createPolicy("vue",{createHTML:e=>e})}catch{}const Zr=Ks?e=>Ks.createHTML(e):e=>e,Zo="http://www.w3.org/2000/svg",Qo="http://www.w3.org/1998/Math/MathML",Le=typeof document<"u"?document:null,In=Le&&Le.createElement("template"),el={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?Le.createElementNS(Zo,e):t==="mathml"?Le.createElementNS(Qo,e):s?Le.createElement(e,{is:s}):Le.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>Le.createTextNode(e),createComment:e=>Le.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Le.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,i){const o=s?s.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===i||!(r=r.nextSibling)););else{In.innerHTML=Zr(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=In.content;if(n==="svg"||n==="mathml"){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},tl=Symbol("_vtc");function sl(e,t,s){const n=e[tl];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Pn=Symbol("_vod"),nl=Symbol("_vsh"),rl=Symbol(""),il=/(?:^|;)\s*display\s*:/;function ol(e,t,s){const n=e.style,r=Q(s);let i=!1;if(s&&!r){if(t)if(Q(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Qt(n,l,"")}else for(const o in t)s[o]==null&&Qt(n,o,"");for(const o in s)o==="display"&&(i=!0),Qt(n,o,s[o])}else if(r){if(t!==s){const o=n[rl];o&&(s+=";"+o),n.cssText=s,i=il.test(s)}}else t&&e.removeAttribute("style");Pn in e&&(e[Pn]=i?n.display:"",e[nl]&&(n.display="none"))}const Mn=/\s*!important$/;function Qt(e,t,s){if(N(s))s.forEach(n=>Qt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=ll(e,t);Mn.test(s)?e.setProperty(lt(n),s.replace(Mn,""),"important"):e[n]=s}}const Nn=["Webkit","Moz","ms"],As={};function ll(e,t){const s=As[t];if(s)return s;let n=we(t);if(n!=="filter"&&n in e)return As[t]=n;n=Yn(n);for(let r=0;r<Nn.length;r++){const i=Nn[r]+n;if(i in e)return As[t]=i}return t}const Rn="http://www.w3.org/1999/xlink";function Fn(e,t,s,n,r,i=ai(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Rn,t.slice(6,t.length)):e.setAttributeNS(Rn,t,s):s==null||i&&!Zn(s)?e.removeAttribute(t):e.setAttribute(t,i?"":Fe(s)?String(s):s)}function Dn(e,t,s,n,r){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Zr(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,f=s==null?e.type==="checkbox"?"on":"":String(s);(l!==f||!("_value"in e))&&(e.value=f),s==null&&e.removeAttribute(t),e._value=s;return}let o=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=Zn(s):s==null&&l==="string"?(s="",o=!0):l==="number"&&(s=0,o=!0)}try{e[t]=s}catch{}o&&e.removeAttribute(r||t)}function ze(e,t,s,n){e.addEventListener(t,s,n)}function cl(e,t,s,n){e.removeEventListener(t,s,n)}const Vn=Symbol("_vei");function fl(e,t,s,n,r=null){const i=e[Vn]||(e[Vn]={}),o=i[t];if(n&&o)o.value=n;else{const[l,f]=ul(t);if(n){const d=i[t]=hl(n,r);ze(e,l,d,f)}else o&&(cl(e,l,o,f),i[t]=void 0)}}const Ln=/(?:Once|Passive|Capture)$/;function ul(e){let t;if(Ln.test(e)){t={};let n;for(;n=e.match(Ln);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):lt(e.slice(2)),t]}let Is=0;const al=Promise.resolve(),dl=()=>Is||(al.then(()=>Is=0),Is=Date.now());function hl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;De(pl(n,s.value),t,5,[n])};return s.value=e,s.attached=dl(),s}function pl(e,t){if(N(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const Hn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,gl=(e,t,s,n,r,i)=>{const o=r==="svg";t==="class"?sl(e,n,o):t==="style"?ol(e,s,n):os(t)?Ws(t)||fl(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ml(e,t,n,o))?(Dn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fn(e,t,n,o,i,t!=="value")):e._isVueCE&&(_l(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Q(n)))?Dn(e,we(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fn(e,t,n,o))};function ml(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Hn(t)&&D(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Hn(t)&&Q(s)?!1:t in e}function _l(e,t){const s=e._def.props;if(!s)return!1;const n=we(t);return Array.isArray(s)?s.some(r=>we(r)===n):Object.keys(s).some(r=>we(r)===n)}const bt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return N(t)?s=>Yt(t,s):t};function bl(e){e.target.composing=!0}function $n(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ue=Symbol("_assign");function jn(e,t,s){return t&&(e=e.trim()),s&&(e=cs(e)),e}const yl={created(e,{modifiers:{lazy:t,trim:s,number:n}},r){e[Ue]=bt(r);const i=n||r.props&&r.props.type==="number";ze(e,t?"change":"input",o=>{o.target.composing||e[Ue](jn(e.value,s,i))}),(s||i)&&ze(e,"change",()=>{e.value=jn(e.value,s,i)}),t||(ze(e,"compositionstart",bl),ze(e,"compositionend",$n),ze(e,"change",$n))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:r,number:i}},o){if(e[Ue]=bt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?cs(e.value):e.value,f=t??"";l!==f&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||r&&e.value.trim()===f)||(e.value=f))}},vl={deep:!0,created(e,t,s){e[Ue]=bt(s),ze(e,"change",()=>{const n=e._modelValue,r=jt(e),i=e.checked,o=e[Ue];if(N(n)){const l=Xs(n,r),f=l!==-1;if(i&&!f)o(n.concat(r));else if(!i&&f){const d=[...n];d.splice(l,1),o(d)}}else if(yt(n)){const l=new Set(n);i?l.add(r):l.delete(r),o(l)}else o(Qr(e,i))})},mounted:Kn,beforeUpdate(e,t,s){e[Ue]=bt(s),Kn(e,t,s)}};function Kn(e,{value:t,oldValue:s},n){e._modelValue=t;let r;if(N(t))r=Xs(t,n.props.value)>-1;else if(yt(t))r=t.has(n.props.value);else{if(t===s)return;r=vt(t,Qr(e,!0))}e.checked!==r&&(e.checked=r)}const xl={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const r=yt(t);ze(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>s?cs(jt(o)):jt(o));e[Ue](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,br(()=>{e._assigning=!1})}),e[Ue]=bt(n)},mounted(e,{value:t}){Un(e,t)},beforeUpdate(e,t,s){e[Ue]=bt(s)},updated(e,{value:t}){e._assigning||Un(e,t)}};function Un(e,t){const s=e.multiple,n=N(t);if(!(s&&!n&&!yt(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=jt(o);if(s)if(n){const f=typeof l;f==="string"||f==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=Xs(t,l)>-1}else o.selected=t.has(l);else if(vt(jt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function jt(e){return"_value"in e?e._value:e.value}function Qr(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const wl=te({patchProp:gl},el);let Wn;function Sl(){return Wn||(Wn=Mo(wl))}const Cl=((...e)=>{const t=Sl().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=El(n);if(!r)return;const i=t._component;!D(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=s(r,!1,Tl(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function Tl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function El(e){return Q(e)?document.querySelector(e):e}const Ol={class:"page-shell"},Al={class:"topbar"},Il={class:"toolbar"},Pl=["value"],Ml={class:"checkbox"},Nl=["disabled"],Rl={class:"statusbar"},Fl={class:"pill-row"},Dl={class:"pill neutral"},Vl={class:"pill success"},Ll={class:"pill neutral"},Hl={class:"pill warn"},$l={class:"metric-grid"},jl={class:"metric-card"},Kl={class:"metric-card"},Ul={class:"metric-card"},Wl={class:"metric-card"},Bl={class:"card"},ql={class:"card-head"},Xl={class:"meta-chip"},kl={class:"section-tools"},Gl={key:0,class:"lights-grid"},Jl={class:"tile-head"},Yl={class:"meta-chip"},zl={class:"tile-meta"},Zl={class:"tile-stats"},Ql={class:"pill neutral"},ec={key:1,class:"empty-state"},tc={class:"card"},sc={class:"card-head"},nc={class:"meta-chip"},rc={key:0,class:"dimmer-grid"},ic={class:"tile-head"},oc={class:"meta-chip"},lc={class:"pill warn"},cc={class:"tile-meta"},fc={class:"dimmer-track"},uc={class:"tile-stats"},ac={class:"pill neutral"},dc={key:1,class:"empty-state"},hc={class:"card"},pc={class:"card-head"},gc={class:"meta-chip"},mc={key:0,class:"other-list"},_c={class:"other-side"},bc={class:"pill neutral"},yc={class:"pill neutral"},vc={key:1,class:"empty-state"},Ps="knxUltimateViewer:selectedNodeId",Bn="knxUltimateViewer:autoRefresh",qn="knxUltimateViewer:search",xc={__name:"App",setup(e){const t=(()=>{try{return new URLSearchParams(window.location.search).get("nodeId")||""}catch{return""}})(),s=ds({nodes:[],selectedNodeId:t||n(Ps,""),autoRefresh:r(Bn,!0),search:n(qn,""),status:"Ready",loadingNodes:!1,loadingState:!1,data:null,lastError:"",pollHandle:null});function n(A,x=""){try{return window.localStorage&&window.localStorage.getItem(A)||x}catch{return x}}function r(A,x){try{if(!window.localStorage)return x;const y=window.localStorage.getItem(A);return y==null||y===""?x:y==="true"}catch{return x}}function i(A,x){try{window.localStorage&&window.localStorage.setItem(A,String(x??""))}catch{}}function o(A,x){try{window.localStorage&&window.localStorage.setItem(A,x?"true":"false")}catch{}}function l(A){return new URL(A,window.location.href).toString()}function f(A){s.status=String(A||"")}async function d(A,x){const y=await fetch(A,Object.assign({credentials:"same-origin"},{})),ve=await y.text();let ue={};try{ue=ve?JSON.parse(ve):{}}catch{ue={error:ve||`HTTP ${y.status}`}}if(!y.ok){const xt=ue&&ue.error?ue.error:`HTTP ${y.status}`;throw y.status===401||y.status===403?new Error(`Authentication required or insufficient permissions (${y.status}).`):new Error(xt)}return ue}function a(A){return String(A||"").trim()}function p(A){const x=t&&A.find(ue=>ue.id===t)?t:"",y=n(Ps,""),ve=y&&A.find(ue=>ue.id===y)?y:"";return x||ve||(A[0]?A[0].id:"")}async function E({preserveSelection:A=!0}={}){s.loadingNodes=!0;try{const x=await d(l("nodes")),y=Array.isArray(x&&x.nodes)?x.nodes:[];s.nodes=y,(!A||!s.selectedNodeId||!y.find(ve=>ve.id===s.selectedNodeId))&&(s.selectedNodeId=p(y))}finally{s.loadingNodes=!1}}async function O(){if(!s.selectedNodeId){s.data=null,s.lastError="No KNX Viewer node available.",f("No viewer nodes");return}s.loadingState=!0,s.lastError="",f("Refreshing KNX Viewer...");try{const A=await d(l(`state?nodeId=${encodeURIComponent(s.selectedNodeId)}`));s.data=A,f("Live state loaded")}catch(A){s.lastError=A.message||String(A),f("Unable to load state")}finally{s.loadingState=!1}}function H(){s.pollHandle&&(clearInterval(s.pollHandle),s.pollHandle=null)}function R(){H(),s.autoRefresh&&(s.pollHandle=setInterval(()=>{O().catch(()=>{})},3e3))}async function z(){await E({preserveSelection:!0}),await O()}function U(A){const x=Number(A||0);if(!Number.isFinite(x)||x<=0)return"n/a";const y=Math.max(0,Date.now()-x);return y<15e3?"just now":y<6e4?`${Math.round(y/1e3)}s ago`:y<36e5?`${Math.round(y/6e4)}m ago`:`${Math.round(y/36e5)}h ago`}function V(A){if(!A)return"n/a";const x=new Date(A);return Number.isFinite(x.getTime())?x.toLocaleString():"n/a"}const W=Ge(()=>s.data&&s.data.node?s.data.node:{}),I=Ge(()=>s.data&&s.data.summary?s.data.summary:{}),Z=Ge(()=>Array.isArray(s.data&&s.data.items)?s.data.items:[]),be=Ge(()=>{const A=a(s.search).toLowerCase();return A?Z.value.filter(x=>`${x.address||""} ${x.devicename||""} ${x.dpt||""}`.toLowerCase().includes(A)):Z.value}),fe=Ge(()=>be.value.filter(A=>A.kind==="light")),ye=Ge(()=>be.value.filter(A=>A.kind==="dimmer")),ke=Ge(()=>be.value.filter(A=>A.kind==="other").slice(0,12));return ht(()=>s.selectedNodeId,async(A,x)=>{i(Ps,A||""),!(!A||A===x)&&await O()}),ht(()=>s.autoRefresh,A=>{o(Bn,A),R()}),ht(()=>s.search,A=>{i(qn,A||"")}),Ar(async()=>{await E({preserveSelection:!1}),await O(),R()}),Ir(()=>{H()}),(A,x)=>(ne(),re("div",Ol,[w("header",Al,[w("div",null,[x[3]||(x[3]=w("p",{class:"eyebrow"},"KNX Viewer Web",-1)),w("h1",null,$(W.value.name||"KNX Viewer"),1),x[4]||(x[4]=w("p",{class:"subhead"}," Live lights and dimmer values collected by the KNX Viewer node. The visual language stays aligned with KNX AI, but focused on field states. ",-1))]),w("div",Il,[Cs(w("select",{"onUpdate:modelValue":x[0]||(x[0]=y=>s.selectedNodeId=y),class:"node-select"},[x[5]||(x[5]=w("option",{value:"",disabled:""},"Select KNX Viewer",-1)),(ne(!0),re(me,null,Jt(s.nodes,y=>(ne(),re("option",{key:y.id,value:y.id},$(`${y.name||"KNXViewer"}${y.gatewayName?` | ${y.gatewayName}`:""}`),9,Pl))),128))],512),[[xl,s.selectedNodeId]]),w("label",Ml,[Cs(w("input",{"onUpdate:modelValue":x[1]||(x[1]=y=>s.autoRefresh=y),type:"checkbox"},null,512),[[vl,s.autoRefresh]]),x[6]||(x[6]=w("span",null,"Auto refresh",-1))]),w("button",{class:"secondary-button",type:"button",disabled:s.loadingState||s.loadingNodes,onClick:z}," Refresh ",8,Nl)]),w("div",Rl,[w("span",{class:Ye(["status-pill",s.lastError?"status-error":"status-ok"])},$(s.lastError||s.status),3),w("div",Fl,[w("span",Dl,"Gateway "+$(W.value.gatewayName||"n/a"),1),w("span",Vl,"Lights on "+$(I.value.lightOnCount||0),1),w("span",Ll,"Lights off "+$(I.value.lightOffCount||0),1),w("span",Hl,"Avg dimmer "+$(I.value.averageDimmerLevel||0)+"%",1)])])]),w("section",$l,[w("article",jl,[x[7]||(x[7]=w("span",{class:"metric-label"},"Detected lights",-1)),w("strong",null,$(I.value.lightCount||0),1),x[8]||(x[8]=w("p",null,"Boolean-style KNX values currently visible to this Viewer node.",-1))]),w("article",Kl,[x[9]||(x[9]=w("span",{class:"metric-label"},"Detected dimmers",-1)),w("strong",null,$(I.value.dimmerCount||0),1),x[10]||(x[10]=w("p",null,"5.001-like level values rendered as dimmer cards.",-1))]),w("article",Ul,[x[11]||(x[11]=w("span",{class:"metric-label"},"Known group addresses",-1)),w("strong",null,$(I.value.totalItems||0),1),x[12]||(x[12]=w("p",null,"Total KNX group addresses seen by the Viewer in this runtime session.",-1))]),w("article",Wl,[x[13]||(x[13]=w("span",{class:"metric-label"},"Last KNX update",-1)),w("strong",null,$(V(I.value.lastUpdate)),1),x[14]||(x[14]=w("p",null,"Most recent telegram reflected in this web page.",-1))])]),w("section",Bl,[w("div",ql,[x[15]||(x[15]=w("h2",null,"Lights",-1)),w("span",Xl,$(fe.value.length)+" visible",1)]),w("div",kl,[Cs(w("input",{"onUpdate:modelValue":x[2]||(x[2]=y=>s.search=y),class:"search-input",type:"text",placeholder:"Search GA, label or DPT"},null,512),[[yl,s.search]]),x[16]||(x[16]=w("p",{class:"section-note"},"Rendering is based on the live values currently exposed by KNX Viewer.",-1))]),fe.value.length?(ne(),re("div",Gl,[(ne(!0),re(me,null,Jt(fe.value,y=>(ne(),re("article",{key:y.address,class:Ye(["tile-card light-card",{"is-on":y.isOn,"is-off":!y.isOn}])},[w("div",Jl,[x[17]||(x[17]=w("div",{class:"light-badge"},[w("span",{class:"light-badge-core"})],-1)),w("span",Yl,$(y.address),1)]),w("h3",null,$(y.devicename||y.address),1),w("p",zl,$(y.dpt||"no dpt"),1),w("div",Zl,[w("span",{class:Ye(["pill",y.isOn?"success":"neutral"])},$(y.isOn?"ON":"OFF"),3),w("span",Ql,"Updated "+$(U(y.lastUpdateMs)),1)])],2))),128))])):(ne(),re("p",ec,"No boolean light-style values detected yet."))]),w("section",tc,[w("div",sc,[x[18]||(x[18]=w("h2",null,"Dimmers",-1)),w("span",nc,$(ye.value.length)+" visible",1)]),ye.value.length?(ne(),re("div",rc,[(ne(!0),re(me,null,Jt(ye.value,y=>(ne(),re("article",{key:y.address,class:Ye(["tile-card dimmer-card",{"is-active":Number(y.level||0)>0}])},[w("div",ic,[w("span",oc,$(y.address),1),w("span",lc,$(y.level||0)+"%",1)]),w("h3",null,$(y.devicename||y.address),1),w("p",cc,$(y.dpt||"no dpt"),1),w("div",fc,[w("span",{class:"dimmer-fill",style:us({width:`${y.level||0}%`})},null,4)]),w("div",uc,[w("span",ac,"Updated "+$(U(y.lastUpdateMs)),1),w("span",{class:Ye(["pill",Number(y.level||0)>0?"success":"neutral"])},$(Number(y.level||0)>0?"ACTIVE":"IDLE"),3)])],2))),128))])):(ne(),re("p",dc,"No dimmer values detected yet."))]),w("section",hc,[w("div",pc,[x[19]||(x[19]=w("h2",null,"Recent KNX Values",-1)),w("span",gc,$(ke.value.length)+" preview",1)]),ke.value.length?(ne(),re("div",mc,[(ne(!0),re(me,null,Jt(ke.value,y=>(ne(),re("article",{key:y.address,class:"other-row"},[w("div",null,[w("strong",null,$(y.devicename||y.address),1),w("p",null,$(y.address)+$(y.dpt?` | ${y.dpt}`:""),1)]),w("div",_c,[w("span",bc,$(y.payloadText||"-"),1),w("span",yc,$(U(y.lastUpdateMs)),1)])]))),128))])):(ne(),re("p",vc,"No additional KNX values available for preview."))])]))}};Cl(xc).mount("#app");
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>KNX Viewer Web</title>
7
+ <script type="module" crossorigin src="/knxUltimateViewer/page/assets/app.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/knxUltimateViewer/page/assets/app.css">
9
+ </head>
10
+ <body>
11
+ <div id="app"></div>
12
+ </body>
13
+ </html>
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "engines": {
4
4
  "node": ">=20.18.1"
5
5
  },
6
- "version": "4.2.3",
6
+ "version": "4.2.6",
7
7
  "description": "Control your KNX and KNX Secure intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control, ETS group address importer, and KNX routing between interfaces. Easy to use and highly configurable.",
8
8
  "files": [
9
9
  "nodes/",
@@ -17,9 +17,10 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "dns-sync": "0.2.1",
20
+ "google-translate-tts": "^0.3.0",
20
21
  "js-yaml": "4.1.1",
21
22
  "knxultimate": "5.4.0",
22
- "lodash": "4.17.21",
23
+ "lodash": "4.18.1",
23
24
  "node-color-log": "12.0.1",
24
25
  "ping": "0.4.4",
25
26
  "simple-get": "4.0.1"
@@ -28,7 +29,8 @@
28
29
  "version": ">=3.1.1",
29
30
  "plugins": {
30
31
  "commonFunctions": "/nodes/commonFunctions.js",
31
- "knxUltimateMonitorSidebar": "/nodes/plugins/knxUltimateMonitor-sidebar-plugin.html"
32
+ "knxUltimateMonitorSidebar": "/nodes/plugins/knxUltimateMonitor-sidebar-plugin.html",
33
+ "knxUltimateFlowBubbles": "/nodes/plugins/knxUltimate-flow-bubbles-plugin.html"
32
34
  },
33
35
  "nodes": {
34
36
  "knxUltimate": "/nodes/knxUltimate.js",
@@ -83,13 +85,15 @@
83
85
  "author": "Supergiovane",
84
86
  "license": "MIT",
85
87
  "scripts": {
86
- "build": "npm run knx-ai:build",
87
- "prepack": "npm run knx-ai:build",
88
+ "build": "npm run knx-ai:build && npm run knx-viewer:build",
89
+ "prepack": "npm run knx-ai:build && npm run knx-viewer:build",
88
90
  "test": "DEBUG_KNX_HUE_TEST=0 npm run test:unit && node scripts/check-node-load.js",
89
91
  "test:unit": "mocha \"test/**/*.test.js\"",
90
92
  "lint-fix": "standard --fix",
91
93
  "knx-ai:dev": "vite --config ui/knxUltimateAI-vue/vite.config.mjs",
92
94
  "knx-ai:build": "vite build --config ui/knxUltimateAI-vue/vite.config.mjs",
95
+ "knx-viewer:dev": "vite --config ui/knxUltimateViewer-vue/vite.config.mjs",
96
+ "knx-viewer:build": "vite build --config ui/knxUltimateViewer-vue/vite.config.mjs",
93
97
  "translate-wiki": "node scripts/translate-wiki.js",
94
98
  "wiki:help-export": "node scripts/help-to-wiki.js",
95
99
  "wiki:validate": "node scripts/validate-wiki-languagebar.js",
@@ -104,11 +108,12 @@
104
108
  },
105
109
  "devDependencies": {
106
110
  "@vitejs/plugin-vue": "^6.0.1",
107
- "vite": "^7.1.3",
108
- "vue": "^3.5.21",
109
- "translate-google": "^1.5.0",
110
111
  "chai": "^4.3.10",
112
+ "jspdf": "^2.5.2",
113
+ "marked": "^14.1.0",
111
114
  "mocha": "^10.4.0",
112
- "marked": "^14.1.0"
115
+ "translate-google": "^1.5.0",
116
+ "vite": "^7.1.3",
117
+ "vue": "^3.5.21"
113
118
  }
114
119
  }
@@ -1,44 +0,0 @@
1
- :root {
2
- --bg: #f1f8f2;
3
- --text: #223729;
4
- --muted: #58725f;
5
- --line: rgba(77, 136, 92, 0.24);
6
- --accent: #5abf74;
7
- --accent-soft: #eaf8ee;
8
- --ok-bg: #eaf8ee;
9
- --ok-border: #4dae65;
10
- --user-bg: #eef2ff;
11
- --user-border: #8c7fdf;
12
- --warn-bg: #fff4e1;
13
- --warn-border: #ce9640;
14
- --event-write: #6e60c8;
15
- --event-response: #4dae65;
16
- --event-read: #cc9141;
17
- --event-repeat: #c24a4a;
18
- --event-other: #7f9b86;
19
- --pie-4: #8d7ed9;
20
- --pie-5: #4aa0b2;
21
- --pie-6: #d06274;
22
- --pie-7: #799082;
23
- }
24
-
25
- body { background: #f1f8f2; }
26
- #toolbar, .panel > h3, .insight-title { background: #e8f6ec; }
27
- .insight-meta, .flow-controls, .flow-legend, .flow-ga-list-wrap, .chat-input-row { background: #f4fbf6; }
28
- .flow-legend-help { background: #f8fdf9; }
29
-
30
- #toolbar button:hover, #chat-send:hover, .flow-controls button:hover, .chat-preset-btn:hover {
31
- border-color: #7fc692;
32
- background: #edf8f0;
33
- }
34
-
35
- #chat-send { border-color: #4dae65; background: #4dae65; }
36
- #chat-send:hover { border-color: #3f9957; background: #439f5a; }
37
-
38
- #ask-panel { background: #eef9f1; border-color: #b8d8bf; }
39
- #ask-panel > h3 { background: #e4f4e8; border-bottom-color: #b8d8bf; }
40
- #ask-panel #chat-wrap { background: #f3fbf5; border-color: #b8d8bf; }
41
-
42
- .flow-node circle { fill: #eff7f1; stroke: #59b571; }
43
- .flow-node-kind-node:not(.flow-node-disabled):not(.flow-node-anomaly) circle { fill: #e7f7eb; stroke: #3b9756; }
44
- .flow-node-disabled circle { fill: #edf3ef; stroke: #b9cbc0; }
@@ -1,44 +0,0 @@
1
- :root {
2
- --bg: #f3f4fb;
3
- --text: #2d3150;
4
- --muted: #666d8d;
5
- --line: rgba(110, 121, 170, 0.24);
6
- --accent: #7d8ed5;
7
- --accent-soft: #edf0ff;
8
- --ok-bg: #eef8f1;
9
- --ok-border: #65b57f;
10
- --user-bg: #eef3ff;
11
- --user-border: #7d8ed5;
12
- --warn-bg: #fff4e5;
13
- --warn-border: #cf9850;
14
- --event-write: #7d8ed5;
15
- --event-response: #60b17b;
16
- --event-read: #ce9850;
17
- --event-repeat: #c05a5a;
18
- --event-other: #8d97be;
19
- --pie-4: #9b8bd8;
20
- --pie-5: #55a8c0;
21
- --pie-6: #d07083;
22
- --pie-7: #7f88ab;
23
- }
24
-
25
- body { background: #f3f4fb; }
26
- #toolbar, .panel > h3, .insight-title { background: #eef0fb; }
27
- .insight-meta, .flow-controls, .flow-legend, .flow-ga-list-wrap, .chat-input-row { background: #f8f8fe; }
28
- .flow-legend-help { background: #fcfcff; }
29
-
30
- #toolbar button:hover, #chat-send:hover, .flow-controls button:hover, .chat-preset-btn:hover {
31
- border-color: #98a5dd;
32
- background: #f1f3ff;
33
- }
34
-
35
- #chat-send { border-color: #7d8ed5; background: #7d8ed5; }
36
- #chat-send:hover { border-color: #6f80c7; background: #7384cc; }
37
-
38
- #ask-panel { background: #f1f6f3; border-color: #bfd6c6; }
39
- #ask-panel > h3 { background: #eaf2ed; border-bottom-color: #bfd6c6; }
40
- #ask-panel #chat-wrap { background: #f5faf7; border-color: #bfd6c6; }
41
-
42
- .flow-node circle { fill: #f1f3fe; stroke: #7d8ed5; }
43
- .flow-node-kind-node:not(.flow-node-disabled):not(.flow-node-anomaly) circle { fill: #edf8f1; stroke: #5aa977; }
44
- .flow-node-disabled circle { fill: #edf0f8; stroke: #c0c7df; }
@@ -1,41 +0,0 @@
1
- :root {
2
- --bg: #f4f1ff;
3
- --text: #2f2751;
4
- --muted: #666084;
5
- --line: rgba(97, 86, 141, 0.24);
6
- --accent: #7a68d8;
7
- --accent-soft: #eee9ff;
8
- --ok-bg: #edf9ef;
9
- --ok-border: #56b96f;
10
- --user-bg: #eef2ff;
11
- --user-border: #8d7ee1;
12
- --warn-bg: #fff4e2;
13
- --warn-border: #d89a36;
14
- --event-write: #7a68d8;
15
- --event-response: #46b86d;
16
- --event-read: #d99a34;
17
- --event-repeat: #c24a4a;
18
- --event-other: #9891b6;
19
- --pie-4: #8d7ee1;
20
- --pie-5: #5ba7c9;
21
- --pie-6: #d95f7a;
22
- --pie-7: #7e779c;
23
- }
24
-
25
- body { background: #f4f1ff; }
26
- #toolbar, .panel > h3, .insight-title { background: #f1edff; }
27
- .insight-meta, .flow-controls, .flow-legend, .flow-ga-list-wrap, .chat-input-row { background: #f8f5ff; }
28
- .flow-legend-help { background: #fcfbff; }
29
-
30
- #toolbar button:hover, #chat-send:hover, .flow-controls button:hover, .chat-preset-btn:hover {
31
- border-color: #988bdc;
32
- background: #f3efff;
33
- }
34
-
35
- #ask-panel { background: #edf9ef; border-color: #b8d8bf; }
36
- #ask-panel > h3 { background: #e6f5ea; border-bottom-color: #b8d8bf; }
37
- #ask-panel #chat-wrap { background: #f3fbf5; border-color: #b8d8bf; }
38
-
39
- .flow-node circle { fill: #f0ecff; stroke: #7a68d8; }
40
- .flow-node-kind-node:not(.flow-node-disabled):not(.flow-node-anomaly) circle { fill: #edf9ef; stroke: #4caf66; }
41
- .flow-node-disabled circle { fill: #f2edf9; stroke: #c5bddf; }