mfe-index/app/abc-audit/abc-audit.iife.js

28 lines
171 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var AbcAuditMfe=function(){"use strict";var Ct=typeof document<"u"?document.currentScript:null;/**
* @vue/shared v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function it(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ee=process.env.NODE_ENV!=="production"?Object.freeze({}):{},Dt=process.env.NODE_ENV!=="production"?Object.freeze([]):[],pe=()=>{},is=()=>!1,Ht=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Bt=e=>e.startsWith("onUpdate:"),se=Object.assign,no=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yr=Object.prototype.hasOwnProperty,G=(e,t)=>yr.call(e,t),j=Array.isArray,bt=e=>Ut(e)==="[object Map]",rs=e=>Ut(e)==="[object Set]",as=e=>Ut(e)==="[object Date]",H=e=>typeof e=="function",oe=e=>typeof e=="string",He=e=>typeof e=="symbol",z=e=>e!==null&&typeof e=="object",oo=e=>(z(e)||H(e))&&H(e.then)&&H(e.catch),ls=Object.prototype.toString,Ut=e=>ls.call(e),so=e=>Ut(e).slice(8,-1),_n=e=>Ut(e)==="[object Object]",io=e=>oe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Wt=it(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),wr=it("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),yn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},xr=/-\w/g,ve=yn(e=>e.replace(xr,t=>t.slice(1).toUpperCase())),Er=/\B([A-Z])/g,De=yn(e=>e.replace(Er,"-$1").toLowerCase()),wn=yn(e=>e.charAt(0).toUpperCase()+e.slice(1)),_t=yn(e=>e?`on${wn(e)}`:""),Ye=(e,t)=>!Object.is(e,t),Kt=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},xn=(e,t,n,o=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Nr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},cs=e=>{const t=oe(e)?Number(e):NaN;return isNaN(t)?e:t};let ds;const qt=()=>ds||(ds=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Vt(e){if(j(e)){const t={};for(let n=0;n<e.length;n++){const o=e[n],s=oe(o)?Cr(o):Vt(o);if(s)for(const i in s)t[i]=s[i]}return t}else if(oe(e)||z(e))return e}const kr=/;(?![^(]*\))/g,Or=/:([^]+)/,Sr=/\/\*[^]*?\*\//g;function Cr(e){const t={};return e.replace(Sr,"").split(kr).forEach(n=>{if(n){const o=n.split(Or);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Be(e){let t="";if(oe(e))t=e;else if(j(e))for(let n=0;n<e.length;n++){const o=Be(e[n]);o&&(t+=o+" ")}else if(z(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Dr="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",Vr="svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view",Ar="annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics",Tr=it(Dr),$r=it(Vr),Rr=it(Ar),Pr=it("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function us(e){return!!e||e===""}function Ir(e,t){if(e.length!==t.length)return!1;let n=!0;for(let o=0;n&&o<e.length;o++)n=ro(e[o],t[o]);return n}function ro(e,t){if(e===t)return!0;let n=as(e),o=as(t);if(n||o)return n&&o?e.getTime()===t.getTime():!1;if(n=He(e),o=He(t),n||o)return e===t;if(n=j(e),o=j(t),n||o)return n&&o?Ir(e,t):!1;if(n=z(e),o=z(t),n||o){if(!n||!o)return!1;const s=Object.keys(e).length,i=Object.keys(t).length;if(s!==i)return!1;for(const r in e){const a=e.hasOwnProperty(r),c=t.hasOwnProperty(r);if(a&&!c||!a&&c||!ro(e[r],t[r]))return!1}}return String(e)===String(t)}const fs=e=>!!(e&&e.__v_isRef===!0),ie=e=>oe(e)?e:e==null?"":j(e)||z(e)&&(e.toString===ls||!H(e.toString))?fs(e)?ie(e.value):JSON.stringify(e,ps,2):String(e),ps=(e,t)=>fs(t)?ps(e,t.value):bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],i)=>(n[ao(o,i)+" =>"]=s,n),{})}:rs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ao(n))}:He(t)?ao(t):z(t)&&!j(t)&&!_n(t)?String(t):t,ao=(e,t="")=>{var n;return He(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
* @vue/reactivity v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Ue(e,...t){console.warn(`[Vue warn] ${e}`,...t)}let be;class Mr{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&be&&(be.active?(this.parent=be,this.index=(be.scopes||(be.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=be;try{return be=this,t()}finally{be=n}}else process.env.NODE_ENV!=="production"&&this._warnOnRun&&Ue("cannot run an inactive effect scope.")}on(){++this._on===1&&(this.prevScope=be,be=this)}off(){if(this._on>0&&--this._on===0){if(be===this)be=this.prevScope;else{let t=be;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n<o;n++)this.effects[n].stop();for(this.effects.length=0,n=0,o=this.cleanups.length;n<o;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,o=this.scopes.length;n<o;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const s=this.parent.scopes.pop();s&&s!==this&&(this.parent.scopes[this.index]=s,s.index=this.index)}this.parent=void 0}}}function jr(){return be}let X;const lo=new WeakSet;class hs{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,be&&(be.active?be.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,lo.has(this)&&(lo.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||gs(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,ws(this),vs(this);const t=X,n=We;X=this,We=!0;try{return this.fn()}finally{process.env.NODE_ENV!=="production"&&X!==this&&Ue("Active effect was not restored correctly - this is likely a Vue internal bug."),bs(this),X=t,We=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)po(t);this.deps=this.depsTail=void 0,ws(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?lo.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){fo(this)&&this.run()}get dirty(){return fo(this)}}let ms=0,Gt,zt;function gs(e,t=!1){if(e.flags|=8,t){e.next=zt,zt=e;return}e.next=Gt,Gt=e}function co(){ms++}function uo(){if(--ms>0)return;if(zt){let t=zt;for(zt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Gt;){let t=Gt;for(Gt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function vs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function bs(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),po(o),Fr(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}e.deps=t,e.depsTail=n}function fo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(_s(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function _s(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Jt)||(e.globalVersion=Jt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!fo(e))))return;e.flags|=2;const t=e.dep,n=X,o=We;X=e,We=!0;try{vs(e);const s=e.fn(e._value);(t.version===0||Ye(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{X=n,We=o,bs(e),e.flags&=-3}}function po(e,t=!1){const{dep:n,prevSub:o,nextSub:s}=e;if(o&&(o.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=o,e.nextSub=void 0),process.env.NODE_ENV!=="production"&&n.subsHead===e&&(n.subsHead=s),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)po(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Fr(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let We=!0;const ys=[];function Ie(){ys.push(We),We=!1}function Me(){const e=ys.pop();We=e===void 0?!0:e}function ws(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=X;X=void 0;try{t()}finally{X=n}}}let Jt=0;class Lr{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ho{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,process.env.NODE_ENV!=="production"&&(this.subsHead=void 0)}track(t){if(!X||!We||X===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==X)n=this.activeLink=new Lr(X,this),X.deps?(n.prevDep=X.depsTail,X.depsTail.nextDep=n,X.depsTail=n):X.deps=X.depsTail=n,xs(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=X.depsTail,n.nextDep=void 0,X.depsTail.nextDep=n,X.depsTail=n,X.deps===n&&(X.deps=o)}return process.env.NODE_ENV!=="production"&&X.onTrack&&X.onTrack(se({effect:X},t)),n}trigger(t){this.version++,Jt++,this.notify(t)}notify(t){co();try{if(process.env.NODE_ENV!=="production")for(let n=this.subsHead;n;n=n.nextSub)n.sub.onTrigger&&!(n.sub.flags&8)&&n.sub.onTrigger(se({effect:n.sub},t));for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{uo()}}}function xs(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)xs(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),process.env.NODE_ENV!=="production"&&e.dep.subsHead===void 0&&(e.dep.subsHead=e),e.dep.subs=e}}const mo=new WeakMap,yt=Symbol(process.env.NODE_ENV!=="production"?"Object iterate":""),go=Symbol(process.env.NODE_ENV!=="production"?"Map keys iterate":""),Yt=Symbol(process.env.NODE_ENV!=="production"?"Array iterate":"");function he(e,t,n){if(We&&X){let o=mo.get(e);o||mo.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new ho),s.map=o,s.key=n),process.env.NODE_ENV!=="production"?s.track({target:e,type:t,key:n}):s.track()}}function Xe(e,t,n,o,s,i){const r=mo.get(e);if(!r){Jt++;return}const a=c=>{c&&(process.env.NODE_ENV!=="production"?c.trigger({target:e,type:t,key:n,newValue:o,oldValue:s,oldTarget:i}):c.trigger())};if(co(),t==="clear")r.forEach(a);else{const c=j(e),p=c&&io(n);if(c&&n==="length"){const f=Number(o);r.forEach((d,m)=>{(m==="length"||m===Yt||!He(m)&&m>=f)&&a(d)})}else switch((n!==void 0||r.has(void 0))&&a(r.get(n)),p&&a(r.get(Yt)),t){case"add":c?p&&a(r.get("length")):(a(r.get(yt)),bt(e)&&a(r.get(go)));break;case"delete":c||(a(r.get(yt)),bt(e)&&a(r.get(go)));break;case"set":bt(e)&&a(r.get(yt));break}}uo()}function At(e){const t=W(e);return t===e?t:(he(t,"iterate",Yt),ye(e)?t:t.map(qe))}function En(e){return he(e=W(e),"iterate",Yt),e}function Ze(e,t){return Ke(e)?Tt(ft(e)?qe(t):t):qe(t)}const Hr={__proto__:null,[Symbol.iterator](){return vo(this,Symbol.iterator,e=>Ze(this,e))},concat(...e){return At(this).concat(...e.map(t=>j(t)?At(t):t))},entries(){return vo(this,"entries",e=>(e[1]=Ze(this,e[1]),e))},every(e,t){return rt(this,"every",e,t,void 0,arguments)},filter(e,t){return rt(this,"filter",e,t,n=>n.map(o=>Ze(this,o)),arguments)},find(e,t){return rt(this,"find",e,t,n=>Ze(this,n),arguments)},findIndex(e,t){return rt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return rt(this,"findLast",e,t,n=>Ze(this,n),arguments)},findLastIndex(e,t){return rt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return rt(this,"forEach",e,t,void 0,arguments)},includes(...e){return bo(this,"includes",e)},indexOf(...e){return bo(this,"indexOf",e)},join(e){return At(this).join(e)},lastIndexOf(...e){return bo(this,"lastIndexOf",e)},map(e,t){return rt(this,"map",e,t,void 0,arguments)},pop(){return Xt(this,"pop")},push(...e){return Xt(this,"push",e)},reduce(e,...t){return Es(this,"reduce",e,t)},reduceRight(e,...t){return Es(this,"reduceRight",e,t)},shift(){return Xt(this,"shift")},some(e,t){return rt(this,"some",e,t,void 0,arguments)},splice(...e){return Xt(this,"splice",e)},toReversed(){return At(this).toReversed()},toSorted(e){return At(this).toSorted(e)},toSpliced(...e){return At(this).toSpliced(...e)},unshift(...e){return Xt(this,"unshift",e)},values(){return vo(this,"values",e=>Ze(this,e))}};function vo(e,t,n){const o=En(e),s=o[t]();return o!==e&&!ye(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Br=Array.prototype;function rt(e,t,n,o,s,i){const r=En(e),a=r!==e&&!ye(e),c=r[t];if(c!==Br[t]){const d=c.apply(e,i);return a?qe(d):d}let p=n;r!==e&&(a?p=function(d,m){return n.call(this,Ze(e,d),m,e)}:n.length>2&&(p=function(d,m){return n.call(this,d,m,e)}));const f=c.call(r,p,o);return a&&s?s(f):f}function Es(e,t,n,o){const s=En(e),i=s!==e&&!ye(e);let r=n,a=!1;s!==e&&(i?(a=o.length===0,r=function(p,f,d){return a&&(a=!1,p=Ze(e,p)),n.call(this,p,Ze(e,f),d,e)}):n.length>3&&(r=function(p,f,d){return n.call(this,p,f,d,e)}));const c=s[t](r,...o);return a?Ze(e,c):c}function bo(e,t,n){const o=W(e);he(o,"iterate",Yt);const s=o[t](...n);return(s===-1||s===!1)&&Cn(n[0])?(n[0]=W(n[0]),o[t](...n)):s}function Xt(e,t,n=[]){Ie(),co();const o=W(e)[t].apply(e,n);return uo(),Me(),o}const Ur=it("__proto__,__v_isRef,__isVue"),Ns=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(He));function Wr(e){He(e)||(e=String(e));const t=W(this);return he(t,"has",e),t.hasOwnProperty(e)}class ks{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return o===(s?i?Ts:As:i?Vs:Ds).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const r=j(t);if(!s){let c;if(r&&(c=Hr[n]))return c;if(n==="hasOwnProperty")return Wr}const a=Reflect.get(t,n,ce(t)?t:o);if((He(n)?Ns.has(n):Ur(n))||(s||he(t,"get",n),i))return a;if(ce(a)){const c=r&&io(n)?a:a.value;return s&&z(c)?wo(c):c}return z(a)?s?wo(a):yo(a):a}}class Os extends ks{constructor(t=!1){super(!1,t)}set(t,n,o,s){let i=t[n];const r=j(t)&&io(n);if(!this._isShallow){const p=Ke(i);if(!ye(o)&&!Ke(o)&&(i=W(i),o=W(o)),!r&&ce(i)&&!ce(o))return p?(process.env.NODE_ENV!=="production"&&Ue(`Set operation on key "${String(n)}" failed: target is readonly.`,t[n]),!0):(i.value=o,!0)}const a=r?Number(n)<t.length:G(t,n),c=Reflect.set(t,n,o,ce(t)?t:s);return t===W(s)&&c&&(a?Ye(o,i)&&Xe(t,"set",n,o,i):Xe(t,"add",n,o)),c}deleteProperty(t,n){const o=G(t,n),s=t[n],i=Reflect.deleteProperty(t,n);return i&&o&&Xe(t,"delete",n,void 0,s),i}has(t,n){const o=Reflect.has(t,n);return(!He(n)||!Ns.has(n))&&he(t,"has",n),o}ownKeys(t){return he(t,"iterate",j(t)?"length":yt),Reflect.ownKeys(t)}}class Ss extends ks{constructor(t=!1){super(!0,t)}set(t,n){return process.env.NODE_ENV!=="production"&&Ue(`Set operation on key "${String(n)}" failed: target is readonly.`,t),!0}deleteProperty(t,n){return process.env.NODE_ENV!=="production"&&Ue(`Delete operation on key "${String(n)}" failed: target is readonly.`,t),!0}}const Kr=new Os,qr=new Ss,Gr=new Os(!0),zr=new Ss(!0),_o=e=>e,Nn=e=>Reflect.getPrototypeOf(e);function Jr(e,t,n){return function(...o){const s=this.__v_raw,i=W(s),r=bt(i),a=e==="entries"||e===Symbol.iterator&&r,c=e==="keys"&&r,p=s[e](...o),f=n?_o:t?Tt:qe;return!t&&he(i,"iterate",c?go:yt),se(Object.create(p),{next(){const{value:d,done:m}=p.next();return m?{value:d,done:m}:{value:a?[f(d[0]),f(d[1])]:f(d),done:m}}})}}function kn(e){return function(...t){if(process.env.NODE_ENV!=="production"){const n=t[0]?`on key "${t[0]}" `:"";Ue(`${wn(e)} operation ${n}failed: target is readonly.`,W(this))}return e==="delete"?!1:e==="clear"?void 0:this}}function Yr(e,t){const n={get(s){const i=this.__v_raw,r=W(i),a=W(s);e||(Ye(s,a)&&he(r,"get",s),he(r,"get",a));const{has:c}=Nn(r),p=t?_o:e?Tt:qe;if(c.call(r,s))return p(i.get(s));if(c.call(r,a))return p(i.get(a));i!==r&&i.get(s)},get size(){const s=this.__v_raw;return!e&&he(W(s),"iterate",yt),s.size},has(s){const i=this.__v_raw,r=W(i),a=W(s);return e||(Ye(s,a)&&he(r,"has",s),he(r,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const r=this,a=r.__v_raw,c=W(a),p=t?_o:e?Tt:qe;return!e&&he(c,"iterate",yt),a.forEach((f,d)=>s.call(i,p(f),p(d),r))}};return se(n,e?{add:kn("add"),set:kn("set"),delete:kn("delete"),clear:kn("clear")}:{add(s){const i=W(this),r=Nn(i),a=W(s),c=!t&&!ye(s)&&!Ke(s)?a:s;return r.has.call(i,c)||Ye(s,c)&&r.has.call(i,s)||Ye(a,c)&&r.has.call(i,a)||(i.add(c),Xe(i,"add",c,c)),this},set(s,i){!t&&!ye(i)&&!Ke(i)&&(i=W(i));const r=W(this),{has:a,get:c}=Nn(r);let p=a.call(r,s);p?process.env.NODE_ENV!=="production"&&Cs(r,a,s):(s=W(s),p=a.call(r,s));const f=c.call(r,s);return r.set(s,i),p?Ye(i,f)&&Xe(r,"set",s,i,f):Xe(r,"add",s,i),this},delete(s){const i=W(this),{has:r,get:a}=Nn(i);let c=r.call(i,s);c?process.env.NODE_ENV!=="production"&&Cs(i,r,s):(s=W(s),c=r.call(i,s));const p=a?a.call(i,s):void 0,f=i.delete(s);return c&&Xe(i,"delete",s,void 0,p),f},clear(){const s=W(this),i=s.size!==0,r=process.env.NODE_ENV!=="production"?bt(s)?new Map(s):new Set(s):void 0,a=s.clear();return i&&Xe(s,"clear",void 0,void 0,r),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Jr(s,e,t)}),n}function On(e,t){const n=Yr(e,t);return(o,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?o:Reflect.get(G(n,s)&&s in o?n:o,s,i)}const Xr={get:On(!1,!1)},Zr={get:On(!1,!0)},Qr={get:On(!0,!1)},ea={get:On(!0,!0)};function Cs(e,t,n){const o=W(n);if(o!==n&&t.call(e,o)){const s=so(e);Ue(`Reactive ${s} contains both the raw and reactive versions of the same object${s==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const Ds=new WeakMap,Vs=new WeakMap,As=new WeakMap,Ts=new WeakMap;function ta(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function yo(e){return Ke(e)?e:Sn(e,!1,Kr,Xr,Ds)}function na(e){return Sn(e,!1,Gr,Zr,Vs)}function wo(e){return Sn(e,!0,qr,Qr,As)}function Qe(e){return Sn(e,!0,zr,ea,Ts)}function Sn(e,t,n,o,s){if(!z(e))return process.env.NODE_ENV!=="production"&&Ue(`value cannot be made ${t?"readonly":"reactive"}: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=s.get(e);if(i)return i;const r=ta(so(e));if(r===0)return e;const a=new Proxy(e,r===2?o:n);return s.set(e,a),a}function ft(e){return Ke(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function Ke(e){return!!(e&&e.__v_isReadonly)}function ye(e){return!!(e&&e.__v_isShallow)}function Cn(e){return e?!!e.__v_raw:!1}function W(e){const t=e&&e.__v_raw;return t?W(t):e}function oa(e){return!G(e,"__v_skip")&&Object.isExtensible(e)&&xn(e,"__v_skip",!0),e}const qe=e=>z(e)?yo(e):e,Tt=e=>z(e)?wo(e):e;function ce(e){return e?e.__v_isRef===!0:!1}function wt(e){return sa(e,!1)}function sa(e,t){return ce(e)?e:new ia(e,t)}class ia{constructor(t,n){this.dep=new ho,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:W(t),this._value=n?t:qe(t),this.__v_isShallow=n}get value(){return process.env.NODE_ENV!=="production"?this.dep.track({target:this,type:"get",key:"value"}):this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||ye(t)||Ke(t);t=o?t:W(t),Ye(t,n)&&(this._rawValue=t,this._value=o?t:qe(t),process.env.NODE_ENV!=="production"?this.dep.trigger({target:this,type:"set",key:"value",newValue:t,oldValue:n}):this.dep.trigger())}}function $s(e){return ce(e)?e.value:e}const ra={get:(e,t,n)=>t==="__v_raw"?e:$s(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const s=e[t];return ce(s)&&!ce(n)?(s.value=n,!0):Reflect.set(e,t,n,o)}};function Rs(e){return ft(e)?e:new Proxy(e,ra)}class aa{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ho(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Jt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&X!==this)return gs(this,!0),!0;process.env.NODE_ENV}get value(){const t=process.env.NODE_ENV!=="production"?this.dep.track({target:this,type:"get",key:"value"}):this.dep.track();return _s(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter?this.setter(t):process.env.NODE_ENV!=="production"&&Ue("Write operation failed: computed value is readonly")}}function la(e,t,n=!1){let o,s;H(e)?o=e:(o=e.get,s=e.set);const i=new aa(o,s,n);return process.env.NODE_ENV,i}const Dn={},Vn=new WeakMap;let xt;function ca(e,t=!1,n=xt){if(n){let o=Vn.get(n);o||Vn.set(n,o=[]),o.push(e)}else process.env.NODE_ENV!=="production"&&!t&&Ue("onWatcherCleanup() was called when there was no active watcher to associate with.")}function da(e,t,n=ee){const{immediate:o,deep:s,once:i,scheduler:r,augmentJob:a,call:c}=n,p=P=>{(n.onWarn||Ue)("Invalid watch source: ",P,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},f=P=>s?P:ye(P)||s===!1||s===0?pt(P,1):pt(P);let d,m,k,A,w=!1,te=!1;if(ce(e)?(m=()=>e.value,w=ye(e)):ft(e)?(m=()=>f(e),w=!0):j(e)?(te=!0,w=e.some(P=>ft(P)||ye(P)),m=()=>e.map(P=>{if(ce(P))return P.value;if(ft(P))return f(P);if(H(P))return c?c(P,2):P();process.env.NODE_ENV!=="production"&&p(P)})):H(e)?t?m=c?()=>c(e,2):e:m=()=>{if(k){Ie();try{k()}finally{Me()}}const P=xt;xt=d;try{return c?c(e,3,[A]):e(A)}finally{xt=P}}:(m=pe,process.env.NODE_ENV!=="production"&&p(e)),t&&s){const P=m,ue=s===!0?1/0:s;m=()=>pt(P(),ue)}const R=jr(),T=()=>{d.stop(),R&&R.active&&no(R.effects,d)};if(i&&t){const P=t;t=(...ue)=>{const O=P(...ue);return T(),O}}let D=te?new Array(e.length).fill(Dn):Dn;const ne=P=>{if(!(!(d.flags&1)||!d.dirty&&!P))if(t){const ue=d.run();if(P||s||w||(te?ue.some((O,$)=>Ye(O,D[$])):Ye(ue,D))){k&&k();const O=xt;xt=d;try{const $=[ue,D===Dn?void 0:te&&D[0]===Dn?[]:D,A];D=ue,c?c(t,3,$):t(...$)}finally{xt=O}}}else d.run()};return a&&a(ne),d=new hs(m),d.scheduler=r?()=>r(ne,!1):ne,A=P=>ca(P,!1,d),k=d.onStop=()=>{const P=Vn.get(d);if(P){if(c)c(P,4);else for(const ue of P)ue();Vn.delete(d)}},process.env.NODE_ENV!=="production"&&(d.onTrack=n.onTrack,d.onTrigger=n.onTrigger),t?o?ne(!0):D=d.run():r?r(ne.bind(null,!0),!0):d.run(),T.pause=d.pause.bind(d),T.resume=d.resume.bind(d),T.stop=T,T}function pt(e,t=1/0,n){if(t<=0||!z(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ce(e))pt(e.value,t,n);else if(j(e))for(let o=0;o<e.length;o++)pt(e[o],t,n);else if(rs(e)||bt(e))e.forEach(o=>{pt(o,t,n)});else if(_n(e)){for(const o in e)pt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&pt(e[o],t,n)}return e}/**
* @vue/runtime-core v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/const Et=[];function An(e){Et.push(e)}function Tn(){Et.pop()}let xo=!1;function N(e,...t){if(xo)return;xo=!0,Ie();const n=Et.length?Et[Et.length-1].component:null,o=n&&n.appContext.config.warnHandler,s=ua();if(o)$t(o,n,11,[e+t.map(i=>{var r,a;return(a=(r=i.toString)==null?void 0:r.call(i))!=null?a:JSON.stringify(i)}).join(""),n&&n.proxy,s.map(({vnode:i})=>`at <${pn(n,i.type)}>`).join(`
`),s]);else{const i=[`[Vue warn]: ${e}`,...t];s.length&&i.push(`
`,...fa(s)),console.warn(...i)}Me(),xo=!1}function ua(){let e=Et[Et.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function fa(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[`
`],...pa(n))}),t}function pa({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,s=` at <${pn(e.component,e.type,o)}`,i=">"+n;return e.props?[s,...ha(e.props),i]:[s+i]}function ha(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...Ps(o,e[o]))}),n.length>3&&t.push(" ..."),t}function Ps(e,t,n){return oe(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ce(t)?(t=Ps(e,W(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):H(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=W(t),n?t:[`${e}=`,t])}const Eo={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function $t(e,t,n,o){try{return o?e(...o):e()}catch(s){Zt(s,t,n)}}function Ge(e,t,n,o){if(H(e)){const s=$t(e,t,n,o);return s&&oo(s)&&s.catch(i=>{Zt(i,t,n)}),s}if(j(e)){const s=[];for(let i=0;i<e.length;i++)s.push(Ge(e[i],t,n,o));return s}else process.env.NODE_ENV!=="production"&&N(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof e}`)}function Zt(e,t,n,o=!0){const s=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||ee;if(t){let a=t.parent;const c=t.proxy,p=process.env.NODE_ENV!=="production"?Eo[n]:`https://vuejs.org/error-reference/#runtime-${n}`;for(;a;){const f=a.ec;if(f){for(let d=0;d<f.length;d++)if(f[d](e,c,p)===!1)return}a=a.parent}if(i){Ie(),$t(i,null,10,[e,c,p]),Me();return}}ma(e,n,s,o,r)}function ma(e,t,n,o=!0,s=!1){if(process.env.NODE_ENV!=="production"){const i=Eo[t];if(n&&An(n),N(`Unhandled error${i?` during execution of ${i}`:""}`),n&&Tn(),o)throw e;console.error(e)}else{if(s)throw e;console.error(e)}}const we=[];let et=-1;const Rt=[];let ht=null,Pt=0;const Is=Promise.resolve();let $n=null;const ga=100;function Ms(e){const t=$n||Is;return e?t.then(this?e.bind(this):e):t}function va(e){let t=et+1,n=we.length;for(;t<n;){const o=t+n>>>1,s=we[o],i=Qt(s);i<e||i===e&&s.flags&2?t=o+1:n=o}return t}function Rn(e){if(!(e.flags&1)){const t=Qt(e),n=we[we.length-1];!n||!(e.flags&2)&&t>=Qt(n)?we.push(e):we.splice(va(t),0,e),e.flags|=1,js()}}function js(){$n||($n=Is.then(Bs))}function Fs(e){j(e)?Rt.push(...e):ht&&e.id===-1?ht.splice(Pt+1,0,e):e.flags&1||(Rt.push(e),e.flags|=1),js()}function Ls(e,t,n=et+1){for(process.env.NODE_ENV!=="production"&&(t=t||new Map);n<we.length;n++){const o=we[n];if(o&&o.flags&2){if(e&&o.id!==e.uid||process.env.NODE_ENV!=="production"&&No(t,o))continue;we.splice(n,1),n--,o.flags&4&&(o.flags&=-2),o(),o.flags&4||(o.flags&=-2)}}}function Hs(e){if(Rt.length){const t=[...new Set(Rt)].sort((n,o)=>Qt(n)-Qt(o));if(Rt.length=0,ht){ht.push(...t);return}for(ht=t,process.env.NODE_ENV!=="production"&&(e=e||new Map),Pt=0;Pt<ht.length;Pt++){const n=ht[Pt];process.env.NODE_ENV!=="production"&&No(e,n)||(n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2)}ht=null,Pt=0}}const Qt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Bs(e){process.env.NODE_ENV!=="production"&&(e=e||new Map);const t=process.env.NODE_ENV!=="production"?n=>No(e,n):pe;try{for(et=0;et<we.length;et++){const n=we[et];if(n&&!(n.flags&8)){if(process.env.NODE_ENV!=="production"&&t(n))continue;n.flags&4&&(n.flags&=-2),$t(n,n.i,n.i?15:14),n.flags&4||(n.flags&=-2)}}}finally{for(;et<we.length;et++){const n=we[et];n&&(n.flags&=-2)}et=-1,we.length=0,Hs(e),$n=null,(we.length||Rt.length)&&Bs(e)}}function No(e,t){const n=e.get(t)||0;if(n>ga){const o=t.i,s=o&&Wi(o.type);return Zt(`Maximum recursive updates exceeded${s?` in component <${s}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}return e.set(t,n+1),!1}let Ve=!1;const Us=e=>{try{return Ve}finally{Ve=e}},Pn=new Map;process.env.NODE_ENV!=="production"&&(qt().__VUE_HMR_RUNTIME__={createRecord:ko(Ws),rerender:ko(ya),reload:ko(wa)});const Nt=new Map;function ba(e){const t=e.type.__hmrId;let n=Nt.get(t);n||(Ws(t,e.type),n=Nt.get(t)),n.instances.add(e)}function _a(e){Nt.get(e.type.__hmrId).instances.delete(e)}function Ws(e,t){return Nt.has(e)?!1:(Nt.set(e,{initialDef:In(t),instances:new Set}),!0)}function In(e){return Ki(e)?e.__vccOpts:e}function ya(e,t){const n=Nt.get(e);n&&(n.initialDef.render=t,[...n.instances].forEach(o=>{t&&(o.render=t,In(o.type).render=t),o.renderCache=[],Ve=!0,o.job.flags&8||o.update(),Ve=!1}))}function wa(e,t){const n=Nt.get(e);if(!n)return;t=In(t),Ks(n.initialDef,t);const o=[...n.instances];for(let s=0;s<o.length;s++){const i=o[s],r=In(i.type);let a=Pn.get(r);a||(r!==n.initialDef&&Ks(r,t),Pn.set(r,a=new Set)),a.add(i),i.appContext.propsCache.delete(i.type),i.appContext.emitsCache.delete(i.type),i.appContext.optionsCache.delete(i.type),i.ceReload?(a.add(i),i.ceReload(t.styles),a.delete(i)):i.parent?Rn(()=>{i.job.flags&8||(Ve=!0,i.parent.update(),Ve=!1,a.delete(i))}):i.appContext.reload?i.appContext.reload():typeof window<"u"?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required."),i.root.ce&&i!==i.root&&i.root.ce._removeChildStyle(r)}Fs(()=>{Pn.clear()})}function Ks(e,t){se(e,t);for(const n in e)n!=="__file"&&!(n in t)&&delete e[n]}function ko(e){return(t,n)=>{try{return e(t,n)}catch(o){console.error(o),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let ze,en=[],Oo=!1;function tn(e,...t){ze?ze.emit(e,...t):Oo||en.push({event:e,args:t})}function So(e,t){var n,o;ze=e,ze?(ze.enabled=!0,en.forEach(({event:s,args:i})=>ze.emit(s,...i)),en=[]):typeof window<"u"&&window.HTMLElement&&!((o=(n=window.navigator)==null?void 0:n.userAgent)!=null&&o.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{So(i,t)}),setTimeout(()=>{ze||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Oo=!0,en=[])},3e3)):(Oo=!0,en=[])}function xa(e,t){tn("app:init",e,t,{Fragment:de,Text:an,Comment:Te,Static:qn})}function Ea(e){tn("app:unmount",e)}const Na=Co("component:added"),qs=Co("component:updated"),ka=Co("component:removed"),Oa=e=>{ze&&typeof ze.cleanupBuffer=="function"&&!ze.cleanupBuffer(e)&&ka(e)};function Co(e){return t=>{tn(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}const Sa=Gs("perf:start"),Ca=Gs("perf:end");function Gs(e){return(t,n,o)=>{tn(e,t.appContext.app,t.uid,t,n,o)}}function Da(e,t,n){tn("component:emit",e.appContext.app,e,t,n)}let Ae=null,zs=null;function Mn(e){const t=Ae;return Ae=e,zs=e&&e.type.__scopeId||null,t}function Va(e,t=Ae,n){if(!t||e._n)return e;const o=(...s)=>{o._d&&Ti(-1);const i=Mn(t);let r;try{r=e(...s)}finally{Mn(i),o._d&&Ti(1)}return process.env.NODE_ENV!=="production"&&qs(t),r};return o._n=!0,o._c=!0,o._d=!0,o}function Js(e){wr(e)&&N("Do not use built-in directive ids as custom directive id: "+e)}function kt(e,t,n,o){const s=e.dirs,i=t&&t.dirs;for(let r=0;r<s.length;r++){const a=s[r];i&&(a.oldValue=i[r].value);let c=a.dir[o];c&&(Ie(),Ge(c,n,8,[e.el,a,e,t]),Me())}}function Aa(e,t){if(process.env.NODE_ENV!=="production"&&(!me||me.isMounted)&&N("provide() can only be used inside setup()."),me){let n=me.provides;const o=me.parent&&me.parent.provides;o===n&&(n=me.provides=Object.create(o)),n[e]=t}}function jn(e,t,n=!1){const o=ji();if(o||Mt){let s=Mt?Mt._context.provides:o?o.parent==null||o.ce?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:void 0;if(s&&e in s)return s[e];if(arguments.length>1)return n&&H(t)?t.call(o&&o.proxy):t;process.env.NODE_ENV!=="production"&&N(`injection "${String(e)}" not found.`)}else process.env.NODE_ENV!=="production"&&N("inject() can only be used inside setup() or functional components.")}const Ta=Symbol.for("v-scx"),$a=()=>{{const e=jn(Ta);return e||process.env.NODE_ENV!=="production"&&N("Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build."),e}};function Do(e,t,n){return process.env.NODE_ENV!=="production"&&!H(t)&&N("`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature."),Ys(e,t,n)}function Ys(e,t,n=ee){const{immediate:o,deep:s,flush:i,once:r}=n;process.env.NODE_ENV!=="production"&&!t&&(o!==void 0&&N('watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.'),s!==void 0&&N('watch() "deep" option is only respected when using the watch(source, callback, options?) signature.'),r!==void 0&&N('watch() "once" option is only respected when using the watch(source, callback, options?) signature.'));const a=se({},n);process.env.NODE_ENV!=="production"&&(a.onWarn=N);const c=t&&o||!t&&i!=="post";let p;if(fn){if(i==="sync"){const k=$a();p=k.__watcherHandles||(k.__watcherHandles=[])}else if(!c){const k=()=>{};return k.stop=pe,k.resume=pe,k.pause=pe,k}}const f=me;a.call=(k,A,w)=>Ge(k,f,A,w);let d=!1;i==="post"?a.scheduler=k=>{Oe(k,f&&f.suspense)}:i!=="sync"&&(d=!0,a.scheduler=(k,A)=>{A?k():Rn(k)}),a.augmentJob=k=>{t&&(k.flags|=4),d&&(k.flags|=2,f&&(k.id=f.uid,k.i=f))};const m=da(e,t,a);return fn&&(p?p.push(m):c&&m()),m}function Ra(e,t,n){const o=this.proxy,s=oe(e)?e.includes(".")?Xs(o,e):()=>o[e]:e.bind(o,o);let i;H(t)?i=t:(i=t.handler,n=t);const r=un(this),a=Ys(s,i.bind(o),n);return r(),a}function Xs(e,t){const n=t.split(".");return()=>{let o=e;for(let s=0;s<n.length&&o;s++)o=o[n[s]];return o}}const Pa=Symbol("_vte"),Ia=e=>e.__isTeleport,Vo=Symbol("_leaveCb");function Ao(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ao(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 Ma(e,t){return H(e)?se({name:e.name},t,{setup:e}):e}function Zs(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Qs=new WeakSet;function ei(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Fn=new WeakMap;function nn(e,t,n,o,s=!1){if(j(e)){e.forEach((w,te)=>nn(w,t&&(j(t)?t[te]:t),n,o,s));return}if(on(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&nn(e,t,n,o.component.subTree);return}const i=o.shapeFlag&4?Jo(o.component):o.el,r=s?null:i,{i:a,r:c}=e;if(process.env.NODE_ENV!=="production"&&!a){N("Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.");return}const p=t&&t.r,f=a.refs===ee?a.refs={}:a.refs,d=a.setupState,m=W(d),k=d===ee?is:w=>process.env.NODE_ENV!=="production"&&(G(m,w)&&!ce(m[w])&&N(`Template ref "${w}" used on a non-ref value. It will not work in the production build.`),Qs.has(m[w]))||ei(f,w)?!1:G(m,w),A=(w,te)=>!(process.env.NODE_ENV!=="production"&&Qs.has(w)||te&&ei(f,te));if(p!=null&&p!==c){if(ti(t),oe(p))f[p]=null,k(p)&&(d[p]=null);else if(ce(p)){const w=t;A(p,w.k)&&(p.value=null),w.k&&(f[w.k]=null)}}if(H(c)){Ie();try{$t(c,a,12,[r,f])}finally{Me()}}else{const w=oe(c),te=ce(c);if(w||te){const R=()=>{if(e.f){const T=w?k(c)?d[c]:f[c]:A(c)||!e.k?c.value:f[e.k];if(s)j(T)&&no(T,i);else if(j(T))T.includes(i)||T.push(i);else if(w)f[c]=[i],k(c)&&(d[c]=f[c]);else{const D=[i];A(c,e.k)&&(c.value=D),e.k&&(f[e.k]=D)}}else w?(f[c]=r,k(c)&&(d[c]=r)):te?(A(c,e.k)&&(c.value=r),e.k&&(f[e.k]=r)):process.env.NODE_ENV!=="production"&&N("Invalid template ref type:",c,`(${typeof c})`)};if(r){const T=()=>{R(),Fn.delete(e)};T.id=-1,Fn.set(e,T),Oe(T,n)}else ti(e),R()}else process.env.NODE_ENV!=="production"&&N("Invalid template ref type:",c,`(${typeof c})`)}}function ti(e){const t=Fn.get(e);t&&(t.flags|=8,Fn.delete(e))}qt().requestIdleCallback,qt().cancelIdleCallback;const on=e=>!!e.type.__asyncLoader,To=e=>e.type.__isKeepAlive;function ja(e,t){ni(e,"a",t)}function Fa(e,t){ni(e,"da",t)}function ni(e,t,n=me){const o=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Ln(t,o,n),n){let s=n.parent;for(;s&&s.parent;)To(s.parent.vnode)&&La(o,t,n,s),s=s.parent}}function La(e,t,n,o){const s=Ln(t,e,o,!0);Ro(()=>{no(o[t],s)},n)}function Ln(e,t,n=me,o=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{Ie();const a=un(n),c=Ge(t,n,e,r);return a(),Me(),c});return o?s.unshift(i):s.push(i),i}else if(process.env.NODE_ENV!=="production"){const s=_t(Eo[e].replace(/ hook$/,""));N(`${s} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}}const at=e=>(t,n=me)=>{(!fn||e==="sp")&&Ln(e,(...o)=>t(...o),n)},Ha=at("bm"),$o=at("m"),Ba=at("bu"),Ua=at("u"),Wa=at("bum"),Ro=at("um"),Ka=at("sp"),qa=at("rtg"),Ga=at("rtc");function za(e,t=me){Ln("ec",e,t)}const Ja=Symbol.for("v-ndc");function It(e,t,n,o){let s;const i=n,r=j(e);if(r||oe(e)){const a=r&&ft(e);let c=!1,p=!1;a&&(c=!ye(e),p=Ke(e),e=En(e)),s=new Array(e.length);for(let f=0,d=e.length;f<d;f++)s[f]=t(c?p?Tt(qe(e[f])):qe(e[f]):e[f],f,void 0,i)}else if(typeof e=="number")if(process.env.NODE_ENV!=="production"&&(!Number.isInteger(e)||e<0))N(`The v-for range expects a positive integer value but got ${e}.`),s=[];else{s=new Array(e);for(let a=0;a<e;a++)s[a]=t(a+1,a,void 0,i)}else if(z(e))if(e[Symbol.iterator])s=Array.from(e,(a,c)=>t(a,c,void 0,i));else{const a=Object.keys(e);s=new Array(a.length);for(let c=0,p=a.length;c<p;c++){const f=a[c];s[c]=t(e[f],f,c,i)}}else s=[];return s}const Po=e=>e?Li(e)?Jo(e):Po(e.parent):null,Ot=se(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>process.env.NODE_ENV!=="production"?Qe(e.props):e.props,$attrs:e=>process.env.NODE_ENV!=="production"?Qe(e.attrs):e.attrs,$slots:e=>process.env.NODE_ENV!=="production"?Qe(e.slots):e.slots,$refs:e=>process.env.NODE_ENV!=="production"?Qe(e.refs):e.refs,$parent:e=>Po(e.parent),$root:e=>Po(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ai(e),$forceUpdate:e=>e.f||(e.f=()=>{Rn(e.update)}),$nextTick:e=>e.n||(e.n=Ms.bind(e.proxy)),$watch:e=>Ra.bind(e)}),Io=e=>e==="_"||e==="$",Mo=(e,t)=>e!==ee&&!e.__isScriptSetup&&G(e,t),oi={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:s,props:i,accessCache:r,type:a,appContext:c}=e;if(process.env.NODE_ENV!=="production"&&t==="__isVue")return!0;if(t[0]!=="$"){const m=r[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(Mo(o,t))return r[t]=1,o[t];if(s!==ee&&G(s,t))return r[t]=2,s[t];if(G(i,t))return r[t]=3,i[t];if(n!==ee&&G(n,t))return r[t]=4,n[t];jo&&(r[t]=0)}}const p=Ot[t];let f,d;if(p)return t==="$attrs"?(he(e.attrs,"get",""),process.env.NODE_ENV!=="production"&&Un()):process.env.NODE_ENV!=="production"&&t==="$slots"&&he(e,"get",t),p(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==ee&&G(n,t))return r[t]=4,n[t];if(d=c.config.globalProperties,G(d,t))return d[t];process.env.NODE_ENV!=="production"&&Ae&&(!oe(t)||t.indexOf("__v")!==0)&&(s!==ee&&Io(t[0])&&G(s,t)?N(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===Ae&&N(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,n){const{data:o,setupState:s,ctx:i}=e;return Mo(s,t)?(s[t]=n,!0):process.env.NODE_ENV!=="production"&&s.__isScriptSetup&&G(s,t)?(N(`Cannot mutate <script setup> binding "${t}" from Options API.`),!1):o!==ee&&G(o,t)?(o[t]=n,!0):G(e.props,t)?(process.env.NODE_ENV!=="production"&&N(`Attempting to mutate prop "${t}". Props are readonly.`),!1):t[0]==="$"&&t.slice(1)in e?(process.env.NODE_ENV!=="production"&&N(`Attempting to mutate public property "${t}". Properties starting with $ are reserved and readonly.`),!1):(process.env.NODE_ENV!=="production"&&t in e.appContext.config.globalProperties?Object.defineProperty(i,t,{enumerable:!0,configurable:!0,value:n}):i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:s,props:i,type:r}},a){let c;return!!(n[a]||e!==ee&&a[0]!=="$"&&G(e,a)||Mo(t,a)||G(i,a)||G(o,a)||G(Ot,a)||G(s.config.globalProperties,a)||(c=r.__cssModules)&&c[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:G(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};process.env.NODE_ENV!=="production"&&(oi.ownKeys=e=>(N("Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead."),Reflect.ownKeys(e)));function Ya(e){const t={};return Object.defineProperty(t,"_",{configurable:!0,enumerable:!1,get:()=>e}),Object.keys(Ot).forEach(n=>{Object.defineProperty(t,n,{configurable:!0,enumerable:!1,get:()=>Ot[n](e),set:pe})}),t}function Xa(e){const{ctx:t,propsOptions:[n]}=e;n&&Object.keys(n).forEach(o=>{Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>e.props[o],set:pe})})}function Za(e){const{ctx:t,setupState:n}=e;Object.keys(W(n)).forEach(o=>{if(!n.__isScriptSetup){if(Io(o[0])){N(`setup() return property ${JSON.stringify(o)} should not start with "$" or "_" which are reserved prefixes for Vue internals.`);return}Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>n[o],set:pe})}})}function si(e){return j(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Qa(){const e=Object.create(null);return(t,n)=>{e[n]?N(`${t} property "${n}" is already defined in ${e[n]}.`):e[n]=t}}let jo=!0;function el(e){const t=ai(e),n=e.proxy,o=e.ctx;jo=!1,t.beforeCreate&&ii(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:r,watch:a,provide:c,inject:p,created:f,beforeMount:d,mounted:m,beforeUpdate:k,updated:A,activated:w,deactivated:te,beforeDestroy:R,beforeUnmount:T,destroyed:D,unmounted:ne,render:P,renderTracked:ue,renderTriggered:O,errorCaptured:$,serverPrefetch:V,expose:re,inheritAttrs:Z,components:U,directives:Ne,filters:Le}=t,ae=process.env.NODE_ENV!=="production"?Qa():null;if(process.env.NODE_ENV!=="production"){const[q]=e.propsOptions;if(q)for(const K in q)ae("Props",K)}if(p&&tl(p,o,ae),r)for(const q in r){const K=r[q];H(K)?(process.env.NODE_ENV!=="production"?Object.defineProperty(o,q,{value:K.bind(n),configurable:!0,enumerable:!0,writable:!0}):o[q]=K.bind(n),process.env.NODE_ENV!=="production"&&ae("Methods",q)):process.env.NODE_ENV!=="production"&&N(`Method "${q}" has type "${typeof K}" in the component definition. Did you reference the function correctly?`)}if(s){process.env.NODE_ENV!=="production"&&!H(s)&&N("The data option must be a function. Plain object usage is no longer supported.");const q=s.call(n,n);if(process.env.NODE_ENV!=="production"&&oo(q)&&N("data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>."),!z(q))process.env.NODE_ENV!=="production"&&N("data() should return an object.");else if(e.data=yo(q),process.env.NODE_ENV!=="production")for(const K in q)ae("Data",K),Io(K[0])||Object.defineProperty(o,K,{configurable:!0,enumerable:!0,get:()=>q[K],set:pe})}if(jo=!0,i)for(const q in i){const K=i[q],Pe=H(K)?K.bind(n,n):H(K.get)?K.get.bind(n,n):pe;process.env.NODE_ENV!=="production"&&Pe===pe&&N(`Computed property "${q}" has no getter.`);const ns=!H(K)&&H(K.set)?K.set.bind(n):process.env.NODE_ENV!=="production"?()=>{N(`Write operation failed: computed property "${q}" is readonly.`)}:pe,mn=Re({get:Pe,set:ns});Object.defineProperty(o,q,{enumerable:!0,configurable:!0,get:()=>mn.value,set:Lt=>mn.value=Lt}),process.env.NODE_ENV!=="production"&&ae("Computed",q)}if(a)for(const q in a)ri(a[q],o,n,q);if(c){const q=H(c)?c.call(n):c;Reflect.ownKeys(q).forEach(K=>{Aa(K,q[K])})}f&&ii(f,e,"c");function le(q,K){j(K)?K.forEach(Pe=>q(Pe.bind(n))):K&&q(K.bind(n))}if(le(Ha,d),le($o,m),le(Ba,k),le(Ua,A),le(ja,w),le(Fa,te),le(za,$),le(Ga,ue),le(qa,O),le(Wa,T),le(Ro,ne),le(Ka,V),j(re))if(re.length){const q=e.exposed||(e.exposed={});re.forEach(K=>{Object.defineProperty(q,K,{get:()=>n[K],set:Pe=>n[K]=Pe,enumerable:!0})})}else e.exposed||(e.exposed={});P&&e.render===pe&&(e.render=P),Z!=null&&(e.inheritAttrs=Z),U&&(e.components=U),Ne&&(e.directives=Ne),V&&Zs(e)}function tl(e,t,n=pe){j(e)&&(e=Fo(e));for(const o in e){const s=e[o];let i;z(s)?"default"in s?i=jn(s.from||o,s.default,!0):i=jn(s.from||o):i=jn(s),ce(i)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):t[o]=i,process.env.NODE_ENV!=="production"&&n("Inject",o)}}function ii(e,t,n){Ge(j(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function ri(e,t,n,o){let s=o.includes(".")?Xs(n,o):()=>n[o];if(oe(e)){const i=t[e];H(i)?Do(s,i):process.env.NODE_ENV!=="production"&&N(`Invalid watch handler specified by key "${e}"`,i)}else if(H(e))Do(s,e.bind(n));else if(z(e))if(j(e))e.forEach(i=>ri(i,t,n,o));else{const i=H(e.handler)?e.handler.bind(n):t[e.handler];H(i)?Do(s,i,e):process.env.NODE_ENV!=="production"&&N(`Invalid watch handler specified by key "${e.handler}"`,i)}else process.env.NODE_ENV!=="production"&&N(`Invalid watch option: "${o}"`,e)}function ai(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:r}}=e.appContext,a=i.get(t);let c;return a?c=a:!s.length&&!n&&!o?c=t:(c={},s.length&&s.forEach(p=>Hn(c,p,r,!0)),Hn(c,t,r)),z(t)&&i.set(t,c),c}function Hn(e,t,n,o=!1){const{mixins:s,extends:i}=t;i&&Hn(e,i,n,!0),s&&s.forEach(r=>Hn(e,r,n,!0));for(const r in t)if(o&&r==="expose")process.env.NODE_ENV!=="production"&&N('"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.');else{const a=nl[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const nl={data:li,props:ci,emits:ci,methods:sn,computed:sn,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:sn,directives:sn,watch:sl,provide:li,inject:ol};function li(e,t){return t?e?function(){return se(H(e)?e.call(this,this):e,H(t)?t.call(this,this):t)}:t:e}function ol(e,t){return sn(Fo(e),Fo(t))}function Fo(e){if(j(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function xe(e,t){return e?[...new Set([].concat(e,t))]:t}function sn(e,t){return e?se(Object.create(null),e,t):t}function ci(e,t){return e?j(e)&&j(t)?[...new Set([...e,...t])]:se(Object.create(null),si(e),si(t??{})):t}function sl(e,t){if(!e)return t;if(!t)return e;const n=se(Object.create(null),e);for(const o in t)n[o]=xe(e[o],t[o]);return n}function di(){return{app:null,config:{isNativeTag:is,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 il=0;function rl(e,t){return function(o,s=null){H(o)||(o=se({},o)),s!=null&&!z(s)&&(process.env.NODE_ENV!=="production"&&N("root props passed to app.mount() must be an object."),s=null);const i=di(),r=new WeakSet,a=[];let c=!1;const p=i.app={_uid:il++,_component:o,_props:s,_container:null,_context:i,_instance:null,version:qi,get config(){return i.config},set config(f){process.env.NODE_ENV!=="production"&&N("app.config cannot be replaced. Modify individual options instead.")},use(f,...d){return r.has(f)?process.env.NODE_ENV!=="production"&&N("Plugin has already been applied to target app."):f&&H(f.install)?(r.add(f),f.install(p,...d)):H(f)?(r.add(f),f(p,...d)):process.env.NODE_ENV!=="production"&&N('A plugin must either be a function or an object with an "install" function.'),p},mixin(f){return i.mixins.includes(f)?process.env.NODE_ENV!=="production"&&N("Mixin has already been applied to target app"+(f.name?`: ${f.name}`:"")):i.mixins.push(f),p},component(f,d){return process.env.NODE_ENV!=="production"&&zo(f,i.config),d?(process.env.NODE_ENV!=="production"&&i.components[f]&&N(`Component "${f}" has already been registered in target app.`),i.components[f]=d,p):i.components[f]},directive(f,d){return process.env.NODE_ENV!=="production"&&Js(f),d?(process.env.NODE_ENV!=="production"&&i.directives[f]&&N(`Directive "${f}" has already been registered in target app.`),i.directives[f]=d,p):i.directives[f]},mount(f,d,m){if(c)process.env.NODE_ENV!=="production"&&N("App has already been mounted.\nIf you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. `const createMyApp = () => createApp(App)`");else{process.env.NODE_ENV!=="production"&&f.__vue_app__&&N("There is already an app instance mounted on the host container.\n If you want to mount another app on the same host container, you need to unmount the previous app by calling `app.unmount()` first.");const k=p._ceVNode||je(o,s);return k.appContext=i,m===!0?m="svg":m===!1&&(m=void 0),process.env.NODE_ENV!=="production"&&(i.reload=()=>{const A=mt(k);A.el=null,e(A,f,m)}),e(k,f,m),c=!0,p._container=f,f.__vue_app__=p,process.env.NODE_ENV!=="production"&&(p._instance=k.component,xa(p,qi)),Jo(k.component)}},onUnmount(f){process.env.NODE_ENV!=="production"&&typeof f!="function"&&N(`Expected function as first argument to app.onUnmount(), but got ${typeof f}`),a.push(f)},unmount(){c?(Ge(a,p._instance,16),e(null,p._container),process.env.NODE_ENV!=="production"&&(p._instance=null,Ea(p)),delete p._container.__vue_app__):process.env.NODE_ENV!=="production"&&N("Cannot unmount an app that is not mounted.")},provide(f,d){return process.env.NODE_ENV!=="production"&&f in i.provides&&(G(i.provides,f)?N(`App already provides property with key "${String(f)}". It will be overwritten with the new value.`):N(`App already provides property with key "${String(f)}" inherited from its parent element. It will be overwritten with the new value.`)),i.provides[f]=d,p},runWithContext(f){const d=Mt;Mt=p;try{return f()}finally{Mt=d}}};return p}}let Mt=null;const al=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ve(t)}Modifiers`]||e[`${De(t)}Modifiers`];function ll(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||ee;if(process.env.NODE_ENV!=="production"){const{emitsOptions:f,propsOptions:[d]}=e;if(f)if(!(t in f))(!d||!(_t(ve(t))in d))&&N(`Component emitted event "${t}" but it is neither declared in the emits option nor as an "${_t(ve(t))}" prop.`);else{const m=f[t];H(m)&&(m(...n)||N(`Invalid event arguments: event validation failed for event "${t}".`))}}let s=n;const i=t.startsWith("update:"),r=i&&al(o,t.slice(7));if(r&&(r.trim&&(s=n.map(f=>oe(f)?f.trim():f)),r.number&&(s=n.map(Nr))),process.env.NODE_ENV!=="production"&&Da(e,t,s),process.env.NODE_ENV!=="production"){const f=t.toLowerCase();f!==t&&o[_t(f)]&&N(`Event "${f}" is emitted in component ${pn(e,e.type)} but the handler is registered for "${t}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${De(t)}" instead of "${t}".`)}let a,c=o[a=_t(t)]||o[a=_t(ve(t))];!c&&i&&(c=o[a=_t(De(t))]),c&&Ge(c,e,6,s);const p=o[a+"Once"];if(p){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Ge(p,e,6,s)}}const cl=new WeakMap;function ui(e,t,n=!1){const o=n?cl:t.emitsCache,s=o.get(e);if(s!==void 0)return s;const i=e.emits;let r={},a=!1;if(!H(e)){const c=p=>{const f=ui(p,t,!0);f&&(a=!0,se(r,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!a?(z(e)&&o.set(e,null),null):(j(i)?i.forEach(c=>r[c]=null):se(r,i),z(e)&&o.set(e,r),r)}function Bn(e,t){return!e||!Ht(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),G(e,t[0].toLowerCase()+t.slice(1))||G(e,De(t))||G(e,t))}let Lo=!1;function Un(){Lo=!0}function fi(e){const{type:t,vnode:n,proxy:o,withProxy:s,propsOptions:[i],slots:r,attrs:a,emit:c,render:p,renderCache:f,props:d,data:m,setupState:k,ctx:A,inheritAttrs:w}=e,te=Mn(e);let R,T;process.env.NODE_ENV!=="production"&&(Lo=!1);try{if(n.shapeFlag&4){const P=s||o,ue=process.env.NODE_ENV!=="production"&&k.__isScriptSetup?new Proxy(P,{get(O,$,V){return N(`Property '${String($)}' was accessed via 'this'. Avoid using 'this' in templates.`),Reflect.get(O,$,V)}}):P;R=Je(p.call(ue,P,f,process.env.NODE_ENV!=="production"?Qe(d):d,k,m,A)),T=a}else{const P=t;process.env.NODE_ENV!=="production"&&a===d&&Un(),R=Je(P.length>1?P(process.env.NODE_ENV!=="production"?Qe(d):d,process.env.NODE_ENV!=="production"?{get attrs(){return Un(),Qe(a)},slots:r,emit:c}:{attrs:a,slots:r,emit:c}):P(process.env.NODE_ENV!=="production"?Qe(d):d,null)),T=t.props?a:dl(a)}}catch(P){ln.length=0,Zt(P,e,1),R=je(Te)}let D=R,ne;if(process.env.NODE_ENV!=="production"&&R.patchFlag>0&&R.patchFlag&2048&&([D,ne]=pi(R)),T&&w!==!1){const P=Object.keys(T),{shapeFlag:ue}=D;if(P.length){if(ue&7)i&&P.some(Bt)&&(T=ul(T,i)),D=mt(D,T,!1,!0);else if(process.env.NODE_ENV!=="production"&&!Lo&&D.type!==Te){const O=Object.keys(a),$=[],V=[];for(let re=0,Z=O.length;re<Z;re++){const U=O[re];Ht(U)?Bt(U)||$.push(U[2].toLowerCase()+U.slice(3)):V.push(U)}V.length&&N(`Extraneous non-props attributes (${V.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`),$.length&&N(`Extraneous non-emits event listeners (${$.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`)}}}return n.dirs&&(process.env.NODE_ENV!=="production"&&!hi(D)&&N("Runtime directive used on component with non-element root node. The directives will not function as intended."),D=mt(D,null,!1,!0),D.dirs=D.dirs?D.dirs.concat(n.dirs):n.dirs),n.transition&&(process.env.NODE_ENV!=="production"&&!hi(D)&&N("Component inside <Transition> renders non-element root node that cannot be animated."),Ao(D,n.transition)),process.env.NODE_ENV!=="production"&&ne?ne(D):R=D,Mn(te),R}const pi=e=>{const t=e.children,n=e.dynamicChildren,o=Ho(t,!1);if(o){if(process.env.NODE_ENV!=="production"&&o.patchFlag>0&&o.patchFlag&2048)return pi(o)}else return[e,void 0];const s=t.indexOf(o),i=n?n.indexOf(o):-1,r=a=>{t[s]=a,n&&(i>-1?n[i]=a:a.patchFlag>0&&(e.dynamicChildren=[...n,a]))};return[Je(o),r]};function Ho(e,t=!0){let n;for(let o=0;o<e.length;o++){const s=e[o];if(Gn(s)){if(s.type!==Te||s.children==="v-if"){if(n)return;if(n=s,process.env.NODE_ENV!=="production"&&t&&n.patchFlag>0&&n.patchFlag&2048)return Ho(n.children)}}else return}return n}const dl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ht(n))&&((t||(t={}))[n]=e[n]);return t},ul=(e,t)=>{const n={};for(const o in e)(!Bt(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n},hi=e=>e.shapeFlag&7||e.type===Te;function fl(e,t,n){const{props:o,children:s,component:i}=e,{props:r,children:a,patchFlag:c}=t,p=i.emitsOptions;if(process.env.NODE_ENV!=="production"&&(s||a)&&Ve||t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return o?mi(o,r,p):!!r;if(c&8){const f=t.dynamicProps;for(let d=0;d<f.length;d++){const m=f[d];if(gi(r,o,m)&&!Bn(p,m))return!0}}}else return(s||a)&&(!a||!a.$stable)?!0:o===r?!1:o?r?mi(o,r,p):!0:!!r;return!1}function mi(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return!0;for(let s=0;s<o.length;s++){const i=o[s];if(gi(t,e,i)&&!Bn(n,i))return!0}return!1}function gi(e,t,n){const o=e[n],s=t[n];return n==="style"&&z(o)&&z(s)?!ro(o,s):o!==s}function pl({vnode:e,parent:t,suspense:n},o){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.suspense.vnode.el=s.el=o,e=s),s===e)(e=t.vnode).el=o,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=o)}const vi={},bi=()=>Object.create(vi),_i=e=>Object.getPrototypeOf(e)===vi;function hl(e,t,n,o=!1){const s={},i=bi();e.propsDefaults=Object.create(null),yi(e,t,s,i);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);process.env.NODE_ENV!=="production"&&Ei(t||{},s,e),n?e.props=o?s:na(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function ml(e){for(;e;){if(e.type.__hmrId)return!0;e=e.parent}}function gl(e,t,n,o){const{props:s,attrs:i,vnode:{patchFlag:r}}=e,a=W(s),[c]=e.propsOptions;let p=!1;if(!(process.env.NODE_ENV!=="production"&&ml(e))&&(o||r>0)&&!(r&16)){if(r&8){const f=e.vnode.dynamicProps;for(let d=0;d<f.length;d++){let m=f[d];if(Bn(e.emitsOptions,m))continue;const k=t[m];if(c)if(G(i,m))k!==i[m]&&(i[m]=k,p=!0);else{const A=ve(m);s[A]=Bo(c,a,A,k,e,!1)}else k!==i[m]&&(i[m]=k,p=!0)}}}else{yi(e,t,s,i)&&(p=!0);let f;for(const d in a)(!t||!G(t,d)&&((f=De(d))===d||!G(t,f)))&&(c?n&&(n[d]!==void 0||n[f]!==void 0)&&(s[d]=Bo(c,a,d,void 0,e,!0)):delete s[d]);if(i!==a)for(const d in i)(!t||!G(t,d))&&(delete i[d],p=!0)}p&&Xe(e.attrs,"set",""),process.env.NODE_ENV!=="production"&&Ei(t||{},s,e)}function yi(e,t,n,o){const[s,i]=e.propsOptions;let r=!1,a;if(t)for(let c in t){if(Wt(c))continue;const p=t[c];let f;s&&G(s,f=ve(c))?!i||!i.includes(f)?n[f]=p:(a||(a={}))[f]=p:Bn(e.emitsOptions,c)||(!(c in o)||p!==o[c])&&(o[c]=p,r=!0)}if(i){const c=W(n),p=a||ee;for(let f=0;f<i.length;f++){const d=i[f];n[d]=Bo(s,c,d,p[d],e,!G(p,d))}}return r}function Bo(e,t,n,o,s,i){const r=e[n];if(r!=null){const a=G(r,"default");if(a&&o===void 0){const c=r.default;if(r.type!==Function&&!r.skipFactory&&H(c)){const{propsDefaults:p}=s;if(n in p)o=p[n];else{const f=un(s);o=p[n]=c.call(null,t),f()}}else o=c;s.ce&&s.ce._setProp(n,o)}r[0]&&(i&&!a?o=!1:r[1]&&(o===""||o===De(n))&&(o=!0))}return o}const vl=new WeakMap;function wi(e,t,n=!1){const o=n?vl:t.propsCache,s=o.get(e);if(s)return s;const i=e.props,r={},a=[];let c=!1;if(!H(e)){const f=d=>{c=!0;const[m,k]=wi(d,t,!0);se(r,m),k&&a.push(...k)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return z(e)&&o.set(e,Dt),Dt;if(j(i))for(let f=0;f<i.length;f++){process.env.NODE_ENV!=="production"&&!oe(i[f])&&N("props must be strings when using array syntax.",i[f]);const d=ve(i[f]);xi(d)&&(r[d]=ee)}else if(i){process.env.NODE_ENV!=="production"&&!z(i)&&N("invalid props options",i);for(const f in i){const d=ve(f);if(xi(d)){const m=i[f],k=r[d]=j(m)||H(m)?{type:m}:se({},m),A=k.type;let w=!1,te=!0;if(j(A))for(let R=0;R<A.length;++R){const T=A[R],D=H(T)&&T.name;if(D==="Boolean"){w=!0;break}else D==="String"&&(te=!1)}else w=H(A)&&A.name==="Boolean";k[0]=w,k[1]=te,(w||G(k,"default"))&&a.push(d)}}}const p=[r,a];return z(e)&&o.set(e,p),p}function xi(e){return e[0]!=="$"&&!Wt(e)?!0:(process.env.NODE_ENV!=="production"&&N(`Invalid prop name: "${e}" is a reserved property.`),!1)}function bl(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Ei(e,t,n){const o=W(t),s=n.propsOptions[0],i=Object.keys(e).map(r=>ve(r));for(const r in s){let a=s[r];a!=null&&_l(r,o[r],a,process.env.NODE_ENV!=="production"?Qe(o):o,!i.includes(r))}}function _l(e,t,n,o,s){const{type:i,required:r,validator:a,skipCheck:c}=n;if(r&&s){N('Missing required prop: "'+e+'"');return}if(!(t==null&&!r)){if(i!=null&&i!==!0&&!c){let p=!1;const f=j(i)?i:[i],d=[];for(let m=0;m<f.length&&!p;m++){const{valid:k,expectedType:A}=wl(t,f[m]);d.push(A||""),p=k}if(!p){N(xl(e,t,d));return}}a&&!a(t,o)&&N('Invalid prop: custom validator check failed for prop "'+e+'".')}}const yl=it("String,Number,Boolean,Function,Symbol,BigInt");function wl(e,t){let n;const o=bl(t);if(o==="null")n=e===null;else if(yl(o)){const s=typeof e;n=s===o.toLowerCase(),!n&&s==="object"&&(n=e instanceof t)}else o==="Object"?n=z(e):o==="Array"?n=j(e):n=e instanceof t;return{valid:n,expectedType:o}}function xl(e,t,n){if(n.length===0)return`Prop type [] for prop "${e}" won't match anything. Did you mean to use type Array instead?`;let o=`Invalid prop: type check failed for prop "${e}". Expected ${n.map(wn).join(" | ")}`;const s=n[0],i=so(t),r=Ni(t,s),a=Ni(t,i);return n.length===1&&ki(s)&&El(s,i)&&(o+=` with value ${r}`),o+=`, got ${i} `,ki(i)&&(o+=`with value ${a}.`),o}function Ni(e,t){return He(e)?e.toString():t==="String"?`"${e}"`:t==="Number"?`${Number(e)}`:`${e}`}function ki(e){return["string","number","boolean"].some(n=>e.toLowerCase()===n)}function El(...e){return e.every(t=>{const n=t.toLowerCase();return n!=="boolean"&&n!=="symbol"})}const Uo=e=>e==="_"||e==="_ctx"||e==="$stable",Wo=e=>j(e)?e.map(Je):[Je(e)],Nl=(e,t,n)=>{if(t._n)return t;const o=Va((...s)=>(process.env.NODE_ENV!=="production"&&me&&!(n===null&&Ae)&&!(n&&n.root!==me.root)&&N(`Slot "${e}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`),Wo(t(...s))),n);return o._c=!1,o},Oi=(e,t,n)=>{const o=e._ctx;for(const s in e){if(Uo(s))continue;const i=e[s];if(H(i))t[s]=Nl(s,i,o);else if(i!=null){process.env.NODE_ENV!=="production"&&N(`Non-function value encountered for slot "${s}". Prefer function slots for better performance.`);const r=Wo(i);t[s]=()=>r}}},Si=(e,t)=>{process.env.NODE_ENV!=="production"&&!To(e.vnode)&&N("Non-function value encountered for default slot. Prefer function slots for better performance.");const n=Wo(t);e.slots.default=()=>n},Ko=(e,t,n)=>{for(const o in t)(n||!Uo(o))&&(e[o]=t[o])},kl=(e,t,n)=>{const o=e.slots=bi();if(e.vnode.shapeFlag&32){const s=t._;s?(Ko(o,t,n),n&&xn(o,"_",s,!0)):Oi(t,o)}else t&&Si(e,t)},Ol=(e,t,n)=>{const{vnode:o,slots:s}=e;let i=!0,r=ee;if(o.shapeFlag&32){const a=t._;a?process.env.NODE_ENV!=="production"&&Ve?(Ko(s,t,n),Xe(e,"set","$slots")):n&&a===1?i=!1:Ko(s,t,n):(i=!t.$stable,Oi(t,s)),r=t}else t&&(Si(e,t),r={default:1});if(i)for(const a in s)!Uo(a)&&r[a]==null&&delete s[a]};let rn,lt;function jt(e,t){e.appContext.config.performance&&Wn()&&lt.mark(`vue-${t}-${e.uid}`),process.env.NODE_ENV!=="production"&&Sa(e,t,Wn()?lt.now():Date.now())}function Ft(e,t){if(e.appContext.config.performance&&Wn()){const n=`vue-${t}-${e.uid}`,o=n+":end",s=`<${pn(e,e.type)}> ${t}`;lt.mark(o),lt.measure(s,n,o),lt.clearMeasures(s),lt.clearMarks(n),lt.clearMarks(o)}process.env.NODE_ENV!=="production"&&Ca(e,t,Wn()?lt.now():Date.now())}function Wn(){return rn!==void 0||(typeof window<"u"&&window.performance?(rn=!0,lt=window.performance):rn=!1),rn}function Sl(){const e=[];if(process.env.NODE_ENV!=="production"&&e.length){const t=e.length>1;console.warn(`Feature flag${t?"s":""} ${e.join(", ")} ${t?"are":"is"} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.
For more details, see https://link.vuejs.org/feature-flags.`)}}const Oe=Tl;function Cl(e){return Dl(e)}function Dl(e,t){Sl();const n=qt();n.__VUE__=!0,process.env.NODE_ENV!=="production"&&So(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:o,remove:s,patchProp:i,createElement:r,createText:a,createComment:c,setText:p,setElementText:f,parentNode:d,nextSibling:m,setScopeId:k=pe,insertStaticContent:A}=e,w=(l,u,h,y=null,b=null,v=null,S=void 0,E=null,x=process.env.NODE_ENV!=="production"&&Ve?!1:!!u.dynamicChildren)=>{if(l===u)return;l&&!dn(l,u)&&(y=to(l),vt(l,b,v,!0),l=null),u.patchFlag===-2&&(x=!1,u.dynamicChildren=null);const{type:_,ref:L,shapeFlag:C}=u;switch(_){case an:te(l,u,h,y);break;case Te:R(l,u,h,y);break;case qn:l==null?T(u,h,y,S):process.env.NODE_ENV!=="production"&&D(l,u,h,S);break;case de:Ne(l,u,h,y,b,v,S,E,x);break;default:C&1?ue(l,u,h,y,b,v,S,E,x):C&6?Le(l,u,h,y,b,v,S,E,x):C&64||C&128?_.process(l,u,h,y,b,v,S,E,x,vn):process.env.NODE_ENV!=="production"&&N("Invalid VNode type:",_,`(${typeof _})`)}L!=null&&b?nn(L,l&&l.ref,v,u||l,!u):L==null&&l&&l.ref!=null&&nn(l.ref,null,v,l,!0)},te=(l,u,h,y)=>{if(l==null)o(u.el=a(u.children),h,y);else{const b=u.el=l.el;u.children!==l.children&&p(b,u.children)}},R=(l,u,h,y)=>{l==null?o(u.el=c(u.children||""),h,y):u.el=l.el},T=(l,u,h,y)=>{[l.el,l.anchor]=A(l.children,u,h,y,l.el,l.anchor)},D=(l,u,h,y)=>{if(u.children!==l.children){const b=m(l.anchor);P(l),[u.el,u.anchor]=A(u.children,h,b,y)}else u.el=l.el,u.anchor=l.anchor},ne=({el:l,anchor:u},h,y)=>{let b;for(;l&&l!==u;)b=m(l),o(l,h,y),l=b;o(u,h,y)},P=({el:l,anchor:u})=>{let h;for(;l&&l!==u;)h=m(l),s(l),l=h;s(u)},ue=(l,u,h,y,b,v,S,E,x)=>{if(u.type==="svg"?S="svg":u.type==="math"&&(S="mathml"),l==null)O(u,h,y,b,v,S,E,x);else{const _=l.el&&l.el._isVueCE?l.el:null;try{_&&_._beginPatch(),re(l,u,b,v,S,E,x)}finally{_&&_._endPatch()}}},O=(l,u,h,y,b,v,S,E)=>{let x,_;const{props:L,shapeFlag:C,transition:M,dirs:B}=l;if(x=l.el=r(l.type,v,L&&L.is,L),C&8?f(x,l.children):C&16&&V(l.children,x,null,y,b,qo(l,v),S,E),B&&kt(l,null,y,"created"),$(x,l,l.scopeId,S,y),L){for(const Q in L)Q!=="value"&&!Wt(Q)&&i(x,Q,null,L[Q],v,y);"value"in L&&i(x,"value",null,L.value,v),(_=L.onVnodeBeforeMount)&&tt(_,y,l)}process.env.NODE_ENV!=="production"&&(xn(x,"__vnode",l,!0),xn(x,"__vueParentComponent",y,!0)),B&&kt(l,null,y,"beforeMount");const J=Vl(b,M);if(J&&M.beforeEnter(x),o(x,u,h),(_=L&&L.onVnodeMounted)||J||B){const Q=process.env.NODE_ENV!=="production"&&Ve;Oe(()=>{let Y;process.env.NODE_ENV!=="production"&&(Y=Us(Q));try{_&&tt(_,y,l),J&&M.enter(x),B&&kt(l,null,y,"mounted")}finally{process.env.NODE_ENV!=="production"&&Us(Y)}},b)}},$=(l,u,h,y,b)=>{if(h&&k(l,h),y)for(let v=0;v<y.length;v++)k(l,y[v]);if(b){let v=b.subTree;if(process.env.NODE_ENV!=="production"&&v.patchFlag>0&&v.patchFlag&2048&&(v=Ho(v.children)||v),u===v||Ai(v.type)&&(v.ssContent===u||v.ssFallback===u)){const S=b.vnode;$(l,S,S.scopeId,S.slotScopeIds,b.parent)}}},V=(l,u,h,y,b,v,S,E,x=0)=>{for(let _=x;_<l.length;_++){const L=l[_]=E?ct(l[_]):Je(l[_]);w(null,L,u,h,y,b,v,S,E)}},re=(l,u,h,y,b,v,S)=>{const E=u.el=l.el;process.env.NODE_ENV!=="production"&&(E.__vnode=u);let{patchFlag:x,dynamicChildren:_,dirs:L}=u;x|=l.patchFlag&16;const C=l.props||ee,M=u.props||ee;let B;if(h&&St(h,!1),(B=M.onVnodeBeforeUpdate)&&tt(B,h,u,l),L&&kt(u,l,h,"beforeUpdate"),h&&St(h,!0),(process.env.NODE_ENV!=="production"&&Ve||_&&(!l.dynamicChildren||l.dynamicChildren.length!==_.length))&&(x=0,S=!1,_=null),(C.innerHTML&&M.innerHTML==null||C.textContent&&M.textContent==null)&&f(E,""),_?(Z(l.dynamicChildren,_,E,h,y,qo(u,b),v),process.env.NODE_ENV!=="production"&&Kn(l,u)):S||Pe(l,u,E,null,h,y,qo(u,b),v,!1),x>0){if(x&16)U(E,C,M,h,b);else if(x&2&&C.class!==M.class&&i(E,"class",null,M.class,b),x&4&&i(E,"style",C.style,M.style,b),x&8){const J=u.dynamicProps;for(let Q=0;Q<J.length;Q++){const Y=J[Q],fe=C[Y],_e=M[Y];(_e!==fe||Y==="value")&&i(E,Y,fe,_e,b,h)}}x&1&&l.children!==u.children&&f(E,u.children)}else!S&&_==null&&U(E,C,M,h,b);((B=M.onVnodeUpdated)||L)&&Oe(()=>{B&&tt(B,h,u,l),L&&kt(u,l,h,"updated")},y)},Z=(l,u,h,y,b,v,S)=>{for(let E=0;E<u.length;E++){const x=l[E],_=u[E],L=x.el&&(x.type===de||!dn(x,_)||x.shapeFlag&198)?d(x.el):h;w(x,_,L,null,y,b,v,S,!0)}},U=(l,u,h,y,b)=>{if(u!==h){if(u!==ee)for(const v in u)!Wt(v)&&!(v in h)&&i(l,v,u[v],null,b,y);for(const v in h){if(Wt(v))continue;const S=h[v],E=u[v];S!==E&&v!=="value"&&i(l,v,E,S,b,y)}"value"in h&&i(l,"value",u.value,h.value,b)}},Ne=(l,u,h,y,b,v,S,E,x)=>{const _=u.el=l?l.el:a(""),L=u.anchor=l?l.anchor:a("");let{patchFlag:C,dynamicChildren:M,slotScopeIds:B}=u;process.env.NODE_ENV!=="production"&&(Ve||C&2048)&&(C=0,x=!1,M=null),B&&(E=E?E.concat(B):B),l==null?(o(_,h,y),o(L,h,y),V(u.children||[],h,L,b,v,S,E,x)):C>0&&C&64&&M&&l.dynamicChildren&&l.dynamicChildren.length===M.length?(Z(l.dynamicChildren,M,h,b,v,S,E),process.env.NODE_ENV!=="production"?Kn(l,u):(u.key!=null||b&&u===b.subTree)&&Kn(l,u,!0)):Pe(l,u,h,L,b,v,S,E,x)},Le=(l,u,h,y,b,v,S,E,x)=>{u.slotScopeIds=E,l==null?u.shapeFlag&512?b.ctx.activate(u,h,y,S,x):ae(u,h,y,b,v,S,x):le(l,u,x)},ae=(l,u,h,y,b,v,S)=>{const E=l.component=Fl(l,y,b);if(process.env.NODE_ENV!=="production"&&E.type.__hmrId&&ba(E),process.env.NODE_ENV!=="production"&&(An(l),jt(E,"mount")),To(l)&&(E.ctx.renderer=vn),process.env.NODE_ENV!=="production"&&jt(E,"init"),Hl(E,!1,S),process.env.NODE_ENV!=="production"&&Ft(E,"init"),process.env.NODE_ENV!=="production"&&Ve&&(l.el=null),E.asyncDep){if(b&&b.registerDep(E,q,S),!l.el){const x=E.subTree=je(Te);R(null,x,u,h),l.placeholder=x.el}}else q(E,l,u,h,b,v,S);process.env.NODE_ENV!=="production"&&(Tn(),Ft(E,"mount"))},le=(l,u,h)=>{const y=u.component=l.component;if(fl(l,u,h))if(y.asyncDep&&!y.asyncResolved){process.env.NODE_ENV!=="production"&&An(u),K(y,u,h),process.env.NODE_ENV!=="production"&&Tn();return}else y.next=u,y.update();else u.el=l.el,y.vnode=u},q=(l,u,h,y,b,v,S)=>{const E=()=>{if(l.isMounted){let{next:C,bu:M,u:B,parent:J,vnode:Q}=l;{const ot=Ci(l);if(ot){C&&(C.el=Q.el,K(l,C,S)),ot.asyncDep.then(()=>{Oe(()=>{l.isUnmounted||_()},b)});return}}let Y=C,fe;process.env.NODE_ENV!=="production"&&An(C||l.vnode),St(l,!1),C?(C.el=Q.el,K(l,C,S)):C=Q,M&&Kt(M),(fe=C.props&&C.props.onVnodeBeforeUpdate)&&tt(fe,J,C,Q),St(l,!0),process.env.NODE_ENV!=="production"&&jt(l,"render");const _e=fi(l);process.env.NODE_ENV!=="production"&&Ft(l,"render");const nt=l.subTree;l.subTree=_e,process.env.NODE_ENV!=="production"&&jt(l,"patch"),w(nt,_e,d(nt.el),to(nt),l,b,v),process.env.NODE_ENV!=="production"&&Ft(l,"patch"),C.el=_e.el,Y===null&&pl(l,_e.el),B&&Oe(B,b),(fe=C.props&&C.props.onVnodeUpdated)&&Oe(()=>tt(fe,J,C,Q),b),process.env.NODE_ENV!=="production"&&qs(l),process.env.NODE_ENV!=="production"&&Tn()}else{let C;const{el:M,props:B}=u,{bm:J,m:Q,parent:Y,root:fe,type:_e}=l,nt=on(u);St(l,!1),J&&Kt(J),!nt&&(C=B&&B.onVnodeBeforeMount)&&tt(C,Y,u),St(l,!0);{fe.ce&&fe.ce._hasShadowRoot()&&fe.ce._injectChildStyle(_e,l.parent?l.parent.type:void 0),process.env.NODE_ENV!=="production"&&jt(l,"render");const ot=l.subTree=fi(l);process.env.NODE_ENV!=="production"&&Ft(l,"render"),process.env.NODE_ENV!=="production"&&jt(l,"patch"),w(null,ot,h,y,l,b,v),process.env.NODE_ENV!=="production"&&Ft(l,"patch"),u.el=ot.el}if(Q&&Oe(Q,b),!nt&&(C=B&&B.onVnodeMounted)){const ot=u;Oe(()=>tt(C,Y,ot),b)}(u.shapeFlag&256||Y&&on(Y.vnode)&&Y.vnode.shapeFlag&256)&&l.a&&Oe(l.a,b),l.isMounted=!0,process.env.NODE_ENV!=="production"&&Na(l),u=h=y=null}};l.scope.on();const x=l.effect=new hs(E);l.scope.off();const _=l.update=x.run.bind(x),L=l.job=x.runIfDirty.bind(x);L.i=l,L.id=l.uid,x.scheduler=()=>Rn(L),St(l,!0),process.env.NODE_ENV!=="production"&&(x.onTrack=l.rtc?C=>Kt(l.rtc,C):void 0,x.onTrigger=l.rtg?C=>Kt(l.rtg,C):void 0),_()},K=(l,u,h)=>{u.component=l;const y=l.vnode.props;l.vnode=u,l.next=null,gl(l,u.props,y,h),Ol(l,u.children,h),Ie(),Ls(l),Me()},Pe=(l,u,h,y,b,v,S,E,x=!1)=>{const _=l&&l.children,L=l?l.shapeFlag:0,C=u.children,{patchFlag:M,shapeFlag:B}=u;if(M>0){if(M&128){mn(_,C,h,y,b,v,S,E,x);return}else if(M&256){ns(_,C,h,y,b,v,S,E,x);return}}B&8?(L&16&&gn(_,b,v),C!==_&&f(h,C)):L&16?B&16?mn(_,C,h,y,b,v,S,E,x):gn(_,b,v,!0):(L&8&&f(h,""),B&16&&V(C,h,y,b,v,S,E,x))},ns=(l,u,h,y,b,v,S,E,x)=>{l=l||Dt,u=u||Dt;const _=l.length,L=u.length,C=Math.min(_,L);let M;for(M=0;M<C;M++){const B=u[M]=x?ct(u[M]):Je(u[M]);w(l[M],B,h,null,b,v,S,E,x)}_>L?gn(l,b,v,!0,!1,C):V(u,h,y,b,v,S,E,x,C)},mn=(l,u,h,y,b,v,S,E,x)=>{let _=0;const L=u.length;let C=l.length-1,M=L-1;for(;_<=C&&_<=M;){const B=l[_],J=u[_]=x?ct(u[_]):Je(u[_]);if(dn(B,J))w(B,J,h,null,b,v,S,E,x);else break;_++}for(;_<=C&&_<=M;){const B=l[C],J=u[M]=x?ct(u[M]):Je(u[M]);if(dn(B,J))w(B,J,h,null,b,v,S,E,x);else break;C--,M--}if(_>C){if(_<=M){const B=M+1,J=B<L?u[B].el:y;for(;_<=M;)w(null,u[_]=x?ct(u[_]):Je(u[_]),h,J,b,v,S,E,x),_++}}else if(_>M)for(;_<=C;)vt(l[_],b,v,!0),_++;else{const B=_,J=_,Q=new Map;for(_=J;_<=M;_++){const ke=u[_]=x?ct(u[_]):Je(u[_]);ke.key!=null&&(process.env.NODE_ENV!=="production"&&Q.has(ke.key)&&N("Duplicate keys found during update:",JSON.stringify(ke.key),"Make sure keys are unique."),Q.set(ke.key,_))}let Y,fe=0;const _e=M-J+1;let nt=!1,ot=0;const bn=new Array(_e);for(_=0;_<_e;_++)bn[_]=0;for(_=B;_<=C;_++){const ke=l[_];if(fe>=_e){vt(ke,b,v,!0);continue}let st;if(ke.key!=null)st=Q.get(ke.key);else for(Y=J;Y<=M;Y++)if(bn[Y-J]===0&&dn(ke,u[Y])){st=Y;break}st===void 0?vt(ke,b,v,!0):(bn[st-J]=_+1,st>=ot?ot=st:nt=!0,w(ke,u[st],h,null,b,v,S,E,x),fe++)}const vr=nt?Al(bn):Dt;for(Y=vr.length-1,_=_e-1;_>=0;_--){const ke=J+_,st=u[ke],br=u[ke+1],_r=ke+1<L?br.el||Vi(br):y;bn[_]===0?w(null,st,h,_r,b,v,S,E,x):nt&&(Y<0||_!==vr[Y]?Lt(st,h,_r,2):Y--)}}},Lt=(l,u,h,y,b=null)=>{const{el:v,type:S,transition:E,children:x,shapeFlag:_}=l;if(_&6){Lt(l.component.subTree,u,h,y);return}if(_&128){l.suspense.move(u,h,y);return}if(_&64){S.move(l,u,h,vn);return}if(S===de){o(v,u,h);for(let C=0;C<x.length;C++)Lt(x[C],u,h,y);o(l.anchor,u,h);return}if(S===qn){ne(l,u,h);return}if(y!==2&&_&1&&E)if(y===0)E.persisted&&!v[Vo]?o(v,u,h):(E.beforeEnter(v),o(v,u,h),Oe(()=>E.enter(v),b));else{const{leave:C,delayLeave:M,afterLeave:B}=E,J=()=>{l.ctx.isUnmounted?s(v):o(v,u,h)},Q=()=>{const Y=v._isLeaving||!!v[Vo];v._isLeaving&&v[Vo](!0),E.persisted&&!Y?J():C(v,()=>{J(),B&&B()})};M?M(v,J,Q):Q()}else o(v,u,h)},vt=(l,u,h,y=!1,b=!1)=>{const{type:v,props:S,ref:E,children:x,dynamicChildren:_,shapeFlag:L,patchFlag:C,dirs:M,cacheIndex:B,memo:J}=l;if(C===-2&&(b=!1),E!=null&&(Ie(),nn(E,null,h,l,!0),Me()),B!=null&&(u.renderCache[B]=void 0),L&256){u.ctx.deactivate(l);return}const Q=L&1&&M,Y=!on(l);let fe;if(Y&&(fe=S&&S.onVnodeBeforeUnmount)&&tt(fe,u,l),L&6)Hu(l.component,h,y);else{if(L&128){l.suspense.unmount(h,y);return}Q&&kt(l,null,u,"beforeUnmount"),L&64?l.type.remove(l,u,h,vn,y):_&&!_.hasOnce&&(v!==de||C>0&&C&64)?gn(_,u,h,!1,!0):(v===de&&C&384||!b&&L&16)&&gn(x,u,h),y&&os(l)}const _e=J!=null&&B==null;(Y&&(fe=S&&S.onVnodeUnmounted)||Q||_e)&&Oe(()=>{fe&&tt(fe,u,l),Q&&kt(l,null,u,"unmounted"),_e&&(l.el=null)},h)},os=l=>{const{type:u,el:h,anchor:y,transition:b}=l;if(u===de){process.env.NODE_ENV!=="production"&&l.patchFlag>0&&l.patchFlag&2048&&b&&!b.persisted?l.children.forEach(S=>{S.type===Te?s(S.el):os(S)}):Lu(h,y);return}if(u===qn){P(l);return}const v=()=>{s(h),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(l.shapeFlag&1&&b&&!b.persisted){const{leave:S,delayLeave:E}=b,x=()=>S(h,v);E?E(l.el,v,x):x()}else v()},Lu=(l,u)=>{let h;for(;l!==u;)h=m(l),s(l),l=h;s(u)},Hu=(l,u,h)=>{process.env.NODE_ENV!=="production"&&l.type.__hmrId&&_a(l);const{bum:y,scope:b,job:v,subTree:S,um:E,m:x,a:_}=l;Di(x),Di(_),y&&Kt(y),b.stop(),v&&(v.flags|=8,vt(S,l,u,h)),E&&Oe(E,u),Oe(()=>{l.isUnmounted=!0},u),process.env.NODE_ENV!=="production"&&Oa(l)},gn=(l,u,h,y=!1,b=!1,v=0)=>{for(let S=v;S<l.length;S++)vt(l[S],u,h,y,b)},to=l=>{if(l.shapeFlag&6)return to(l.component.subTree);if(l.shapeFlag&128)return l.suspense.next();const u=m(l.anchor||l.el),h=u&&u[Pa];return h?m(h):u};let ss=!1;const gr=(l,u,h)=>{let y;l==null?u._vnode&&(vt(u._vnode,null,null,!0),y=u._vnode.component):w(u._vnode||null,l,u,null,null,null,h),u._vnode=l,ss||(ss=!0,Ls(y),Hs(),ss=!1)},vn={p:w,um:vt,m:Lt,r:os,mt:ae,mc:V,pc:Pe,pbc:Z,n:to,o:e};return{render:gr,hydrate:void 0,createApp:rl(gr)}}function qo({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function St({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Vl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Kn(e,t,n=!1){const o=e.children,s=t.children;if(j(o)&&j(s))for(let i=0;i<o.length;i++){const r=o[i];let a=s[i];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=s[i]=ct(s[i]),a.el=r.el),!n&&a.patchFlag!==-2&&Kn(r,a)),a.type===an&&(a.patchFlag===-1&&(a=s[i]=ct(a)),a.el=r.el),a.type===Te&&!a.el&&(a.el=r.el),process.env.NODE_ENV!=="production"&&a.el&&(a.el.__vnode=a)}}function Al(e){const t=e.slice(),n=[0];let o,s,i,r,a;const c=e.length;for(o=0;o<c;o++){const p=e[o];if(p!==0){if(s=n[n.length-1],e[s]<p){t[o]=s,n.push(o);continue}for(i=0,r=n.length-1;i<r;)a=i+r>>1,e[n[a]]<p?i=a+1:r=a;p<e[n[i]]&&(i>0&&(t[o]=n[i-1]),n[i]=o)}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=t[r];return n}function Ci(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ci(t)}function Di(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Vi(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Vi(t.subTree):null}const Ai=e=>e.__isSuspense;function Tl(e,t){t&&t.pendingBranch?j(e)?t.effects.push(...e):t.effects.push(e):Fs(e)}const de=Symbol.for("v-fgt"),an=Symbol.for("v-txt"),Te=Symbol.for("v-cmt"),qn=Symbol.for("v-stc"),ln=[];let $e=null;function I(e=!1){ln.push($e=e?null:[])}function $l(){ln.pop(),$e=ln[ln.length-1]||null}let cn=1;function Ti(e,t=!1){cn+=e,e<0&&$e&&t&&($e.hasOnce=!0)}function $i(e){return e.dynamicChildren=cn>0?$e||Dt:null,$l(),cn>0&&$e&&$e.push(e),e}function F(e,t,n,o,s,i){return $i(g(e,t,n,o,s,i,!0))}function Ri(e,t,n,o,s){return $i(je(e,t,n,o,s,!0))}function Gn(e){return e?e.__v_isVNode===!0:!1}function dn(e,t){if(process.env.NODE_ENV!=="production"&&t.shapeFlag&6&&e.component){const n=Pn.get(t.type);if(n&&n.has(e.component))return e.shapeFlag&=-257,t.shapeFlag&=-513,!1}return e.type===t.type&&e.key===t.key}const Rl=(...e)=>Ii(...e),Pi=({key:e})=>e??null,zn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?oe(e)||ce(e)||H(e)?{i:Ae,r:e,k:t,f:!!n}:e:null);function g(e,t=null,n=null,o=0,s=null,i=e===de?0:1,r=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pi(t),ref:t&&zn(t),scopeId:zs,slotScopeIds:null,children:n,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:o,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Ae};return a?(Jn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=oe(n)?8:16),process.env.NODE_ENV!=="production"&&c.key!==c.key&&N("VNode created with invalid key (NaN). VNode type:",c.type),cn>0&&!r&&$e&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&$e.push(c),c}const je=process.env.NODE_ENV!=="production"?Rl:Ii;function Ii(e,t=null,n=null,o=0,s=null,i=!1){if((!e||e===Ja)&&(process.env.NODE_ENV!=="production"&&!e&&N(`Invalid vnode type when creating vnode: ${e}.`),e=Te),Gn(e)){const a=mt(e,t,!0);return n&&Jn(a,n),cn>0&&!i&&$e&&(a.shapeFlag&6?$e[$e.indexOf(e)]=a:$e.push(a)),a.patchFlag=-2,a}if(Ki(e)&&(e=e.__vccOpts),t){t=Pl(t);let{class:a,style:c}=t;a&&!oe(a)&&(t.class=Be(a)),z(c)&&(Cn(c)&&!j(c)&&(c=se({},c)),t.style=Vt(c))}const r=oe(e)?1:Ai(e)?128:Ia(e)?64:z(e)?4:H(e)?2:0;return process.env.NODE_ENV!=="production"&&r&4&&Cn(e)&&(e=W(e),N("Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.",`
Component that was made reactive: `,e)),g(e,t,n,o,s,r,i,!0)}function Pl(e){return e?Cn(e)||_i(e)?se({},e):e:null}function mt(e,t,n=!1,o=!1){const{props:s,ref:i,patchFlag:r,children:a,transition:c}=e,p=t?Il(s||{},t):s,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:p,key:p&&Pi(p),ref:t&&t.ref?n&&i?j(i)?i.concat(zn(t)):[i,zn(t)]:zn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:process.env.NODE_ENV!=="production"&&r===-1&&j(a)?a.map(Mi):a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mt(e.ssContent),ssFallback:e.ssFallback&&mt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&o&&Ao(f,c.clone(f)),f}function Mi(e){const t=mt(e);return j(e.children)&&(t.children=e.children.map(Mi)),t}function gt(e=" ",t=0){return je(an,null,e,t)}function Se(e="",t=!1){return t?(I(),Ri(Te,null,e)):je(Te,null,e)}function Je(e){return e==null||typeof e=="boolean"?je(Te):j(e)?je(de,null,e.slice()):Gn(e)?ct(e):je(an,null,String(e))}function ct(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mt(e)}function Jn(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(j(t))n=16;else if(typeof t=="object")if(o&65){const s=t.default;s&&(s._c&&(s._d=!1),Jn(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!_i(t)?t._ctx=Ae:s===3&&Ae&&(Ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(H(t)){if(o&65){Jn(e,{default:t});return}t={default:t,_ctx:Ae},n=32}else t=String(t),o&64?(n=16,t=[gt(t)]):n=8;e.children=t,e.shapeFlag|=n}function Il(...e){const t={};for(let n=0;n<e.length;n++){const o=e[n];for(const s in o)if(s==="class")t.class!==o.class&&(t.class=Be([t.class,o.class]));else if(s==="style")t.style=Vt([t.style,o.style]);else if(Ht(s)){const i=t[s],r=o[s];r&&i!==r&&!(j(i)&&i.includes(r))?t[s]=i?[].concat(i,r):r:r==null&&i==null&&!Bt(s)&&(t[s]=r)}else s!==""&&(t[s]=o[s])}return t}function tt(e,t,n,o=null){Ge(e,t,7,[n,o])}const Ml=di();let jl=0;function Fl(e,t,n){const o=e.type,s=(t?t.appContext:e.appContext)||Ml,i={uid:jl++,vnode:e,type:o,parent:t,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Mr(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(s.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:wi(o,s),emitsOptions:ui(o,s),emit:null,emitted:null,propsDefaults:ee,inheritAttrs:o.inheritAttrs,ctx:ee,data:ee,props:ee,attrs:ee,slots:ee,refs:ee,setupState:ee,setupContext:null,suspense:n,suspenseId:n?n.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 process.env.NODE_ENV!=="production"?i.ctx=Ya(i):i.ctx={_:i},i.root=t?t.root:i,i.emit=ll.bind(null,i),e.ce&&e.ce(i),i}let me=null;const ji=()=>me||Ae;let Yn,Go;{const e=qt(),t=(n,o)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(o),i=>{s.length>1?s.forEach(r=>r(i)):s[0](i)}};Yn=t("__VUE_INSTANCE_SETTERS__",n=>me=n),Go=t("__VUE_SSR_SETTERS__",n=>fn=n)}const un=e=>{const t=me;return Yn(e),e.scope.on(),()=>{e.scope.off(),Yn(t)}},Fi=()=>{me&&me.scope.off(),Yn(null)},Ll=it("slot,component");function zo(e,{isNativeTag:t}){(Ll(e)||t(e))&&N("Do not use built-in or reserved HTML elements as component id: "+e)}function Li(e){return e.vnode.shapeFlag&4}let fn=!1;function Hl(e,t=!1,n=!1){t&&Go(t);const{props:o,children:s}=e.vnode,i=Li(e);hl(e,o,i,t),kl(e,s,n||t);const r=i?Bl(e,t):void 0;return t&&Go(!1),r}function Bl(e,t){const n=e.type;if(process.env.NODE_ENV!=="production"){if(n.name&&zo(n.name,e.appContext.config),n.components){const s=Object.keys(n.components);for(let i=0;i<s.length;i++)zo(s[i],e.appContext.config)}if(n.directives){const s=Object.keys(n.directives);for(let i=0;i<s.length;i++)Js(s[i])}n.compilerOptions&&Ul()&&N('"compilerOptions" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.')}e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,oi),process.env.NODE_ENV!=="production"&&Xa(e);const{setup:o}=n;if(o){Ie();const s=e.setupContext=o.length>1?Kl(e):null,i=un(e),r=$t(o,e,0,[process.env.NODE_ENV!=="production"?Qe(e.props):e.props,s]),a=oo(r);if(Me(),i(),(a||e.sp)&&!on(e)&&Zs(e),a){if(r.then(Fi,Fi),t)return r.then(c=>{Hi(e,c,t)}).catch(c=>{Zt(c,e,0)});if(e.asyncDep=r,process.env.NODE_ENV!=="production"&&!e.suspense){const c=pn(e,n);N(`Component <${c}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`)}}else Hi(e,r,t)}else Bi(e,t)}function Hi(e,t,n){H(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:z(t)?(process.env.NODE_ENV!=="production"&&Gn(t)&&N("setup() should not return VNodes directly - return a render function instead."),process.env.NODE_ENV!=="production"&&(e.devtoolsRawSetupState=t),e.setupState=Rs(t),process.env.NODE_ENV!=="production"&&Za(e)):process.env.NODE_ENV!=="production"&&t!==void 0&&N(`setup() should return an object. Received: ${t===null?"null":typeof t}`),Bi(e,n)}const Ul=()=>!0;function Bi(e,t,n){const o=e.type;e.render||(e.render=o.render||pe);{const s=un(e);Ie();try{el(e)}finally{Me(),s()}}process.env.NODE_ENV!=="production"&&!o.render&&e.render===pe&&!t&&(o.template?N('Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".'):N("Component is missing template or render function: ",o))}const Ui=process.env.NODE_ENV!=="production"?{get(e,t){return Un(),he(e,"get",""),e[t]},set(){return N("setupContext.attrs is readonly."),!1},deleteProperty(){return N("setupContext.attrs is readonly."),!1}}:{get(e,t){return he(e,"get",""),e[t]}};function Wl(e){return new Proxy(e.slots,{get(t,n){return he(e,"get","$slots"),t[n]}})}function Kl(e){const t=n=>{if(process.env.NODE_ENV!=="production"&&(e.exposed&&N("expose() should be called only once per setup()."),n!=null)){let o=typeof n;o==="object"&&(j(n)?o="array":ce(n)&&(o="ref")),o!=="object"&&N(`expose() should be passed a plain object, received ${o}.`)}e.exposed=n||{}};if(process.env.NODE_ENV!=="production"){let n,o;return Object.freeze({get attrs(){return n||(n=new Proxy(e.attrs,Ui))},get slots(){return o||(o=Wl(e))},get emit(){return(s,...i)=>e.emit(s,...i)},expose:t})}else return{attrs:new Proxy(e.attrs,Ui),slots:e.slots,emit:e.emit,expose:t}}function Jo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Rs(oa(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ot)return Ot[n](e)},has(t,n){return n in t||n in Ot}})):e.proxy}const ql=/(?:^|[-_])\w/g,Gl=e=>e.replace(ql,t=>t.toUpperCase()).replace(/[-_]/g,"");function Wi(e,t=!0){return H(e)?e.displayName||e.name:e.name||t&&e.__name}function pn(e,t,n=!1){let o=Wi(t);if(!o&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(o=s[1])}if(!o&&e){const s=i=>{for(const r in i)if(i[r]===t)return r};o=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return o?Gl(o):n?"App":"Anonymous"}function Ki(e){return H(e)&&"__vccOpts"in e}const Re=(e,t)=>{const n=la(e,t,fn);if(process.env.NODE_ENV!=="production"){const o=ji();o&&o.appContext.config.warnRecursiveComputed&&(n._warnRecursive=!0)}return n};function zl(){if(process.env.NODE_ENV==="production"||typeof window>"u")return;const e={style:"color:#3ba776"},t={style:"color:#1677ff"},n={style:"color:#f5222d"},o={style:"color:#eb2f96"},s={__vue_custom_formatter:!0,header(d){if(!z(d))return null;if(d.__isVue)return["div",e,"VueInstance"];if(ce(d)){Ie();const m=d.value;return Me(),["div",{},["span",e,f(d)],"<",a(m),">"]}else{if(ft(d))return["div",{},["span",e,ye(d)?"ShallowReactive":"Reactive"],"<",a(d),`>${Ke(d)?" (readonly)":""}`];if(Ke(d))return["div",{},["span",e,ye(d)?"ShallowReadonly":"Readonly"],"<",a(d),">"]}return null},hasBody(d){return d&&d.__isVue},body(d){if(d&&d.__isVue)return["div",{},...i(d.$)]}};function i(d){const m=[];d.type.props&&d.props&&m.push(r("props",W(d.props))),d.setupState!==ee&&m.push(r("setup",d.setupState)),d.data!==ee&&m.push(r("data",W(d.data)));const k=c(d,"computed");k&&m.push(r("computed",k));const A=c(d,"inject");return A&&m.push(r("injected",A)),m.push(["div",{},["span",{style:o.style+";opacity:0.66"},"$ (internal): "],["object",{object:d}]]),m}function r(d,m){return m=se({},m),Object.keys(m).length?["div",{style:"line-height:1.25em;margin-bottom:0.6em"},["div",{style:"color:#476582"},d],["div",{style:"padding-left:1.25em"},...Object.keys(m).map(k=>["div",{},["span",o,k+": "],a(m[k],!1)])]]:["span",{}]}function a(d,m=!0){return typeof d=="number"?["span",t,d]:typeof d=="string"?["span",n,JSON.stringify(d)]:typeof d=="boolean"?["span",o,d]:z(d)?["object",{object:m?W(d):d}]:["span",n,String(d)]}function c(d,m){const k=d.type;if(H(k))return;const A={};for(const w in d.ctx)p(k,w,m)&&(A[w]=d.ctx[w]);return A}function p(d,m,k){const A=d[k];if(j(A)&&A.includes(m)||z(A)&&m in A||d.extends&&p(d.extends,m,k)||d.mixins&&d.mixins.some(w=>p(w,m,k)))return!0}function f(d){return ye(d)?"ShallowRef":d.effect?"ComputedRef":"Ref"}window.devtoolsFormatters?window.devtoolsFormatters.push(s):window.devtoolsFormatters=[s]}const qi="3.5.39",Fe=process.env.NODE_ENV!=="production"?N:pe;process.env.NODE_ENV,process.env.NODE_ENV;/**
* @vue/runtime-dom v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let Yo;const Gi=typeof window<"u"&&window.trustedTypes;if(Gi)try{Yo=Gi.createPolicy("vue",{createHTML:e=>e})}catch(e){process.env.NODE_ENV!=="production"&&Fe(`Error creating trusted types policy: ${e}`)}const zi=Yo?e=>Yo.createHTML(e):e=>e,Jl="http://www.w3.org/2000/svg",Yl="http://www.w3.org/1998/Math/MathML",dt=typeof document<"u"?document:null,Ji=dt&&dt.createElement("template"),Xl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const s=t==="svg"?dt.createElementNS(Jl,e):t==="mathml"?dt.createElementNS(Yl,e):n?dt.createElement(e,{is:n}):dt.createElement(e);return e==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:e=>dt.createTextNode(e),createComment:e=>dt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>dt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,s,i){const r=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{Ji.innerHTML=zi(o==="svg"?`<svg>${e}</svg>`:o==="mathml"?`<math>${e}</math>`:e);const a=Ji.content;if(o==="svg"||o==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Zl=Symbol("_vtc");function Ql(e,t,n){const o=e[Zl];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Yi=Symbol("_vod"),ec=Symbol("_vsh"),tc=Symbol(process.env.NODE_ENV!=="production"?"CSS_VAR_TEXT":""),nc=/(?:^|;)\s*display\s*:/;function oc(e,t,n){const o=e.style,s=oe(n);let i=!1;if(n&&!s){if(t)if(oe(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&hn(o,a,"")}else for(const r in t)n[r]==null&&hn(o,r,"");for(const r in n){r==="display"&&(i=!0);const a=n[r];a!=null?rc(e,r,!oe(t)&&t?t[r]:void 0,a)||hn(o,r,a):hn(o,r,"")}}else if(s){if(t!==n){const r=o[tc];r&&(n+=";"+r),o.cssText=n,i=nc.test(n)}}else t&&e.removeAttribute("style");Yi in e&&(e[Yi]=i?o.display:"",e[ec]&&(o.display="none"))}const sc=/[^\\];\s*$/,Xi=/\s*!important$/;function hn(e,t,n){if(j(n))n.forEach(o=>hn(e,t,o));else if(n==null&&(n=""),process.env.NODE_ENV!=="production"&&sc.test(n)&&Fe(`Unexpected semicolon at the end of '${t}' style value: '${n}'`),t.startsWith("--"))e.setProperty(t,n);else{const o=ic(e,t);Xi.test(n)?e.setProperty(De(o),n.replace(Xi,""),"important"):e[o]=n}}const Zi=["Webkit","Moz","ms"],Xo={};function ic(e,t){const n=Xo[t];if(n)return n;let o=ve(t);if(o!=="filter"&&o in e)return Xo[t]=o;o=wn(o);for(let s=0;s<Zi.length;s++){const i=Zi[s]+o;if(i in e)return Xo[t]=i}return t}function rc(e,t,n,o){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&oe(o)&&n===o}const Qi="http://www.w3.org/1999/xlink";function er(e,t,n,o,s,i=Pr(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Qi,t.slice(6,t.length)):e.setAttributeNS(Qi,t,n):n==null||i&&!us(n)?e.removeAttribute(t):e.setAttribute(t,i?"":He(n)?String(n):n)}function tr(e,t,n,o,s){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?zi(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const a=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(a!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let r=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=us(n):n==null&&a==="string"?(n="",r=!0):a==="number"&&(n=0,r=!0)}try{e[t]=n}catch(a){process.env.NODE_ENV!=="production"&&!r&&Fe(`Failed setting prop "${t}" on <${i.toLowerCase()}>: value ${n} is invalid.`,a)}r&&e.removeAttribute(s||t)}function ac(e,t,n,o){e.addEventListener(t,n,o)}function lc(e,t,n,o){e.removeEventListener(t,n,o)}const nr=Symbol("_vei");function cc(e,t,n,o,s=null){const i=e[nr]||(e[nr]={}),r=i[t];if(o&&r)r.value=process.env.NODE_ENV!=="production"?or(o,t):o;else{const[a,c]=fc(t);if(o){const p=i[t]=mc(process.env.NODE_ENV!=="production"?or(o,t):o,s);ac(e,a,p,c)}else r&&(lc(e,a,r,c),i[t]=void 0)}}const dc=/(Once|Passive|Capture)$/,uc=/^on:?(?:Once|Passive|Capture)$/;function fc(e){let t,n;for(;(n=e.match(dc))&&!uc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):De(e.slice(2)),t]}let Zo=0;const pc=Promise.resolve(),hc=()=>Zo||(pc.then(()=>Zo=0),Zo=Date.now());function mc(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const s=n.value;if(j(s)){const i=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{i.call(o),o._stopped=!0};const r=s.slice(),a=[o];for(let c=0;c<r.length&&!o._stopped;c++){const p=r[c];p&&Ge(p,t,5,a)}}else Ge(s,t,5,[o])};return n.value=e,n.attached=hc(),n}function or(e,t){return H(e)||j(e)?e:(Fe(`Wrong type passed as event handler to ${t} - did you forget @ or : in front of your prop?
Expected function or array of functions, received type ${typeof e}.`),pe)}const sr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,gc=(e,t,n,o,s,i)=>{const r=s==="svg";t==="class"?Ql(e,o,r):t==="style"?oc(e,n,o):Ht(t)?Bt(t)||cc(e,t,n,o,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):vc(e,t,o,r))?(tr(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&er(e,t,o,r,i,t!=="value")):e._isVueCE&&(bc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!oe(o)))?tr(e,ve(t),o,i,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),er(e,t,o,r))};function vc(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&sr(t)&&H(n));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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return sr(t)&&oe(n)?!1:t in e}function bc(e,t){const n=e._def.props;if(!n)return!1;const o=ve(t);return Array.isArray(n)?n.some(s=>ve(s)===o):Object.keys(n).some(s=>ve(s)===o)}const ir={};function _c(e,t,n){let o=Ma(e,t);_n(o)&&(o=se({},o,t));class s extends Qo{constructor(r){super(o,r,n)}}return s.def=o,s}const yc=typeof HTMLElement<"u"?HTMLElement:class{};class Qo extends yc{constructor(t,n={},o=lr){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==lr?this._root=this.shadowRoot:(process.env.NODE_ENV!=="production"&&this.shadowRoot&&Fe("Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use `defineSSRCustomElement`."),t.shadowRoot!==!1?(this.attachShadow(se({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this)}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Qo){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Ms(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let o=0;o<this.attributes.length;o++)this._setAttr(this.attributes[o].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});const t=(o,s=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:r}=o;let a;if(i&&!j(i))for(const c in i){const p=i[c];(p===Number||p&&p.type===Number)&&(c in this._props&&(this._props[c]=cs(this._props[c])),(a||(a=Object.create(null)))[ve(c)]=!0)}this._numberProps=a,this._resolveProps(o),this.shadowRoot?this._applyStyles(r):process.env.NODE_ENV!=="production"&&r&&Fe("Custom element style injection is not supported when using shadowRoot: false"),this._mount(o)},n=this._def.__asyncLoader;n?this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}):t(this._def)}_mount(t){process.env.NODE_ENV!=="production"&&!t.name&&(t.name="VueElement"),this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)G(this,o)?process.env.NODE_ENV!=="production"&&Fe(`Exposed property "${o}" already exists on custom element.`):Object.defineProperty(this,o,{get:()=>$s(n[o])})}_resolveProps(t){const{props:n}=t,o=j(n)?n:Object.keys(n||{});for(const s of Object.keys(this))s[0]!=="_"&&o.includes(s)&&this._setProp(s,this[s]);for(const s of o.map(ve))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(i){this._setProp(s,i,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):ir;const s=ve(t);n&&this._numberProps&&this._numberProps[s]&&(o=cs(o)),this._setProp(s,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,s=!1){if(n!==this._props[t]&&(this._dirty=!0,n===ir?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),s&&this._instance&&this._update(),o)){const i=this._ob;i&&(this._processMutations(i.takeRecords()),i.disconnect()),n===!0?this.setAttribute(De(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(De(t),n+""):n||this.removeAttribute(De(t)),i&&i.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),kc(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=je(this._def,se(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0,process.env.NODE_ENV!=="production"&&(o.ceReload=i=>{this._styles&&(this._styles.forEach(r=>this._root.removeChild(r)),this._styles.length=0),this._styleAnchors.delete(this._def),this._applyStyles(i),this._instance=null,this._update()});const s=(i,r)=>{this.dispatchEvent(new CustomEvent(i,_n(r[0])?se({detail:r},r[0]):{detail:r}))};o.emit=(i,...r)=>{s(i,r),De(i)!==i&&s(De(i),r)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const s=this._nonce,i=this.shadowRoot,r=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i);let a=null;for(let c=t.length-1;c>=0;c--){const p=document.createElement("style");if(s&&p.setAttribute("nonce",s),p.textContent=t[c],i.insertBefore(p,a||r),a=p,c===0&&(o||this._styleAnchors.set(this._def,p),n&&this._styleAnchors.set(n,p)),process.env.NODE_ENV!=="production")if(n){if(n.__hmrId){this._childStyles||(this._childStyles=new Map);let f=this._childStyles.get(n.__hmrId);f||this._childStyles.set(n.__hmrId,f=[]),f.push(p)}}else(this._styles||(this._styles=[])).push(p)}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n<t.childNodes.length;n++){const o=t.childNodes[n];if(!(o instanceof HTMLStyleElement))return o}return null}_parseSlots(){const t=this._slots={};let n;for(;n=this.firstChild;){const o=n.nodeType===1&&n.getAttribute("slot")||"default";(t[o]||(t[o]=[])).push(n),this.removeChild(n)}}_renderSlots(){const t=this._getSlots(),n=this._instance.type.__scopeId;for(let o=0;o<t.length;o++){const s=t[o],i=s.getAttribute("name")||"default",r=this._slots[i],a=s.parentNode;if(r)for(const c of r){if(n&&c.nodeType===1){const p=n+"-s",f=document.createTreeWalker(c,1);c.setAttribute(p,"");let d;for(;d=f.nextNode();)d.setAttribute(p,"")}a.insertBefore(c,s)}else for(;s.firstChild;)a.insertBefore(s.firstChild,s);a.removeChild(s)}}_getSlots(){const t=[this];this._teleportTargets&&t.push(...this._teleportTargets);const n=new Set;for(const o of t){const s=o.querySelectorAll("slot");for(let i=0;i<s.length;i++)n.add(s[i])}return Array.from(n)}_injectChildStyle(t,n){this._applyStyles(t.styles,t,n)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(t){if(process.env.NODE_ENV!=="production"&&(this._styleChildren.delete(t),this._styleAnchors.delete(t),this._childStyles&&t.__hmrId)){const n=this._childStyles.get(t.__hmrId);n&&(n.forEach(o=>this._root.removeChild(o)),n.length=0)}}}const wc=["ctrl","shift","alt","meta"],xc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>wc.some(n=>e[`${n}Key`]&&!t.includes(n))},Ec=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(s,...i)=>{for(let r=0;r<t.length;r++){const a=xc[t[r]];if(a&&a(s,t))return}return e(s,...i)})},Nc=se({patchProp:gc},Xl);let rr;function ar(){return rr||(rr=Cl(Nc))}const kc=(...e)=>{ar().render(...e)},lr=(...e)=>{const t=ar().createApp(...e);process.env.NODE_ENV!=="production"&&(Sc(t),Cc(t));const{mount:n}=t;return t.mount=o=>{const s=Dc(o);if(!s)return;const i=t._component;!H(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=n(s,!1,Oc(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},t};function Oc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Sc(e){Object.defineProperty(e.config,"isNativeTag",{value:t=>Tr(t)||$r(t)||Rr(t),writable:!1})}function Cc(e){{const t=e.config.isCustomElement;Object.defineProperty(e.config,"isCustomElement",{get(){return t},set(){Fe("The `isCustomElement` config option is deprecated. Use `compilerOptions.isCustomElement` instead.")}});const n=e.config.compilerOptions,o='The `compilerOptions` config option is only respected when using a build of Vue.js that includes the runtime compiler (aka "full build"). Since you are using the runtime-only build, `compilerOptions` must be passed to `@vue/compiler-dom` in the build setup instead.\n- For vue-loader: pass it via vue-loader\'s `compilerOptions` loader option.\n- For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader\n- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-sfc';Object.defineProperty(e.config,"compilerOptions",{get(){return Fe(o),n},set(){Fe(o)}})}}function Dc(e){if(oe(e)){const t=document.querySelector(e);return process.env.NODE_ENV!=="production"&&!t&&Fe(`Failed to mount app: mount target selector "${e}" returned null.`),t}return process.env.NODE_ENV!=="production"&&window.ShadowRoot&&e instanceof window.ShadowRoot&&e.mode==="closed"&&Fe('mounting on a ShadowRoot with `{mode: "closed"}` may lead to unpredictable bugs'),e}/**
* vue v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Vc(){zl()}process.env.NODE_ENV!=="production"&&Vc();const Ac=".at-wrap[data-v-f30b237d]{--at-bg: #0d1117;--at-surface: #161b22;--at-border: #30363d;--at-subtle: #21262d;--at-text: #e6edf3;--at-muted: #8b949e;--at-dim: #6e7681;--at-accent: #73A17F;background:var(--at-bg);border:1px solid var(--at-subtle);border-radius:8px;overflow:hidden}.at-toolbar[data-v-f30b237d]{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--at-surface);border-bottom:1px solid var(--at-subtle)}.at-toolbar-title[data-v-f30b237d]{font:700 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--at-accent)}.at-toolbar-count[data-v-f30b237d]{font:600 10px ui-monospace,monospace;color:var(--at-muted);background:#6e768126;border-radius:999px;padding:1px 7px}.at-toolbar-spacer[data-v-f30b237d]{flex:1}.at-v2-group[data-v-f30b237d]{display:inline-flex;gap:6px}.at-v2-btn[data-v-f30b237d]{display:inline-flex;align-items:center;gap:6px;background:#6e76811a;border:1px solid var(--at-border);border-radius:6px;color:var(--at-dim);cursor:not-allowed;padding:4px 8px;font:600 11px system-ui,sans-serif;opacity:.75}.at-v2-btn[data-v-f30b237d]:disabled{pointer-events:auto}.at-v2-plus[data-v-f30b237d]{font:700 12px ui-monospace,monospace;line-height:1}.at-v2-badge[data-v-f30b237d]{font:700 8px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--at-dim);background:#6e76812e;border-radius:4px;padding:2px 5px}.at-scroll[data-v-f30b237d]{overflow-x:auto;width:100%}.at-scroll[data-v-f30b237d]::-webkit-scrollbar{height:8px}.at-scroll[data-v-f30b237d]::-webkit-scrollbar-track{background:transparent}.at-scroll[data-v-f30b237d]::-webkit-scrollbar-thumb{background:var(--at-subtle);border-radius:4px}.at-scroll[data-v-f30b237d]::-webkit-scrollbar-thumb:hover{background:var(--at-border)}.at-table[data-v-f30b237d]{width:100%;border-collapse:collapse;table-layout:fixed;min-width:560px}.at-table-cyber[data-v-f30b237d]{min-width:640px}.at-th[data-v-f30b237d]{position:sticky;top:0;z-index:1;text-align:left;padding:6px 10px;background:var(--at-bg);border-bottom:1px solid var(--at-subtle);font:700 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--at-muted);white-space:nowrap}.at-sort[data-v-f30b237d]{color:var(--at-accent);font-size:9px;margin-left:2px}.at-th-cat[data-v-f30b237d]{width:26%}.at-th-title[data-v-f30b237d]{width:34%}.at-th-summary[data-v-f30b237d]{width:40%}.at-th-sev[data-v-f30b237d]{width:96px}.at-th-cve[data-v-f30b237d]{width:150px}.at-th-flag[data-v-f30b237d]{width:78px;text-align:center}.at-td-flag[data-v-f30b237d]{text-align:center}.at-tr[data-v-f30b237d]{cursor:pointer;transition:background .1s;border-bottom:1px solid rgba(33,38,45,.55)}.at-tr[data-v-f30b237d]:last-child{border-bottom:none}.at-tr[data-v-f30b237d]:hover{background:#ffffff0a}.at-tr[data-v-f30b237d]:focus-visible{outline:none;background:#73a17f1a;box-shadow:inset 2px 0 0 0 var(--at-accent)}.at-tr.at-group-start>.at-td[data-v-f30b237d]{border-top:1px solid rgba(115,161,127,.22)}.at-tr.at-group-start:first-child>.at-td[data-v-f30b237d]{border-top:none}.at-td[data-v-f30b237d]{padding:7px 10px;font:12px system-ui,sans-serif;color:var(--at-text);vertical-align:middle;overflow:hidden}.at-ellipsis[data-v-f30b237d]{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.at-muted[data-v-f30b237d]{color:var(--at-muted)}.at-dim[data-v-f30b237d]{color:var(--at-dim);font:11px ui-monospace,monospace}.at-cat[data-v-f30b237d]{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 11px ui-monospace,monospace;color:#adbac7;letter-spacing:.02em}.at-chip[data-v-f30b237d]{display:inline-block;font:700 9.5px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:999px;padding:2px 8px;white-space:nowrap}.at-cve[data-v-f30b237d]{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:11px ui-monospace,monospace;color:#79c0ff}.at-verified[data-v-f30b237d]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font:700 11px ui-monospace,monospace;color:#7ee787;background:#3fb95024;border:1px solid rgba(63,185,80,.35)}.at-tutorial[data-v-f30b237d]{font-size:13px;line-height:1}.at-empty[data-v-f30b237d]{padding:22px 14px;text-align:center;font:12px system-ui,sans-serif;color:var(--at-dim)}",Xn=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},Tc={class:"at-wrap"},$c={class:"at-toolbar"},Rc={class:"at-toolbar-title"},Pc={key:0,class:"at-toolbar-count"},Ic={class:"at-scroll"},Mc={key:0,class:"at-table at-table-cyber"},jc=["aria-label","onClick","onKeydown"],Fc={class:"at-td at-td-sev"},Lc={class:"at-td at-td-title"},Hc=["title"],Bc={class:"at-td at-td-cve"},Uc=["title"],Wc={key:1,class:"at-dim"},Kc={class:"at-td at-td-flag"},qc={key:0,class:"at-verified",title:"Human-verified finding"},Gc={key:1,class:"at-dim",title:"Not yet human-verified"},zc={class:"at-td at-td-flag"},Jc={key:0,class:"at-tutorial",title:"How-to-find tutorial available","aria-label":"Tutorial available"},Yc={key:1,class:"at-dim"},Xc={key:1,class:"at-table at-table-ab"},Zc=["aria-label","onClick","onKeydown"],Qc={class:"at-td at-td-cat"},ed=["title"],td={class:"at-td at-td-title"},nd=["title"],od={class:"at-td at-td-summary"},sd=["title"],id={key:0,class:"at-empty"},rd=Xn({__name:"AuditTable",props:{branch:{type:String,required:!0},rows:{type:Array,default:()=>[]}},emits:["open-row"],setup(e,{emit:t}){const n=e,o=t,s=Re(()=>n.branch==="cyber"),i=Re(()=>({arch:"Architecture",build:"Build",cyber:"Cybersecurity"})[n.branch]||n.branch),r={critical:5,high:4,medium:3,low:2,info:1},a={critical:"#ff7b72",high:"#f0883e",medium:"#d29922",low:"#58a6ff",info:"#8b949e"};function c(R){return r[String((R==null?void 0:R.severity)||"").toLowerCase()]??0}function p(R){return a[String((R==null?void 0:R.severity)||"").toLowerCase()]||"#8b949e"}function f(R){return String((R==null?void 0:R.severity)||"unknown")}const d=Re(()=>{const R=Array.isArray(n.rows)?n.rows.slice():[];return s.value?R.sort((T,D)=>{const ne=c(D)-c(T);if(ne!==0)return ne;const P=(D.human_verified?1:0)-(T.human_verified?1:0);return P!==0?P:String(T.title||"").localeCompare(String(D.title||""))}):R.sort((T,D)=>{const ne=String(T.category||"").localeCompare(String(D.category||""));return ne!==0?ne:String(T.title||"").localeCompare(String(D.title||""))})}),m=Re(()=>{if(s.value)return d.value.map(T=>({row:T,groupStart:!1}));let R=null;return d.value.map(T=>{const D=String(T.category??""),ne=D!==R;return R=D,{row:T,groupStart:ne}})});function k(R){const T=R==null?void 0:R.tutorial;return typeof T=="string"?T.trim().length>0:!!T}function A(R,T){return(R==null?void 0:R.id)??`${n.branch}-row-${T}`}function w(R){o("open-row",R)}function te(R,T){(T.key==="Enter"||T.key===" "||T.key==="Spacebar")&&(T.preventDefault(),w(R))}return(R,T)=>(I(),F("div",Tc,[g("div",$c,[g("span",Rc,ie(i.value)+" rows",1),d.value.length?(I(),F("span",Pc,ie(d.value.length),1)):Se("",!0),T[0]||(T[0]=g("span",{class:"at-toolbar-spacer"},null,-1)),T[1]||(T[1]=g("div",{class:"at-v2-group",role:"group","aria-label":"Editing (coming in v2)"},[g("button",{type:"button",class:"at-v2-btn",disabled:"","aria-disabled":"true",title:"Adding rows is coming in v2 (write-MCP). v1 is read-only."},[g("span",{class:"at-v2-plus","aria-hidden":"true"},"+"),g("span",null,"Add row"),g("span",{class:"at-v2-badge"},"v2")]),g("button",{type:"button",class:"at-v2-btn",disabled:"","aria-disabled":"true",title:"Editing is coming in v2 (Accept / Reject / Triage). v1 is read-only."},[g("span",null,"Edit"),g("span",{class:"at-v2-badge"},"v2")])],-1))]),g("div",Ic,[s.value?(I(),F("table",Mc,[T[2]||(T[2]=g("thead",null,[g("tr",null,[g("th",{class:"at-th at-th-sev"},[gt("Severity "),g("span",{class:"at-sort",title:"Sorted by severity (desc)"},"▼")]),g("th",{class:"at-th at-th-title"},"Title"),g("th",{class:"at-th at-th-cve"},"CVE"),g("th",{class:"at-th at-th-flag"},"Verified"),g("th",{class:"at-th at-th-flag"},"Tutorial")])],-1)),g("tbody",null,[(I(!0),F(de,null,It(m.value,(D,ne)=>(I(),F("tr",{key:A(D.row,ne),class:"at-tr",tabindex:"0",role:"button","aria-label":`Open ${f(D.row)} finding: ${D.row.title||"untitled"}`,onClick:P=>w(D.row),onKeydown:P=>te(D.row,P)},[g("td",Fc,[g("span",{class:"at-chip",style:Vt({color:p(D.row),borderColor:p(D.row),background:p(D.row)+"22"})},ie(f(D.row)),5)]),g("td",Lc,[g("span",{class:"at-ellipsis",title:D.row.title},ie(D.row.title||"—"),9,Hc)]),g("td",Bc,[D.row.cve?(I(),F("span",{key:0,class:"at-cve",title:D.row.cve},ie(D.row.cve),9,Uc)):(I(),F("span",Wc,"—"))]),g("td",Kc,[D.row.human_verified?(I(),F("span",qc,"✓")):(I(),F("span",Gc,"—"))]),g("td",zc,[k(D.row)?(I(),F("span",Jc,"📄")):(I(),F("span",Yc,"—"))])],40,jc))),128))])])):(I(),F("table",Xc,[T[3]||(T[3]=g("thead",null,[g("tr",null,[g("th",{class:"at-th at-th-cat"},[gt("Category "),g("span",{class:"at-sort",title:"Grouped by category"},"≡")]),g("th",{class:"at-th at-th-title"},"Title"),g("th",{class:"at-th at-th-summary"},"Summary")])],-1)),g("tbody",null,[(I(!0),F(de,null,It(m.value,(D,ne)=>(I(),F("tr",{key:A(D.row,ne),class:Be(["at-tr",{"at-group-start":D.groupStart}]),tabindex:"0",role:"button","aria-label":`Open ${D.row.category||"uncategorized"} artifact: ${D.row.title||"untitled"}`,onClick:P=>w(D.row),onKeydown:P=>te(D.row,P)},[g("td",Qc,[g("span",{class:"at-cat",title:D.row.category},ie(D.row.category||"—"),9,ed)]),g("td",td,[g("span",{class:"at-ellipsis",title:D.row.title},ie(D.row.title||"—"),9,nd)]),g("td",od,[g("span",{class:"at-ellipsis at-muted",title:D.row.summary},ie(D.row.summary||"—"),9,sd)])],42,Zc))),128))])]))]),d.value.length?Se("",!0):(I(),F("div",id,"No rows in this branch."))]))}},[["styles",[Ac]],["__scopeId","data-v-f30b237d"]]),ad='.stt-root[data-v-053297ad]{--caret-w: 16px;--dot-w: 9px;--trunk-w: 14px;height:100%;min-height:0;display:flex;flex-direction:column;background:#0d1117;color:#e6edf3;overflow:hidden}.stt-col-hdr[data-v-053297ad]{flex-shrink:0;display:flex;align-items:baseline;gap:12px;padding:8px 16px;background:#0d1117;border-bottom:1px solid #21262d}.stt-hdr-name[data-v-053297ad]{font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.06em;color:#73a17f}.stt-hdr-hint[data-v-053297ad]{font:10px ui-monospace,monospace;color:#6e7681;margin-left:auto}.stt-rows[data-v-053297ad]{flex:1;min-height:0;overflow-y:auto;overflow-x:auto;padding-bottom:24px}.stt-rows[data-v-053297ad]::-webkit-scrollbar{width:9px;height:9px}.stt-rows[data-v-053297ad]::-webkit-scrollbar-track{background:transparent}.stt-rows[data-v-053297ad]::-webkit-scrollbar-thumb{background:#21262d;border-radius:4px}.stt-rows[data-v-053297ad]::-webkit-scrollbar-thumb:hover{background:#30363d}.stt-row[data-v-053297ad]{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 16px 0 8px;cursor:pointer;border-bottom:1px solid rgba(33,38,45,.5);transition:background .1s}.stt-row[data-v-053297ad]:hover{background:#ffffff09}.stt-row-plugin[data-v-053297ad]{box-shadow:inset 3px 0 #73a17f8c;background:#73a17f0a}.stt-row-plugin .stt-name[data-v-053297ad]{font-weight:700;font-size:13.5px}.stt-row-audit .stt-name[data-v-053297ad]{font-weight:600;color:#c9d1d9}.stt-row-branch .stt-name[data-v-053297ad]{font-weight:600}.stt-row.stt-open[data-v-053297ad]{background:#ffffff05}.stt-trunk[data-v-053297ad]{position:relative;flex-shrink:0;width:var(--trunk-w);align-self:stretch}.stt-trunk-pipe[data-v-053297ad]:before,.stt-trunk-tee[data-v-053297ad]:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:1px;background:#6e7681;opacity:.4}.stt-trunk-tee[data-v-053297ad]:after{content:"";position:absolute;left:6px;top:50%;height:1px;width:8px;background:#6e7681;opacity:.5}.stt-trunk-elbow[data-v-053297ad]:before{content:"";position:absolute;left:6px;top:0;height:50%;width:1px;background:#6e7681;opacity:.4}.stt-trunk-elbow[data-v-053297ad]:after{content:"";position:absolute;left:6px;top:calc(50% - .5px);height:1px;width:8px;background:#6e7681;opacity:.5}.stt-caret[data-v-053297ad]{flex-shrink:0;width:var(--caret-w);height:var(--caret-w);display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:#6e7681;border-radius:3px}.stt-caret svg[data-v-053297ad]{transition:transform .15s}.stt-caret.open svg[data-v-053297ad]{transform:rotate(90deg)}.stt-caret[data-v-053297ad]:hover{color:#c9d1d9;background:#ffffff0f}.stt-caret-sp[data-v-053297ad]{width:var(--caret-w);flex-shrink:0}.stt-dot[data-v-053297ad]{width:var(--dot-w);height:var(--dot-w);border-radius:50%;flex-shrink:0;background:var(--dot);box-shadow:0 0 0 1px #0006}.stt-name[data-v-053297ad]{flex:0 1 auto;min-width:0;font:12.5px system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#e6edf3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stt-badge[data-v-053297ad]{flex-shrink:0;font:700 9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:2px 6px;border:1px solid transparent}.stt-badge-latest[data-v-053297ad]{color:#73a17f;background:#73a17f24;border-color:#73a17f66}.stt-badge-verified[data-v-053297ad]{color:#7ee787;background:#3fb9501f;border-color:#3fb95052}.stt-sev-critical[data-v-053297ad]{color:#ff7b72;background:#f8514929;border-color:#f8514973}.stt-sev-high[data-v-053297ad]{color:#ff7b72;background:#f851491a;border-color:#f851494d}.stt-sev-medium[data-v-053297ad]{color:#d5a642;background:#d5a6421f;border-color:#d5a6424d}.stt-sev-low[data-v-053297ad]{color:#79c0ff;background:#388bfd1a;border-color:#388bfd47}.stt-sev-info[data-v-053297ad]{color:#8b949e;background:#6e76811f;border-color:#6e76814d}.stt-metrics[data-v-053297ad]{margin-left:auto;display:flex;align-items:center;gap:14px;flex-shrink:0;padding-left:12px}.stt-metric[data-v-053297ad]{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.15;min-width:34px}.stt-metric-val[data-v-053297ad]{font:11.5px ui-monospace,SFMono-Regular,Menlo,monospace;color:#adbac7;font-variant-numeric:tabular-nums}.stt-metric-lbl[data-v-053297ad]{font:8px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;color:#6e7681}.stt-metric-warn .stt-metric-val[data-v-053297ad]{color:#ff7b72}.stt-metric-ok .stt-metric-val[data-v-053297ad]{color:#7ee787}.stt-leaf[data-v-053297ad]{display:flex;align-items:stretch;background:#0d111799;border-bottom:1px solid #21262d}.stt-leaf-indent[data-v-053297ad]{width:calc(var(--caret-w) + var(--dot-w) + 16px);flex-shrink:0}.stt-leaf-body[data-v-053297ad]{flex:1;min-width:0;padding:6px 16px 12px 4px;overflow-x:auto}.stt-empty[data-v-053297ad]{padding:40px 16px;text-align:center;font:12px system-ui;color:#6e7681}',ld={class:"stt-root"},cd={class:"stt-rows"},dd=["onClick"],ud=["aria-expanded","title","onClick"],fd={key:1,class:"stt-caret-sp"},pd=["title"],hd={key:2,class:"stt-badge stt-badge-latest",title:"Newest / superset audit"},md={key:3,class:"stt-badge stt-badge-verified",title:"Has human-verified findings"},gd=["title"],vd={class:"stt-metrics"},bd={class:"stt-metric-val"},_d={class:"stt-metric-lbl"},yd={class:"stt-leaf-body"},wd={key:0,class:"stt-empty"},xd=Xn({__name:"SemanticTreeTable",props:{nodes:{type:Array,default:()=>[]}},emits:["open-row"],setup(e,{emit:t}){const n=e,o=t,s=wt(new Set);function i(O){const $=new Set(s.value);$.has(O)?$.delete(O):$.add(O),s.value=$}function r(O){return s.value.has(O)}const a={critical:5,high:4,medium:3,low:2,info:1};function c(O){return a[O]||0}function p(O){return[...O].sort(($,V)=>{var Le,ae,le,q,K,Pe;const re=((Le=$.stats)==null?void 0:Le.humanVerified)||0,Z=((ae=V.stats)==null?void 0:ae.humanVerified)||0;if(Z!==re)return Z-re;const U=((le=$.stats)==null?void 0:le.vulns)||0,Ne=((q=V.stats)==null?void 0:q.vulns)||0;return Ne!==U?Ne-U:c((K=V.stats)==null?void 0:K.topSeverity)-c((Pe=$.stats)==null?void 0:Pe.topSeverity)})}const f=Re(()=>p(n.nodes||[]));function d(O,$,V,re,Z){for(const U of $)O.push({node:U,relDepth:V,parent:re,ancestors:Z}),U.type!=="branch"&&r(U.id)&&U.children&&U.children.length&&d(O,U.children,V+1,U,[...Z,U])}const m=Re(()=>{const O=[];d(O,f.value,0,null,[]);for(let $=0;$<O.length;$++){const V=O[$],re=[];for(let Z=0;Z<V.relDepth;Z++){const U=V.ancestors[Z];let Ne=!1;for(let Le=$+1;Le<O.length;Le++){const ae=O[Le];if(ae.relDepth<=Z)break;if(ae.relDepth===Z+1&&ae.ancestors[Z]===U){Ne=!0;break}ae.relDepth>Z+1&&ae.ancestors[Z]}if(Z===V.relDepth-1){let Le=!1;for(let ae=$+1;ae<O.length;ae++){const le=O[ae];if(le.relDepth<V.relDepth)break;if(le.relDepth===V.relDepth&&le.parent===V.parent){Le=!0;break}}re.push(Le?"tee":"elbow")}else re.push(Ne?"pipe":"blank")}V.trunks=re}return O});function k(O){return O.type==="branch"?!0:!!(O.children&&O.children.length)}function A(O){return O.type==="plugin"?"#73A17F":O.type==="audit"?"#8b949e":O.type==="branch"?O.branch==="arch"?"#79c0ff":O.branch==="build"?"#7ee787":"#ff7b72":"#6e7681"}function w(O){k(O)&&i(O.id)}function te(O){return O==null?"—":O>=1e6?(O/1e6).toFixed(O>=1e7?0:1)+"M":O>=1e3?(O/1e3).toFixed(O>=1e4?0:1)+"k":String(O)}function R(O){return O==null?"—":O.toLocaleString()}function T(O){if(O==null)return"—";const $=Math.round(O/1e3);if($<60)return $+"s";const V=Math.floor($/60),re=$%60;if(V<60)return re?V+"m "+re+"s":V+"m";const Z=Math.floor(V/60),U=V%60;return U?Z+"h "+U+"m":Z+"h"}function D(O){if(!O)return"—";const $=new Date(O);return Number.isNaN($.getTime())?String(O):$.toLocaleString(void 0,{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function ne(O){return O?O.charAt(0).toUpperCase()+O.slice(1):""}function P(O){const $=O.stats||{};return O.type==="plugin"?[{key:"audits",label:"audits",value:R($.audits)},{key:"vulns",label:"vulns",value:R($.vulns),tone:$.vulns?"warn":null},{key:"verified",label:"verified",value:R($.humanVerified),tone:$.humanVerified?"ok":null}]:O.type==="audit"?[{key:"started",label:"started",value:D($.started_at)},{key:"dur",label:"dur",value:T($.duration_ms)},{key:"agents",label:"agents",value:R($.agents)},{key:"tokens",label:"tokens",value:te($.tokens)},{key:"files",label:"files",value:R($.files)},{key:"vulns",label:"vulns",value:R($.vulns),tone:$.vulns?"warn":null}]:O.type==="branch"?[{key:"count",label:"rows",value:R(O.count)}]:[]}function ue(O,$){o("open-row",{row:O,branch:$})}return(O,$)=>(I(),F("div",ld,[$[3]||($[3]=g("div",{class:"stt-col-hdr"},[g("span",{class:"stt-hdr-name"},"plugin · audit · branch"),g("span",{class:"stt-hdr-hint"},"expand to drill · click a leaf row for full data")],-1)),g("div",cd,[(I(!0),F(de,null,It(m.value,V=>{var re,Z;return I(),F(de,{key:V.node.id},[g("div",{class:Be(["stt-row",["stt-row-"+V.node.type,{"stt-open":k(V.node)&&r(V.node.id),"stt-latest":V.node.type==="audit"&&V.node.isLatest}]]),style:Vt({"--dot":A(V.node)}),onClick:U=>w(V.node)},[(I(!0),F(de,null,It(V.trunks,(U,Ne)=>(I(),F("span",{key:"tr"+Ne,class:Be(["stt-trunk","stt-trunk-"+U])},null,2))),128)),k(V.node)?(I(),F("button",{key:0,type:"button",class:Be(["stt-caret",{open:r(V.node.id)}]),"aria-expanded":r(V.node.id)?"true":"false",title:r(V.node.id)?"Collapse":"Expand",onClick:Ec(U=>i(V.node.id),["stop"])},[...$[0]||($[0]=[g("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[g("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,ud)):(I(),F("span",fd)),$[1]||($[1]=g("span",{class:"stt-dot"},null,-1)),g("span",{class:"stt-name",title:V.node.label},ie(V.node.label),9,pd),V.node.type==="audit"&&V.node.isLatest?(I(),F("span",hd,"latest")):Se("",!0),V.node.type==="plugin"&&((re=V.node.stats)!=null&&re.humanVerified)?(I(),F("span",md,"✓ verified")):Se("",!0),V.node.type==="plugin"&&((Z=V.node.stats)!=null&&Z.topSeverity)?(I(),F("span",{key:4,class:Be(["stt-badge","stt-sev-"+V.node.stats.topSeverity]),title:"Top severity: "+ne(V.node.stats.topSeverity)},ie(ne(V.node.stats.topSeverity)),11,gd)):Se("",!0),g("span",vd,[(I(!0),F(de,null,It(P(V.node),U=>(I(),F("span",{key:U.key,class:Be(["stt-metric",U.tone?"stt-metric-"+U.tone:null])},[g("span",bd,ie(U.value),1),g("span",_d,ie(U.label),1)],2))),128))])],14,dd),V.node.type==="branch"&&r(V.node.id)?(I(),F("div",{key:V.node.id+"-table",class:"stt-leaf"},[(I(!0),F(de,null,It(V.trunks,(U,Ne)=>(I(),F("span",{key:"lt"+Ne,class:Be(["stt-trunk",Ne===V.trunks.length-1?"stt-trunk-pipe":"stt-trunk-"+U])},null,2))),128)),$[2]||($[2]=g("span",{class:"stt-leaf-indent"},null,-1)),g("div",yd,[je(rd,{branch:V.node.branch,rows:V.node.rows||[],onOpenRow:U=>ue(U,V.node.branch)},null,8,["branch","rows","onOpenRow"])])])):Se("",!0)],64)}),128)),m.value.length?Se("",!0):(I(),F("div",wd,"No plugins to display."))])]))}},[["styles",[ad]],["__scopeId","data-v-053297ad"]]),Ed=".rdp-root[data-v-03937a1b]{--rdp-bg: #0d1117;--rdp-surface: #161b22;--rdp-border: #30363d;--rdp-subtle: #21262d;--rdp-text: #e6edf3;--rdp-muted: #8b949e;--rdp-dim: #6e7681;--rdp-accent: #73A17F}.rdp-sidebar[data-v-03937a1b]{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;z-index:40;pointer-events:none}.rdp-sidebar .rdp-panel[data-v-03937a1b]{pointer-events:auto;width:100%;height:100%;border-left:1px solid var(--rdp-border);box-shadow:-12px 0 32px #00000080;animation:rdp-slide-in-03937a1b .22s cubic-bezier(.2,0,0,1)}@keyframes rdp-slide-in-03937a1b{0%{transform:translate(100%);opacity:.4}to{transform:translate(0);opacity:1}}.rdp-fullscreen[data-v-03937a1b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:32px}.rdp-backdrop[data-v-03937a1b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#010409b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:rdp-fade-in-03937a1b .18s ease}@keyframes rdp-fade-in-03937a1b{0%{opacity:0}to{opacity:1}}.rdp-fullscreen .rdp-panel[data-v-03937a1b]{position:relative;width:min(920px,100%);max-height:100%;border:1px solid var(--rdp-border);border-radius:12px;box-shadow:0 20px 60px #0009;animation:rdp-pop-in-03937a1b .18s cubic-bezier(.2,0,0,1)}@keyframes rdp-pop-in-03937a1b{0%{transform:scale(.98);opacity:0}to{transform:scale(1);opacity:1}}.rdp-panel[data-v-03937a1b]{display:flex;flex-direction:column;background:var(--rdp-surface);color:var(--rdp-text);overflow:hidden;min-height:0}.rdp-header[data-v-03937a1b]{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--rdp-subtle);background:var(--rdp-bg);flex-shrink:0}.rdp-eyebrow[data-v-03937a1b]{font:700 9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--rdp-accent);flex-shrink:0}.rdp-title[data-v-03937a1b]{flex:1;min-width:0;margin:0;font:600 14px system-ui,sans-serif;color:var(--rdp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rdp-actions[data-v-03937a1b]{display:inline-flex;gap:6px;flex-shrink:0}.rdp-icon-btn[data-v-03937a1b]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#6e76811f;border:1px solid var(--rdp-border);border-radius:6px;color:var(--rdp-muted);cursor:pointer;transition:color .12s,background .12s,border-color .12s}.rdp-icon-btn[data-v-03937a1b]:hover{color:#fff;background:#3b463d40;border-color:var(--rdp-accent)}.rdp-close[data-v-03937a1b]:hover{border-color:#ff7b72;background:#f8514926}.rdp-icon-btn[data-v-03937a1b]:focus-visible{outline:none;border-color:var(--rdp-accent);box-shadow:0 0 0 2px #73a17f4d}.rdp-body[data-v-03937a1b]{flex:1;min-height:0;overflow-y:auto;padding:14px}.rdp-body[data-v-03937a1b]::-webkit-scrollbar{width:8px}.rdp-body[data-v-03937a1b]::-webkit-scrollbar-track{background:transparent}.rdp-body[data-v-03937a1b]::-webkit-scrollbar-thumb{background:var(--rdp-subtle);border-radius:4px}.rdp-body[data-v-03937a1b]::-webkit-scrollbar-thumb:hover{background:var(--rdp-border)}.rdp-fields[data-v-03937a1b]{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.rdp-field[data-v-03937a1b]{display:flex;align-items:center;gap:10px}.rdp-field-label[data-v-03937a1b]{width:84px;flex-shrink:0;font:600 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--rdp-dim)}.rdp-mono[data-v-03937a1b]{font:12px ui-monospace,monospace;color:var(--rdp-text)}.rdp-cve[data-v-03937a1b]{color:#79c0ff}.rdp-dim[data-v-03937a1b]{color:var(--rdp-dim);font:12px ui-monospace,monospace}.rdp-chip[data-v-03937a1b]{display:inline-block;font:700 9.5px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:999px;padding:2px 9px}.rdp-verified[data-v-03937a1b]{font:600 12px system-ui,sans-serif;color:#7ee787}.rdp-section-label[data-v-03937a1b]{display:flex;align-items:center;gap:6px;margin:16px 0 6px;font:700 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--rdp-accent)}.rdp-section-label[data-v-03937a1b]:first-child{margin-top:0}.rdp-doc[data-v-03937a1b]{font-size:12px}.rdp-summary[data-v-03937a1b]{margin:0;font:13px/1.55 system-ui,sans-serif;color:#c9d1d9;white-space:pre-wrap;word-break:break-word}.rdp-tutorial[data-v-03937a1b],.rdp-json[data-v-03937a1b]{margin:0;padding:10px 12px;background:var(--rdp-bg);border:1px solid var(--rdp-subtle);border-radius:8px;font:11.5px/1.5 ui-monospace,monospace;color:#c9d1d9;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.rdp-tutorial[data-v-03937a1b]{color:#d5dbe2;white-space:pre-wrap}.rdp-json[data-v-03937a1b]{max-height:60vh;overflow-y:auto}.rdp-json[data-v-03937a1b]::-webkit-scrollbar,.rdp-tutorial[data-v-03937a1b]::-webkit-scrollbar{width:8px;height:8px}.rdp-json[data-v-03937a1b]::-webkit-scrollbar-thumb,.rdp-tutorial[data-v-03937a1b]::-webkit-scrollbar-thumb{background:var(--rdp-subtle);border-radius:4px}.rdp-json[data-v-03937a1b]::-webkit-scrollbar-thumb:hover,.rdp-tutorial[data-v-03937a1b]::-webkit-scrollbar-thumb:hover{background:var(--rdp-border)}@media (max-width: 520px){.rdp-sidebar[data-v-03937a1b]{width:100vw;max-width:100vw}.rdp-fullscreen[data-v-03937a1b]{padding:12px}}",Nd=["aria-label"],kd={class:"rdp-header"},Od={class:"rdp-eyebrow"},Sd=["title"],Cd={class:"rdp-actions"},Dd=["title","aria-label"],Vd={key:0,width:"13",height:"13",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true"},Ad={key:1,width:"13",height:"13",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true"},Td={class:"rdp-body"},$d={key:0,class:"rdp-fields"},Rd={class:"rdp-field"},Pd={class:"rdp-field"},Id={key:0,class:"rdp-mono rdp-cve"},Md={key:1,class:"rdp-dim"},jd={class:"rdp-field"},Fd={key:0,class:"rdp-verified"},Ld={key:1,class:"rdp-dim"},Hd={key:1,class:"rdp-fields"},Bd={class:"rdp-field"},Ud={key:0,class:"rdp-mono"},Wd={key:1,class:"rdp-dim"},Kd={class:"rdp-summary"},qd={class:"rdp-summary"},Gd={class:"rdp-tutorial"},zd={class:"rdp-json"},Jd=Xn({__name:"RowDetailPanel",props:{row:{type:Object,default:null},branch:{type:String,default:""},mode:{type:String,default:"sidebar"}},emits:["close","toggle-mode"],setup(e,{emit:t}){const n=e,o=t,s=Re(()=>n.branch==="cyber"),i=Re(()=>n.mode==="fullscreen"),r=Re(()=>({arch:"Architecture",build:"Build",cyber:"Cybersecurity"})[n.branch]||n.branch||"Detail"),a={critical:"#ff7b72",high:"#f0883e",medium:"#d29922",low:"#58a6ff",info:"#8b949e"};function c(A){return a[String(A||"").toLowerCase()]||"#8b949e"}const p=Re(()=>{var A;return((A=n.row)==null?void 0:A.title)||"Untitled row"}),f=Re(()=>{var w;const A=((w=n.row)==null?void 0:w.data)??n.row;try{return JSON.stringify(A,null,2)}catch{return String(A)}}),d=Re(()=>{var w;const A=(w=n.row)==null?void 0:w.tutorial;return A?typeof A=="string"?A:JSON.stringify(A,null,2):""});function m(A){A.key==="Escape"&&(A.stopPropagation(),o("close"))}$o(()=>window.addEventListener("keydown",m)),Ro(()=>window.removeEventListener("keydown",m));function k(){o("close")}return(A,w)=>e.row?(I(),F("div",{key:0,class:Be(["rdp-root",i.value?"rdp-fullscreen":"rdp-sidebar"])},[i.value?(I(),F("div",{key:0,class:"rdp-backdrop",onClick:k})):Se("",!0),g("div",{class:"rdp-panel",role:"dialog","aria-modal":"true","aria-label":`${r.value} row detail`},[g("div",kd,[g("span",Od,ie(r.value),1),g("h2",{class:"rdp-title",title:p.value},ie(p.value),9,Sd),g("div",Cd,[g("button",{type:"button",class:"rdp-icon-btn",title:i.value?"Dock to sidebar":"Expand to full screen","aria-label":i.value?"Dock to sidebar":"Expand to full screen",onClick:w[0]||(w[0]=te=>o("toggle-mode"))},[i.value?(I(),F("svg",Vd,[...w[2]||(w[2]=[g("path",{d:"M5.5 1.5V4.5H2.5M8.5 12.5V9.5H11.5M1.5 5.5H4.5V2.5M12.5 8.5H9.5V11.5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):(I(),F("svg",Ad,[...w[3]||(w[3]=[g("path",{d:"M2 5V2H5M9 2H12V5M12 9V12H9M5 12H2V9",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))],8,Dd),g("button",{type:"button",class:"rdp-icon-btn rdp-close",title:"Close","aria-label":"Close detail",onClick:w[1]||(w[1]=te=>o("close"))},[...w[4]||(w[4]=[g("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true"},[g("path",{d:"M2 2L10 10M10 2L2 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])])]),g("div",Td,[s.value?(I(),F("div",$d,[g("div",Rd,[w[5]||(w[5]=g("span",{class:"rdp-field-label"},"Severity",-1)),g("span",{class:"rdp-chip",style:Vt({color:c(e.row.severity),borderColor:c(e.row.severity),background:c(e.row.severity)+"22"})},ie(e.row.severity||"unknown"),5)]),g("div",Pd,[w[6]||(w[6]=g("span",{class:"rdp-field-label"},"CVE",-1)),e.row.cve?(I(),F("span",Id,ie(e.row.cve),1)):(I(),F("span",Md,"—"))]),g("div",jd,[w[7]||(w[7]=g("span",{class:"rdp-field-label"},"Verified",-1)),e.row.human_verified?(I(),F("span",Fd,"✓ Human-verified")):(I(),F("span",Ld,"Not yet verified"))])])):(I(),F("div",Hd,[g("div",Bd,[w[8]||(w[8]=g("span",{class:"rdp-field-label"},"Category",-1)),e.row.category?(I(),F("span",Ud,ie(e.row.category),1)):(I(),F("span",Wd,"—"))])])),!s.value&&e.row.summary?(I(),F(de,{key:2},[w[9]||(w[9]=g("div",{class:"rdp-section-label"},"Summary",-1)),g("p",Kd,ie(e.row.summary),1)],64)):Se("",!0),s.value&&e.row.summary?(I(),F(de,{key:3},[w[10]||(w[10]=g("div",{class:"rdp-section-label"},"Summary",-1)),g("p",qd,ie(e.row.summary),1)],64)):Se("",!0),s.value&&d.value?(I(),F(de,{key:4},[w[11]||(w[11]=g("div",{class:"rdp-section-label"},[g("span",{class:"rdp-doc","aria-hidden":"true"},"📄"),gt(" How to find / reproduce ")],-1)),g("pre",Gd,ie(d.value),1)],64)):Se("",!0),w[12]||(w[12]=g("div",{class:"rdp-section-label"},"Raw data (JSONB)",-1)),g("pre",zd,ie(f.value),1)])],8,Nd)],2)):Se("",!0)}},[["styles",[Ed]],["__scopeId","data-v-03937a1b"]]),es=["critical","high","medium","low","info"];function Yd(e){for(const t of es)if(e.some(n=>n.severity===t))return t;return null}function Zn(e,t){return{id:`${e}:arch`,type:"branch",branch:"arch",label:"Architecture",count:t.length,rows:t}}function Qn(e,t){return{id:`${e}:build`,type:"branch",branch:"build",label:"Build",count:t.length,rows:t}}function eo(e,t){return{id:`${e}:cyber`,type:"branch",branch:"cyber",label:"Cybersecurity",count:t.length,rows:t}}const Ce="magic-link/audit-2026-07-11",Xd=[{id:`${Ce}:arch:frontend-ocf-form`,category:"Frontend",title:"Public magic-link form (OCF shortcode render)",summary:"Vue-less jQuery form injected via [magic_link] shortcode; posts to admin-ajax.",data:{file:"magic-link.php",lines:"120-188",layer:"Frontend",render_path:"do_shortcode([magic_link]) -> ML_Public::render_form()",framework:"jQuery 3.6 (bundled) + wp.template",state_container:"none (server-rendered)",inputs:["contact_id (hidden)","link_token (query arg)"],outputs:["profile field editor","submit -> admin-ajax action=magic_link_save"],notes:"No client-side framework; all trust decisions happen server-side in the ajax handler. Form is reachable unauthenticated by design (that is the point of a magic link)."}},{id:`${Ce}:arch:api-admin-ajax`,category:"API-Connectors",title:"admin-ajax connector (nopriv save handler)",summary:"wp_ajax_nopriv_magic_link_save routes anonymous writes into DT_Post::update().",data:{file:"magic-link-endpoints.php",lines:"44-131",layer:"API-Connectors",transport:"admin-ajax.php (application/x-www-form-urlencoded)",actions:["magic_link_save","magic_link_load"],auth_model:"token-in-body -> ML_Token::verify() before DT_Post write",downstream:"Disciple_Tools_Posts::update_post()",notes:"Connector correctly re-verifies the token on every call rather than trusting a cookie/session."}},{id:`${Ce}:arch:backend-token-svc`,category:"Backend",title:"Token service (issue / verify / expire)",summary:"HMAC-signed opaque tokens with a 72h TTL persisted in postmeta.",data:{file:"includes/class-ml-token.php",lines:"1-210",layer:"Backend",algorithm:"HMAC-SHA256 over (contact_id|nonce|expiry), key = wp_salt(auth)",storage:"postmeta key _ml_token_hash (hash only, never the raw token)",ttl_hours:72,rotation:"single-use flag cleared on first successful save",notes:"Verify path is constant-time (hash_equals). Good."}},{id:`${Ce}:arch:data-model-contact`,category:"Data-Model",title:"Contact record & field allow-list",summary:"Server-side allow-list restricts which DT fields a magic link may edit.",data:{file:"includes/magic-link-fields.php",lines:"12-96",layer:"Data-Model",entity:"contacts (Disciple.Tools post type)",editable_fields:["name","phone","email","preferred_contact_method"],protected_fields:["assigned_to","sources","record_type","location_grid"],enforcement:"array_intersect_key() against $allowed before update_post()",notes:"Allow-list is defined server-side, not derived from the submitted form — correct."}}],Zd=[{id:`${Ce}:build:bundling`,category:"Bundling",title:"No build step — hand-authored assets",summary:"Ships raw JS/CSS; no webpack/vite. Assets enqueued directly.",data:{file:"magic-link.php",lines:"30-58",area:"Bundling",toolchain:"none (wp_enqueue_script of static files)",minified:!1,source_maps:!1,risk:"low",notes:"Simplicity over optimization; nothing to tamper with in a bundler config."}},{id:`${Ce}:build:deps`,category:"Dependencies",title:"Composer + bundled jQuery",summary:"firebase/php-jwt pinned; jQuery vendored at 3.6.0.",data:{file:"composer.json",lines:"1-40",area:"Dependencies",php:{"firebase/php-jwt":"6.10.0"},js_vendored:{jquery:"3.6.0"},lockfile_present:!0,known_advisories:0,notes:"php-jwt is current. jQuery 3.6 has no open high advisories as bundled."}},{id:`${Ce}:build:ci`,category:"CI",title:"GitHub Actions: PHPCS + WP compat",summary:"Lints against WordPress-Extra ruleset; no automated release signing.",data:{file:".github/workflows/ci.yml",lines:"1-72",area:"CI",jobs:["phpcs (WordPress-Extra)","php 7.4/8.1/8.2 matrix","plugin-check"],release_signing:!1,artifact_provenance:"none",notes:"CI catches style + WP-compat but does not run a SAST pass."}}],Qd=[{id:`${Ce}:cyber:token-ttl`,severity:"medium",title:"Magic-link token TTL (72h) longer than necessary",cve:null,human_verified:!1,tutorial:null,summary:"A leaked link stays valid for three days; single-use mitigates but window is wide.",data:{file:"includes/class-ml-token.php",line:58,cwe:"CWE-613",cwe_name:"Insufficient Session Expiration",description:"Tokens are valid for 72 hours. If a magic-link URL is forwarded, indexed, or captured in a referrer, it remains usable for the full window until first save.",evidence:"define('ML_TOKEN_TTL', 72 * HOUR_IN_SECONDS);",impact:"Extended window for link replay if the URL leaks before the recipient uses it.",recommendation:'Reduce TTL to 24h and add an explicit "link used" audit-log entry.',references:["https://cwe.mitre.org/data/definitions/613.html"]}},{id:`${Ce}:cyber:verbose-error`,severity:"low",title:"Verbose token-verification error leaks validity state",cve:null,human_verified:!1,tutorial:null,summary:'Distinct messages for "expired" vs "invalid" let an attacker classify tokens.',data:{file:"magic-link-endpoints.php",line:71,cwe:"CWE-209",cwe_name:"Generation of Error Message Containing Sensitive Information",description:'The nopriv handler returns "token expired" vs "token invalid" as separate strings, a small oracle that distinguishes a well-formed-but-expired token from a malformed one.',evidence:"wp_send_json_error(['msg' => $expired ? 'token expired' : 'token invalid']);",impact:"Minor information disclosure; aids token-guessing reconnaissance.",recommendation:'Return a single generic "invalid or expired link" message.',references:["https://cwe.mitre.org/data/definitions/209.html"]}},{id:`${Ce}:cyber:rate-limit`,severity:"info",title:"No rate limiting on token-verify endpoint",cve:null,human_verified:!1,tutorial:null,summary:"admin-ajax verify accepts unlimited attempts; HMAC space makes brute force impractical.",data:{file:"magic-link-endpoints.php",line:49,cwe:"CWE-307",cwe_name:"Improper Restriction of Excessive Authentication Attempts",description:"There is no throttling on magic_link_load/save. The 256-bit HMAC keyspace makes online brute force infeasible, so this is informational, but a throttle is defense in depth.",evidence:"no transient/IP counter around ML_Token::verify()",impact:"Negligible given keyspace; noted for completeness.",recommendation:"Add a per-IP transient counter (e.g. 30/min) to reduce endpoint noise.",references:["https://cwe.mitre.org/data/definitions/307.html"]}}],eu={id:Ce,type:"audit",label:"Audit · 2026-07-11 (v3 agent cluster)",isLatest:!0,stats:{started_at:"2026-07-11T09:12:04.000Z",ended_at:"2026-07-11T09:41:37.000Z",duration_ms:1773e3,agents:6,tokens:812440,files:47,archArtifacts:0,buildComplexity:2,vulns:0},children:[Zn(Ce,Xd),Qn(Ce,Zd),eo(Ce,Qd)]},tu={id:"plugin/magic-link",type:"plugin",label:"Magic Link",stats:{audits:0,vulns:0,humanVerified:0,topSeverity:null},children:[eu]},ut="share-app/audit-2026-05-02",nu=[{id:`${ut}:arch:frontend-share-sheet`,category:"Frontend",title:"Share sheet (contact hand-off UI)",summary:"Modal that generates a shareable magic link for a contact.",data:{file:"share-app.php",lines:"90-160",layer:"Frontend",framework:"vanilla JS + wp.template",notes:"Early build; superseded by the 2026-07 audit which covers the OCF endpoint too."}},{id:`${ut}:arch:api-rest-share`,category:"API-Connectors",title:"REST route /share-app/v1/link",summary:"Authenticated REST route mints a share link.",data:{file:"includes/rest-share.php",lines:"20-88",layer:"API-Connectors",transport:"WP REST",permission_callback:"current_user_can(access_contacts)",notes:"This authed route is fine; the unauth OCF path (found later) is the problem."}}],ou=[{id:`${ut}:build:bundling`,category:"Bundling",title:"Webpack 5 bundle (legacy config)",summary:"Single vendor+app bundle; no code splitting.",data:{file:"webpack.config.js",lines:"1-64",area:"Bundling",toolchain:"webpack 5",code_splitting:!1,notes:"Superseded by the 2026-07 build analysis."}},{id:`${ut}:build:deps`,category:"Dependencies",title:"npm deps with 1 moderate advisory",summary:"A transitive lodash.template advisory flagged (moderate).",data:{file:"package-lock.json",lines:"1-1",area:"Dependencies",known_advisories:1,advisory:"GHSA-35jh-r3h4-6jhm (lodash.template) — moderate",notes:"Resolved before the 2026-07 audit."}}],su=[{id:`${ut}:cyber:missing-nonce`,severity:"high",title:"Share-sheet AJAX missing nonce verification",cve:null,human_verified:!0,tutorial:"Open the share modal as a logged-in user and submit it while capturing the request. Note the admin-ajax action has no _wpnonce field and the handler never calls check_ajax_referer(). Craft a cross-site form that auto-submits the same action to admin-ajax.php; a logged-in victim visiting the page mints a share link involuntarily (CSRF).",summary:"CSRF on the share action — no nonce checked server-side (fixed in later build).",data:{file:"includes/ajax-share.php",line:41,cwe:"CWE-352",cwe_name:"Cross-Site Request Forgery",description:"The share AJAX handler performed the mint action without check_ajax_referer(), so a logged-in user could be tricked into generating a share link cross-site.",evidence:"// TODO: add nonce (handler proceeds straight to mint_link())",impact:"Involuntary share-link creation for a logged-in victim.",recommendation:"check_ajax_referer('share_app', '_wpnonce') before minting.",status:"fixed in 1.4.0 (verified absent in 2026-07 audit)",references:["https://cwe.mitre.org/data/definitions/352.html"]}}],iu={id:ut,type:"audit",label:"Audit · 2026-05-02 (v2 cluster) — superseded",isLatest:!1,stats:{started_at:"2026-05-02T14:03:11.000Z",ended_at:"2026-05-02T14:19:52.000Z",duration_ms:1001e3,agents:4,tokens:421900,files:33,archArtifacts:0,buildComplexity:3,vulns:0},children:[Zn(ut,nu),Qn(ut,ou),eo(ut,su)]},ge="share-app/audit-2026-07-12",ru=[{id:`${ge}:arch:frontend-ocf`,category:"Frontend",title:"OCF (open contact form) public endpoint",summary:"Unauthenticated public form that renders a contact + its recent activity.",data:{file:"magic-link-ocf.php",lines:"210-340",layer:"Frontend",framework:"server-rendered PHP + light jQuery",reachability:"public (nopriv) by design",renders:["contact fields","recent location history (map pins)"],notes:"This is the surface behind the crown-jewel finding: it renders location history for a post_id taken from the request. See the cyber branch, critical row."}},{id:`${ge}:arch:frontend-share-sheet`,category:"Frontend",title:"Share sheet (contact hand-off UI)",summary:"Modal that generates a shareable magic link for a contact.",data:{file:"share-app.php",lines:"90-160",layer:"Frontend",framework:"vanilla JS + wp.template",notes:"Unchanged from the 2026-05 audit; carried forward for completeness."}},{id:`${ge}:arch:api-ocf-loader`,category:"API-Connectors",title:"OCF data loader (check_permissions=false path)",summary:"Loads contact + activity for the OCF view WITHOUT a permission check.",data:{file:"magic-link-ocf.php",lines:"288-312",layer:"API-Connectors",transport:"admin-ajax nopriv + query var post_id",auth_model:"NONE on the location-history read (the defect)",downstream:"DT_Posts::get_post($type, $post_id, false /* check_permissions */)",notes:"The connector forwards an attacker-controlled post_id into a privileged read with permission checking disabled. This is the mechanism of the IDOR."}},{id:`${ge}:arch:api-rest-share`,category:"API-Connectors",title:"REST route /share-app/v1/link",summary:"Authenticated REST route mints a share link.",data:{file:"includes/rest-share.php",lines:"20-88",layer:"API-Connectors",transport:"WP REST",permission_callback:"current_user_can(access_contacts)",notes:"Authed route is fine."}},{id:`${ge}:arch:backend-activity-svc`,category:"Backend",title:"Activity/location-history service",summary:"Aggregates a contacts recorded location pings for the map view.",data:{file:"includes/class-activity.php",lines:"40-190",layer:"Backend",returns:"array of { lat, lng, recorded_at, source }",privacy_class:"sensitive (physical location over time)",access_expectation:"only assigned users / dispatchers",notes:"The service itself is not the bug; the bug is that the OCF loader calls it with permission checks off for an unauthenticated visitor."}},{id:`${ge}:arch:data-model-contact`,category:"Data-Model",title:"Contact + location_history relation",summary:"contacts 1—* location_history; history is high-sensitivity PII.",data:{file:"includes/schema-notes.md",lines:"1-40",layer:"Data-Model",entities:["contacts","location_history"],sensitivity:{location_history:"high — physical-safety relevant"},notes:"Sequential/guessable post IDs make the IDOR trivially enumerable."}}],au=[{id:`${ge}:build:bundling`,category:"Bundling",title:"Vite 5 migration (from webpack)",summary:"Now built with Vite 5; app + vendor split, sourcemaps in dev only.",data:{file:"vite.config.js",lines:"1-58",area:"Bundling",toolchain:"vite 5",code_splitting:!0,source_maps:"dev only",notes:"Improved over the 2026-05 webpack config."}},{id:`${ge}:build:deps`,category:"Dependencies",title:"npm deps — clean audit",summary:"Prior lodash.template advisory resolved; 0 open advisories.",data:{file:"package-lock.json",lines:"1-1",area:"Dependencies",known_advisories:0,previously:"GHSA-35jh-r3h4-6jhm (resolved)",notes:"Dependency hygiene improved since the last audit."}},{id:`${ge}:build:ci`,category:"CI",title:"CI adds Semgrep SAST gate",summary:"Semgrep runs on PR; the OCF finding predates the rule that would catch it.",data:{file:".github/workflows/ci.yml",lines:"1-96",area:"CI",jobs:["eslint","phpcs","semgrep (p/php + custom)","build"],gap:"no rule flags DT_Posts::get_post(..., false) with a request-derived id",notes:"Recommend a custom Semgrep rule for check_permissions=false on request input."}},{id:`${ge}:build:shadow-dom`,category:"Shadow-DOM",title:"Map widget mounts in an open shadow root",summary:"Leaflet map isolated in shadow DOM; styles injected via adoptedStyleSheets.",data:{file:"assets/js/ocf-map.js",lines:"12-140",area:"Shadow-DOM",mode:"open",style_injection:"adoptedStyleSheets",leakage:"none observed",notes:"Encapsulation is clean; no style bleed into the host page."}}],lu=[{id:`${ge}:cyber:ocf-location-idor`,severity:"critical",title:"Unauthenticated location-history IDOR (physical-safety leak)",cve:null,human_verified:!0,tutorial:"1) Find the magic-link OCF endpoint: request the public form, e.g. admin-ajax.php?action=magic_link_ocf&post_id=1234 (also reachable via the [magic_link_ocf] shortcode page). 2) Read magic-link-ocf.php around lines 288312 and note the call DT_Posts::get_post('contacts', $post_id, false) — the third argument, check_permissions, is FALSE, so no capability or assignment check runs. 3) Observe that $post_id comes straight from the request ($_GET['post_id']) and is attacker-controlled and not bound to the magic-link tokens own contact. 4) Increment/guess post_id to a DIFFERENT contact you were never granted and reload; the response includes that contacts recent location history (map pins with timestamps). You have just retrieved another persons physical whereabouts over time with no authentication — a physical-safety leak.",summary:"The OCF loader calls DT_Posts::get_post() with check_permissions=false on an attacker-controlled post_id, exposing any contacts location history unauthenticated.",data:{file:"magic-link-ocf.php",lines:"295-305",line:299,cwe:"CWE-639",cwe_name:"Authorization Bypass Through User-Controlled Key (IDOR)",also:["CWE-284 Improper Access Control","CWE-200 Exposure of Sensitive Information"],severity_rationale:"Unauthenticated + trivially enumerable + discloses time-series physical location of real people. Physical-safety impact elevates this to critical.",description:"magic-link-ocf.php builds the OCF view by reading the contact for a request-supplied post_id with WordPress/DT permission checks explicitly disabled. Because post_id is not constrained to the contact bound to the presented magic-link token, any visitor can substitute an arbitrary (guessable, sequential) post_id and read that contacts location_history — the recorded latitude/longitude pings and timestamps.",evidence:["$post_id = isset($_GET['post_id']) ? intval($_GET['post_id']) : 0; // line 296","$contact = DT_Posts::get_post('contacts', $post_id, false); // line 299 (check_permissions = false)","echo render_location_history($contact['location_history']); // line 304"],request_example:"GET /wp-admin/admin-ajax.php?action=magic_link_ocf&post_id=1042 (no auth, no valid token bound to 1042)",affected_data:["location_history[].lat","location_history[].lng","location_history[].recorded_at"],impact:"Mass, unauthenticated disclosure of contacts physical location over time. For a ministry operating among vulnerable or hostile-context populations this is a direct physical-safety risk, not merely a privacy issue.",recommendation:"Bind the read to the tokens contact_id (never trust request post_id), and call DT_Posts::get_post('contacts', $token_contact_id, true) with check_permissions=true. Additionally strip location_history from the OCF projection entirely — the public form has no need to render it.",remediation_steps:["Reject any post_id that does not match the token-bound contact_id.","Set check_permissions = true on every DT_Posts::get_post() reachable from nopriv.","Remove location_history from the OCF field allow-list.","Add a Semgrep rule banning get_post(..., false) on request-derived ids.","Rotate/expire outstanding OCF links and review access logs for enumeration."],verification:"Human-verified 2026-07-12 against a seeded staging dataset: retrieved location history for three contacts the test identity was never assigned to, using only guessed post_ids.",exploitability:"trivial (unauthenticated, no token binding, sequential ids)",references:["https://cwe.mitre.org/data/definitions/639.html","https://owasp.org/Top10/A01_2021-Broken_Access_Control/"]}},{id:`${ge}:cyber:ocf-no-authz-fields`,severity:"high",title:"OCF projection exposes protected contact fields",cve:null,human_verified:!0,tutorial:"Load the OCF view for a valid link and inspect the rendered HTML/JSON. Note fields such as assigned_to and sources appear even though the field allow-list was meant to hide them. Confirm render_ocf() spreads the whole $contact array instead of intersecting with an allow-list, so protected fields leak to the unauthenticated viewer.",summary:"OCF renders the full contact array rather than an allow-listed subset.",data:{file:"magic-link-ocf.php",line:318,cwe:"CWE-213",cwe_name:"Exposure of Sensitive Information Due to Incompatible Policies",description:"render_ocf() iterates the entire $contact array to build the view, so protected fields (assigned_to, sources, record_type) are disclosed to unauthenticated viewers.",evidence:"foreach ($contact as $k => $v) { echo field_row($k, $v); }",impact:"Discloses internal assignment/source metadata about a contact.",recommendation:"Intersect the projection with an explicit public allow-list before render.",references:["https://cwe.mitre.org/data/definitions/213.html"]}},{id:`${ge}:cyber:reflected-xss`,severity:"medium",title:"Reflected XSS via unescaped OCF status message",cve:null,human_verified:!1,tutorial:null,summary:"The status query arg is echoed without esc_html().",data:{file:"magic-link-ocf.php",line:262,cwe:"CWE-79",cwe_name:"Improper Neutralization of Input During Web Page Generation (XSS)",description:"The OCF template echoes $_GET['status'] into a banner without escaping, allowing reflected script injection in the unauthenticated view.",evidence:`echo '<div class="ml-status">' . $_GET['status'] . '</div>';`,impact:"Script execution in a victims browser via a crafted OCF link.",recommendation:"Wrap with esc_html() and constrain status to a known enum.",references:["https://cwe.mitre.org/data/definitions/79.html"]}},{id:`${ge}:cyber:cookie-flags`,severity:"low",title:"Session cookie missing SameSite attribute",cve:null,human_verified:!1,tutorial:null,summary:"Auxiliary share cookie set without SameSite; Secure/HttpOnly present.",data:{file:"includes/class-share-session.php",line:77,cwe:"CWE-1275",cwe_name:"Sensitive Cookie with Improper SameSite Attribute",description:"The share_state cookie sets Secure and HttpOnly but omits SameSite, weakening CSRF defense in depth for the share flow.",evidence:"setcookie('share_state', $v, ['secure'=>true,'httponly'=>true]);",impact:"Marginally weaker CSRF posture on the share cookie.",recommendation:"Add 'samesite' => 'Lax' (or 'Strict').",references:["https://cwe.mitre.org/data/definitions/1275.html"]}},{id:`${ge}:cyber:autoload-info`,severity:"info",title:"Debug logging of contact ids in production path",cve:null,human_verified:!1,tutorial:null,summary:"error_log() emits contact ids when WP_DEBUG is on.",data:{file:"magic-link-ocf.php",line:331,cwe:"CWE-532",cwe_name:"Insertion of Sensitive Information into Log File",description:'A leftover error_log("ocf load $post_id") fires when WP_DEBUG is enabled, placing contact ids in debug.log.',evidence:"error_log('ocf load ' . $post_id);",impact:"Low; only with WP_DEBUG on, but ids in logs aid enumeration.",recommendation:"Remove the debug statement or gate behind a dedicated verbose flag.",references:["https://cwe.mitre.org/data/definitions/532.html"]}}],cu={id:ge,type:"audit",label:"Audit · 2026-07-12 (v3 cluster) — latest",isLatest:!0,stats:{started_at:"2026-07-12T16:20:41.000Z",ended_at:"2026-07-12T17:14:09.000Z",duration_ms:3208e3,agents:8,tokens:1284500,files:61,archArtifacts:0,buildComplexity:4,vulns:0},children:[Zn(ge,ru),Qn(ge,au),eo(ge,lu)]},du={id:"plugin/share-app",type:"plugin",label:"Share App",stats:{audits:0,vulns:0,humanVerified:0,topSeverity:null},children:[cu,iu]},Ee="genmapper/audit-2026-06-28",uu=[{id:`${Ee}:arch:frontend-svg-tree`,category:"Frontend",title:"SVG generational-tree renderer",summary:"D3-driven SVG that renders disciple-making movement generations.",data:{file:"src/render/tree.js",lines:"1-260",layer:"Frontend",framework:"D3 v7 + custom layout",inputs:["CSV/GSheet import","in-app node editor"],notes:"Pure client-side rendering; no PII leaves the browser during layout."}},{id:`${Ee}:arch:api-sheets`,category:"API-Connectors",title:"Google Sheets import connector",summary:"OAuth read-only import of a movement spreadsheet.",data:{file:"src/io/sheets.js",lines:"18-140",layer:"API-Connectors",transport:"Google Sheets API (read-only scope)",auth_model:"OAuth (drive.readonly)",notes:"Scope is minimal (read-only). Token stored in memory, not localStorage."}},{id:`${Ee}:arch:backend-store`,category:"Backend",title:"IndexedDB local store",summary:"Movement data persisted client-side in IndexedDB; optional sync.",data:{file:"src/store/idb.js",lines:"1-120",layer:"Backend",storage:"IndexedDB (per-origin)",sync:"optional, user-initiated",notes:"Local-first design keeps sensitive movement data off shared servers by default."}},{id:`${Ee}:arch:data-model-generation`,category:"Data-Model",title:"Generation / node relational model",summary:"nodes self-reference parent_id to form the generational tree.",data:{file:"src/model/schema.js",lines:"1-72",layer:"Data-Model",entity:"node { id, parent_id, name, generation, status }",integrity:"cycle-guard on parent assignment",notes:"Self-referential tree with a cycle guard; clean."}}],fu=[{id:`${Ee}:build:bundling`,category:"Bundling",title:"Vite 5 + PWA plugin",summary:"Installable PWA; service worker precaches the app shell.",data:{file:"vite.config.js",lines:"1-80",area:"Bundling",toolchain:"vite 5 + vite-plugin-pwa",offline:!0,source_maps:"hidden (uploaded to error tracker only)",notes:"Solid modern build; offline support is a real feature not an afterthought."}},{id:`${Ee}:build:deps`,category:"Dependencies",title:"npm deps — 1 low advisory (dev only)",summary:"A dev-only postcss advisory; not shipped to users.",data:{file:"package-lock.json",lines:"1-1",area:"Dependencies",known_advisories:1,advisory:"postcss <8.4.31 (dev dependency, not bundled) — low",notes:"Dev-only; no runtime exposure. Bump at convenience."}},{id:`${Ee}:build:ci`,category:"CI",title:"CI: vitest + Playwright e2e",summary:"Unit + e2e gates on PR; Lighthouse budget enforced.",data:{file:".github/workflows/ci.yml",lines:"1-110",area:"CI",jobs:["vitest","playwright e2e","lighthouse-ci (budget)"],release_signing:!1,notes:"Strong test coverage; add SBOM generation for supply-chain provenance."}},{id:`${Ee}:build:shadow-dom`,category:"Shadow-DOM",title:"Embeddable widget in closed shadow root",summary:"The embeddable tree widget isolates styles in a closed shadow root.",data:{file:"src/embed/widget.js",lines:"1-96",area:"Shadow-DOM",mode:"closed",style_injection:"constructable stylesheet",notes:"Closed mode limits host tampering; good isolation for a third-party embed."}}],pu=[{id:`${Ee}:cyber:oauth-token-mem`,severity:"medium",title:"OAuth token retained in memory after import",cve:null,human_verified:!1,tutorial:null,summary:"The Sheets OAuth token lingers in a module variable past the import.",data:{file:"src/io/sheets.js",line:61,cwe:"CWE-522",cwe_name:"Insufficiently Protected Credentials",description:"After a successful import the access token remains referenced in a module-scope variable, extending its exposure window to any later XSS in the same origin.",evidence:"let cachedToken = null; // never cleared after import completes",impact:"Widens the blast radius of an unrelated XSS to include the Sheets token.",recommendation:"Null the token immediately after the import promise resolves.",references:["https://cwe.mitre.org/data/definitions/522.html"]}},{id:`${Ee}:cyber:csv-formula`,severity:"medium",title:"CSV export formula injection",cve:null,human_verified:!0,tutorial:'Create a node whose name begins with = (e.g. =HYPERLINK("http://evil","click")). Export the movement to CSV and open it in Excel/Sheets: the leading = causes the cell to be interpreted as a formula. Confirm the export path writes the field verbatim without prefixing a guard character (like a single quote or tab), enabling CSV/formula injection downstream.',summary:"Node names starting with = / + / - are exported as live spreadsheet formulas.",data:{file:"src/io/export-csv.js",line:34,cwe:"CWE-1236",cwe_name:"Improper Neutralization of Formula Elements in a CSV File",description:"Exported node names are written to CSV without neutralizing leading formula characters (=, +, -, @), so a crafted name executes as a formula when the file is opened.",evidence:"row.push(node.name); // no leading-char guard",impact:"Formula injection / data exfiltration when a victim opens the export.",recommendation:"Prefix cells beginning with =+-@ with a tab or single quote before writing.",references:["https://cwe.mitre.org/data/definitions/1236.html"]}},{id:`${Ee}:cyber:sw-cache-info`,severity:"info",title:"Service worker caches API responses without max-age",cve:null,human_verified:!1,tutorial:null,summary:"Precache lacks an explicit expiration; stale movement data may persist.",data:{file:"vite.config.js",line:52,cwe:"CWE-525",cwe_name:"Use of Web Browser Cache Containing Sensitive Information",description:"The PWA runtime caching rule for API responses omits an expiration/max-age, so sensitive movement data can linger in the cache on a shared device.",evidence:'runtimeCaching: [{ urlPattern: /\\/api\\//, handler: "CacheFirst" }]',impact:"Sensitive data persistence on shared devices; informational.",recommendation:"Use StaleWhileRevalidate with an ExpirationPlugin (short maxAgeSeconds).",references:["https://cwe.mitre.org/data/definitions/525.html"]}}],hu={id:Ee,type:"audit",label:"Audit · 2026-06-28 (v3 cluster)",isLatest:!0,stats:{started_at:"2026-06-28T11:05:33.000Z",ended_at:"2026-06-28T11:44:58.000Z",duration_ms:2365e3,agents:7,tokens:976300,files:54,archArtifacts:0,buildComplexity:3,vulns:0},children:[Zn(Ee,uu),Qn(Ee,fu),eo(Ee,pu)]},mu={id:"plugin/genmapper",type:"plugin",label:"GenMapper",stats:{audits:0,vulns:0,humanVerified:0,topSeverity:null},children:[hu]};function ts(e,t){return e.children.find(n=>n.branch===t)}function gu(e){const t=ts(e,"arch"),n=ts(e,"cyber"),o=n?n.rows:[];return e.stats.archArtifacts=t?t.rows.length:0,e.stats.vulns=o.length,{vulns:o.length,humanVerified:o.filter(s=>s.human_verified).length,cyberRows:o}}function vu(e){let t=0,n=0;const o=[];for(const s of e.children){const i=gu(s);s.isLatest&&(t=i.vulns,n=i.humanVerified,o.length=0,o.push(...i.cyberRows))}if(!e.children.some(s=>s.isLatest)){for(const s of e.children){const i=ts(s,"cyber");i&&o.push(...i.rows)}t=o.length,n=o.filter(s=>s.human_verified).length}return e.stats.audits=e.children.length,e.stats.vulns=t,e.stats.humanVerified=n,e.stats.topSeverity=Yd(o),e}const bu=[tu,du,mu].map(vu);function cr(e){const t=es.indexOf(e);return t===-1?es.length:t}const _u=bu.slice().sort((e,t)=>{const n=(t.stats.humanVerified>0?1:0)-(e.stats.humanVerified>0?1:0);if(n!==0)return n;const o=cr(e.stats.topSeverity)-cr(t.stats.topSeverity);return o!==0?o:(t.stats.vulns||0)-(e.stats.vulns||0)}),dr={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_ABC_USE_FIXTURES:"0"},ur="abc_dev_token";function fr(e){try{const t=typeof{url:Ct&&Ct.tagName.toUpperCase()==="SCRIPT"&&Ct.src||new URL("abc-audit.iife.js",document.baseURI).href}<"u"&&{url:Ct&&Ct.tagName.toUpperCase()==="SCRIPT"&&Ct.src||new URL("abc-audit.iife.js",document.baseURI).href}&&dr?dr:void 0;return t?t[e]:void 0}catch{return}}function pr(e){try{return typeof window>"u"?void 0:window[e]}catch{return}}function yu(){const e=pr("__ABC_USE_FIXTURES__");return e!=null?String(e)!=="0":fr("VITE_ABC_USE_FIXTURES")!=="0"}function wu(){const e=pr("__ABC_API_URL__");return e?String(e):fr("VITE_ABC_API_URL")||"http://localhost:8787"}function xu(){try{return typeof localStorage>"u"?"":localStorage.getItem(ur)||""}catch{return""}}function Eu(e){try{if(typeof structuredClone=="function")return structuredClone(e)}catch{}return JSON.parse(JSON.stringify(e))}async function Nu(){if(yu())return Eu(_u);const e=wu(),t=xu(),n={Accept:"application/json"};t&&(n.Authorization=`Bearer ${t}`);const o=await fetch(`${e}/api/tree`,{headers:n});if(o.status===401||o.status===403)throw Object.assign(new Error("unauthenticated"),{status:o.status});if(!o.ok)throw Object.assign(new Error("tree request failed"),{status:o.status});return await o.json()}const ku=".abc-app[data-v-ff06078e]{height:100vh;display:flex;flex-direction:column;background:#0d1117;color:#e6edf3;font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}.abc-header[data-v-ff06078e]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid #21262d;background:#161b22;flex-wrap:wrap}.abc-brand[data-v-ff06078e]{display:flex;align-items:center;gap:12px;min-width:0}.abc-badge[data-v-ff06078e]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#3b463d;border:1px solid #73a17f;color:#fff;font:700 13px ui-monospace,monospace;letter-spacing:.06em;flex-shrink:0}.abc-brand-text h1[data-v-ff06078e]{margin:0;font-size:16px;font-weight:700}.abc-brand-text p[data-v-ff06078e]{margin:2px 0 0;font-size:11px;color:#8b949e}.abc-refresh[data-v-ff06078e],.abc-retry[data-v-ff06078e]{background:#21262d;border:1px solid #30363d;color:#c9d1d9;border-radius:6px;padding:7px 14px;font:600 12px ui-monospace,monospace;cursor:pointer;transition:color .12s,background .12s,border-color .12s}.abc-refresh[data-v-ff06078e]:hover:not(:disabled),.abc-retry[data-v-ff06078e]:hover{color:#fff;background:#2a3038;border-color:#73a17f}.abc-refresh[data-v-ff06078e]:disabled{opacity:.6;cursor:default}.abc-banner[data-v-ff06078e]{flex-shrink:0;padding:5px 20px;background:#73a17f14;border-bottom:1px solid rgba(115,161,127,.2);font:10.5px ui-monospace,monospace;color:#8b949e;text-align:center}.abc-main[data-v-ff06078e]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.abc-tree-wrap[data-v-ff06078e]{flex:1;min-height:0;display:flex;overflow:hidden}.abc-tree-wrap[data-v-ff06078e]>*{flex:1;min-width:0}.abc-note[data-v-ff06078e]{margin:auto;max-width:460px;padding:28px 24px;color:#adbac7;font-size:13px;text-align:center}.abc-note strong[data-v-ff06078e]{color:#e6edf3;display:block;margin-bottom:4px;font-size:15px}.abc-note p[data-v-ff06078e]{margin:8px 0 0;color:#8b949e}.abc-note-auth strong[data-v-ff06078e]{color:#d5a642}.abc-note-error strong[data-v-ff06078e]{color:#e5534b}.abc-hint[data-v-ff06078e]{font-size:12px}.abc-note code[data-v-ff06078e],.abc-footer code[data-v-ff06078e],.abc-banner code[data-v-ff06078e]{background:#0d1117;border:1px solid #21262d;border-radius:4px;padding:1px 5px;font:11px ui-monospace,monospace;color:#c9d1d9}.abc-retry[data-v-ff06078e]{margin-top:14px}.abc-spinner[data-v-ff06078e]{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px;border-radius:50%;border:2px solid rgba(115,161,127,.25);border-top-color:#73a17f;animation:abc-spin-ff06078e .7s linear infinite}@keyframes abc-spin-ff06078e{to{transform:rotate(360deg)}}.abc-footer[data-v-ff06078e]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 20px;border-top:1px solid #21262d;background:#161b22;font:10.5px ui-monospace,monospace;color:#6e7681}",Ou={class:"abc-app"},Su={class:"abc-header"},Cu=["disabled"],Du={class:"abc-main"},Vu={key:0,class:"abc-note"},Au={key:1,class:"abc-note abc-note-auth"},Tu={key:2,class:"abc-note abc-note-error"},$u={key:3,class:"abc-note"},Ru={key:4,class:"abc-tree-wrap"},Pu={class:"abc-footer"},Iu=Xn({__name:"App",setup(e){const t=wt([]),n=wt(!0),o=wt(null),s=wt(!1),i=wt(null),r=wt("sidebar");async function a(){n.value=!0,o.value=null,s.value=!1;try{t.value=await Nu()}catch(d){d&&(d.status===401||d.status===403)?(s.value=!0,t.value=[]):(o.value=d&&d.message||"Could not load the audit tree. Is the ABC API running?",t.value=[])}finally{n.value=!1}}$o(a);function c(d){i.value=d}function p(){i.value=null}function f(){r.value=r.value==="sidebar"?"fullscreen":"sidebar"}return(d,m)=>(I(),F("div",Ou,[g("header",Su,[m[0]||(m[0]=g("div",{class:"abc-brand"},[g("span",{class:"abc-badge"},"ABC"),g("div",{class:"abc-brand-text"},[g("h1",null,"ABC Audit"),g("p",null,"Architecture · Build · Cybersecurity — sovereign audit snapshots")])],-1)),g("button",{class:"abc-refresh",disabled:n.value,onClick:a},ie(n.value?"Loading…":"Refresh"),9,Cu)]),Se("",!0),g("main",Du,[n.value?(I(),F("div",Vu,[...m[2]||(m[2]=[g("span",{class:"abc-spinner","aria-hidden":"true"},null,-1),gt(" Loading audit tree… ",-1)])])):s.value?(I(),F("div",Au,[...m[3]||(m[3]=[g("strong",null,"You're not signed in.",-1),g("p",null," ABC Audit is a private, per-team service. Sign in through the app-shell (OAuth) to get your key into the service — that login is a separate card. ",-1),g("p",{class:"abc-hint"},[gt(" Dev shortcut: paste a JWT into "),g("code",null,"localStorage['abc_dev_token']"),gt(" and press Refresh. ")],-1)])])):o.value?(I(),F("div",Tu,[m[4]||(m[4]=g("strong",null,"Couldn't load the audit tree.",-1)),g("p",null,ie(o.value),1),g("button",{class:"abc-retry",onClick:a},"Try again")])):t.value.length?(I(),F("div",Ru,[je(xd,{nodes:t.value,onOpenRow:c},null,8,["nodes"])])):(I(),F("div",$u,[...m[5]||(m[5]=[g("strong",null,"No audits yet.",-1),g("p",null," When the agent cluster runs an audit (via MCP write-back), each plugin's snapshots will appear here. ",-1)])]))]),g("footer",Pu,[g("span",null,[m[6]||(m[6]=gt(" source: ",-1)),g("code",null,ie("live ABC API"),1)]),m[7]||(m[7]=g("span",null,"Sovereign service · per-team private · RLS fail-closed",-1))]),i.value?(I(),Ri(Jd,{key:1,row:i.value.row,branch:i.value.branch,mode:r.value,onClose:p,onToggleMode:f},null,8,["row","branch","mode"])):Se("",!0)]))}},[["styles",[ku]],["__scopeId","data-v-ff06078e"]]),hr="abc-audit-tree";function Mu(e){if(!e)return{};try{const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function ju(e){if(e&&e.tk)return String(e.tk);try{if(typeof window<"u"&&window.__MFE_TOKEN__)return String(window.__MFE_TOKEN__);if(typeof location<"u"){const t=new URLSearchParams(location.search).get("tk");if(t)return t}}catch{}return""}function Fu(e){try{typeof window<"u"&&(window.__ABC_USE_FIXTURES__=e.useFixtures!==void 0?String(e.useFixtures):"0",e.apiUrl&&(window.__ABC_API_URL__=String(e.apiUrl).replace(/\/+$/,"")))}catch{}const t=ju(e);if(t)try{typeof localStorage<"u"&&localStorage.setItem(ur,t)}catch{}}const mr=_c(Iu,{shadowRoot:!1,configureApp(e){}});if(typeof customElements<"u"&&!customElements.get(hr)){class e extends mr{connectedCallback(){Fu(Mu(this.getAttribute("profile-config"))),super.connectedCallback()}}customElements.define(hr,e)}return mr}();