@macrulez/devtoolz 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/commands/image-batch/cli.js +16 -0
- package/dist/commands/image-batch/cli.js.map +1 -1
- package/dist/commands/image-batch/config.d.ts +1 -0
- package/dist/commands/image-batch/config.js +11 -0
- package/dist/commands/image-batch/config.js.map +1 -1
- package/dist/commands/image-batch/run.d.ts +1 -0
- package/dist/commands/image-batch/run.js +2 -0
- package/dist/commands/image-batch/run.js.map +1 -1
- package/dist/ui/assets/ChecksPage-Ia4QJkV3.js +1 -0
- package/dist/ui/assets/ChecksPage-VewKhd5A.css +1 -0
- package/dist/ui/assets/CleanupPage-DqqrgWSI.js +4 -0
- package/dist/ui/assets/CleanupPage-nxJE8S0P.css +1 -0
- package/dist/ui/assets/FolderBrowser-Cdzt7edI.js +1 -0
- package/dist/ui/assets/FolderBrowser-CkH9R4jg.css +1 -0
- package/dist/ui/assets/ImageBatchPage-9HgS9uVf.js +4 -0
- package/dist/ui/assets/ImageBatchPage-EhlvnXbP.css +1 -0
- package/dist/ui/assets/ImageHashPage-BT4S8t3Y.css +1 -0
- package/dist/ui/assets/ImageHashPage-C0ltmpOF.js +1 -0
- package/dist/ui/assets/SourcePicker-6fQmtLgo.css +1 -0
- package/dist/ui/assets/SourcePicker-xk00AG2e.js +1 -0
- package/dist/ui/assets/UiSegmented-BT3dOelo.css +1 -0
- package/dist/ui/assets/UiSegmented-CsTRUZoX.js +1 -0
- package/dist/ui/assets/{highlight-CsAszz7F.js → highlight-DT7vvdYt.js} +1 -1
- package/dist/ui/assets/{index-BzfkjuG8.css → index-Ch5kTxCO.css} +1 -1
- package/dist/ui/assets/index-D8H-zVzo.js +11 -0
- package/dist/ui/assets/{useCopy-vCfkPGWW.js → useCopy-i_vlQfC-.js} +1 -1
- package/dist/ui/index.html +2 -2
- package/package.json +1 -1
- package/dist/ui/assets/ChecksPage-MLWSelKP.js +0 -1
- package/dist/ui/assets/ChecksPage-pbC0Txsh.css +0 -1
- package/dist/ui/assets/CleanupPage-B2ZTFOpP.js +0 -4
- package/dist/ui/assets/CleanupPage-k7sTI4iz.css +0 -1
- package/dist/ui/assets/FolderBrowser-BX3-y8sM.js +0 -1
- package/dist/ui/assets/FolderBrowser-DRh-WZPz.css +0 -1
- package/dist/ui/assets/ImageBatchPage-CvsCvu1q.js +0 -4
- package/dist/ui/assets/ImageBatchPage-DiK8ODUc.css +0 -1
- package/dist/ui/assets/ImageHashPage-Bbhxvjj0.js +0 -1
- package/dist/ui/assets/ImageHashPage-CUXnoJEA.css +0 -1
- package/dist/ui/assets/SourcePicker-C3qFDUoL.css +0 -1
- package/dist/ui/assets/SourcePicker-CVgtCk78.js +0 -1
- package/dist/ui/assets/UiSegmented-Q_ter8VK.css +0 -1
- package/dist/ui/assets/UiSegmented-YV1YATxM.js +0 -1
- package/dist/ui/assets/index-pDKL0Y31.js +0 -3
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChecksPage-Ia4QJkV3.js","assets/FolderBrowser-Cdzt7edI.js","assets/FolderBrowser-CkH9R4jg.css","assets/UiSegmented-CsTRUZoX.js","assets/UiSegmented-BT3dOelo.css","assets/useCopy-i_vlQfC-.js","assets/highlight-DT7vvdYt.js","assets/ChecksPage-VewKhd5A.css","assets/CleanupPage-DqqrgWSI.js","assets/CleanupPage-nxJE8S0P.css","assets/ImageHashPage-C0ltmpOF.js","assets/SourcePicker-xk00AG2e.js","assets/SourcePicker-6fQmtLgo.css","assets/ImageHashPage-BT4S8t3Y.css","assets/ImageBatchPage-9HgS9uVf.js","assets/ImageBatchPage-EhlvnXbP.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function it(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const N=Object.freeze({}),bt=Object.freeze([]),fe=()=>{},oo=()=>!1,un=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),nn=e=>e.startsWith("onUpdate:"),J=Object.assign,Ur=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ai=Object.prototype.hasOwnProperty,k=(e,t)=>Ai.call(e,t),A=Array.isArray,tt=e=>an(e)==="[object Map]",st=e=>an(e)==="[object Set]",gs=e=>an(e)==="[object Date]",$=e=>typeof e=="function",G=e=>typeof e=="string",Se=e=>typeof e=="symbol",D=e=>e!==null&&typeof e=="object",Kr=e=>(D(e)||$(e))&&$(e.then)&&$(e.catch),io=Object.prototype.toString,an=e=>io.call(e),Br=e=>an(e).slice(8,-1),lo=e=>an(e)==="[object Object]",Wr=e=>G(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Xt=it(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Pi=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)))},$i=/-\w/g,re=Yn(e=>e.replace($i,t=>t.slice(1).toUpperCase())),Ii=/\B([A-Z])/g,qe=Yn(e=>e.replace(Ii,"-$1").toLowerCase()),St=Yn(e=>e.charAt(0).toUpperCase()+e.slice(1)),_t=Yn(e=>e?`on${St(e)}`:""),le=(e,t)=>!Object.is(e,t),Pt=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Fn=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Xn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let _s;const dn=()=>_s||(_s=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function zr(e){if(A(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],s=G(r)?Vi(r):zr(r);if(s)for(const o in s)t[o]=s[o]}return t}else if(G(e)||D(e))return e}const Ri=/;(?![^(]*\))/g,Fi=/:([^]+)/,ji=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function Vi(e){const t={};return e.replace(ji,n=>n.startsWith("/*")?"":n).split(Ri).forEach(n=>{if(n){const r=n.split(Fi);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Zn(e){let t="";if(G(e))t=e;else if(A(e))for(let n=0;n<e.length;n++){const r=Zn(e[n]);r&&(t+=r+" ")}else if(D(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Ni="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",Di="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",Li="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",Hi=it(Ni),ki=it(Di),Ui=it(Li),Ki="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Bi=it(Ki);function co(e){return!!e||e===""}function Wi(e,t,n){if(e.length!==t.length)return!1;let r=!0;for(let s=0;r&&s<e.length;s++)r=ot(e[s],t[s],n);return r}function ys(e,t,n){if(e.size!==t.size)return!1;const r=Array.from(t),s=new Uint8Array(r.length);for(const o of e){let i=-1;for(let l=0;l<r.length;l++)if(!s[l]&&ot(o,r[l],n)){i=l;break}if(i<0)return!1;s[i]=1}return!0}function zi(e,t,n){let r=tt(e),s=tt(t);if(r||s||(r=st(e),s=st(t),r||s))return r&&s?ys(e,t,n):!1;const o=Object.keys(e).length,i=Object.keys(t).length;if(o!==i)return!1;for(const l in e){const f=e.hasOwnProperty(l),p=t.hasOwnProperty(l);if(f&&!p||!f&&p||!ot(e[l],t[l],n))return!1}return String(e)===String(t)}function bs(e,t,n,r){n||(n=[new Map,new Map]);const[s,o]=n;if(s.has(e)||o.has(t))return s.get(e)===t&&o.get(t)===e;s.set(e,t),o.set(t,e);const i=r(e,t,n);return s.delete(e),o.delete(t),i}function ot(e,t,n){if(e===t)return!0;let r=gs(e),s=gs(t);return r||s?r&&s?e.getTime()===t.getTime():!1:(r=Se(e),s=Se(t),r||s?e===t:(r=A(e),s=A(t),r||s?r&&s?bs(e,t,n,Wi):!1:(r=D(e),s=D(t),r||s?!r||!s?!1:bs(e,t,n,zi):String(e)===String(t))))}function qr(e,t){return e.findIndex(n=>ot(n,t))}const fo=e=>!!(e&&e.__v_isRef===!0),Mn=e=>G(e)?e:e==null?"":A(e)||D(e)&&(e.toString===io||!$(e.toString))?fo(e)?Mn(e.value):JSON.stringify(e,uo,2):String(e),uo=(e,t)=>fo(t)?uo(e,t.value):tt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[pr(r,o)+" =>"]=s,n),{})}:st(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>pr(n))}:Se(t)?pr(t):D(t)&&!A(t)&&!lo(t)?String(t):t,pr=(e,t="")=>{var n;return Se(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};function Ae(e,...t){console.warn(`[Vue warn] ${e}`,...t)}let ie;class qi{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&&ie&&(ie.active?(this.parent=ie,this.index=(ie.scopes||(ie.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){const r=this.scopes.slice();for(t=0,n=r.length;t<n;t++)r[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){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}const r=this.effects.slice();for(t=0,n=r.length;t<n;t++)r[t].resume()}}run(t){if(this._active){const n=ie;try{return ie=this,t()}finally{ie=n}}else this._warnOnRun&&Ae("cannot run an inactive effect scope.")}on(){++this._on===1&&(this.prevScope=ie,ie=this)}off(){if(this._on>0&&--this._on===0){if(ie===this)ie=this.prevScope;else{let t=ie;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,r;for(n=0,r=this.effects.length;n<r;n++)this.effects[n].stop();for(this.effects.length=0,n=0,r=this.cleanups.length;n<r;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const s=this.scopes.slice();for(n=0,r=s.length;n<r;n++)s[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 Gi(){return ie}let q;const hr=new WeakSet;class ao{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,ie&&(ie.active?ie.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,hr.has(this)&&(hr.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ho(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,vs(this),mo(this);const t=q,n=Me;q=this,Me=!0;try{return this.fn()}finally{q!==this&&Ae("Active effect was not restored correctly - this is likely a Vue internal bug."),go(this),q=t,Me=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Yr(t);this.deps=this.depsTail=void 0,vs(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?hr.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Er(this)&&this.run()}get dirty(){return Er(this)}}let po=0,Zt,Qt;function ho(e,t=!1){if(e.flags|=8,t){e.next=Qt,Qt=e;return}e.next=Zt,Zt=e}function Gr(){po++}function Jr(){if(--po>0)return;if(Qt){let t=Qt;for(Qt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Zt;){let t=Zt;for(Zt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function mo(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function go(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),Yr(r),Ji(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function Er(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(_o(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function _o(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===rn)||(e.globalVersion=rn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Er(e))))return;e.flags|=2;const t=e.dep,n=q,r=Me;q=e,Me=!0;try{mo(e);const s=e.fn(e._value);(t.version===0||le(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{q=n,Me=r,go(e),e.flags&=-3}}function Yr(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subsHead===e&&(n.subsHead=s),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Yr(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ji(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Me=!0;const yo=[];function Pe(){yo.push(Me),Me=!1}function $e(){const e=yo.pop();Me=e===void 0?!0:e}function vs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=q;q=void 0;try{t()}finally{q=n}}}let rn=0;class Yi{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 Qn{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,this.subsHead=void 0}track(t){if(!q||!Me||q===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==q)n=this.activeLink=new Yi(q,this),q.deps?(n.prevDep=q.depsTail,q.depsTail.nextDep=n,q.depsTail=n):q.deps=q.depsTail=n,bo(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=q.depsTail,n.nextDep=void 0,q.depsTail.nextDep=n,q.depsTail=n,q.deps===n&&(q.deps=r)}return q.onTrack&&q.onTrack(J({effect:q},t)),n}trigger(t){this.version++,rn++,this.notify(t)}notify(t){Gr();try{for(let n=this.subsHead;n;n=n.nextSub)n.sub.onTrigger&&!(n.sub.flags&8)&&n.sub.onTrigger(J({effect:n.sub},t));for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Jr()}}}function bo(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)bo(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subsHead===void 0&&(e.dep.subsHead=e),e.dep.subs=e}}const Mr=new WeakMap,vt=Symbol("Object iterate"),Ar=Symbol("Map keys iterate"),sn=Symbol("Array iterate");function se(e,t,n){if(Me&&q){let r=Mr.get(e);r||Mr.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Qn),s.map=r,s.key=n),s.track({target:e,type:t,key:n})}}function Ue(e,t,n,r,s,o){const i=Mr.get(e);if(!i){rn++;return}const l=f=>{f&&f.trigger({target:e,type:t,key:n,newValue:r,oldValue:s,oldTarget:o})};if(Gr(),t==="clear")i.forEach(l);else{const f=A(e),p=f&&Wr(n);if(f&&n==="length"){const u=Number(r);i.forEach((a,m)=>{(m==="length"||m===sn||!Se(m)&&m>=u)&&l(a)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),p&&l(i.get(sn)),t){case"add":f?p&&l(i.get("length")):(l(i.get(vt)),tt(e)&&l(i.get(Ar)));break;case"delete":f||(l(i.get(vt)),tt(e)&&l(i.get(Ar)));break;case"set":tt(e)&&l(i.get(vt));break}}Jr()}function Et(e){const t=j(e);return t===e||(se(t,"iterate",sn),he(e))?t:Ce(e)?nt(e)?t.map(n=>pt(Te(n))):t.map(pt):t.map(Te)}function er(e){return se(e=j(e),"iterate",sn),e}function ke(e,t){return Ce(e)?pt(nt(e)?Te(t):t):Te(t)}const Xi={__proto__:null,[Symbol.iterator](){return mr(this,Symbol.iterator,e=>ke(this,e))},concat(...e){return Et(this).concat(...e.map(t=>A(t)?Et(t):t))},entries(){return mr(this,"entries",e=>(e[1]=ke(this,e[1]),e))},every(e,t){return Ye(this,"every",e,t,void 0,arguments)},filter(e,t){return Ye(this,"filter",e,t,n=>n.map(r=>ke(this,r)),arguments)},find(e,t){return Ye(this,"find",e,t,n=>ke(this,n),arguments)},findIndex(e,t){return Ye(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ye(this,"findLast",e,t,n=>ke(this,n),arguments)},findLastIndex(e,t){return Ye(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ye(this,"forEach",e,t,void 0,arguments)},includes(...e){return gr(this,"includes",e)},indexOf(...e){return gr(this,"indexOf",e)},join(e){return Et(this).join(e)},lastIndexOf(...e){return gr(this,"lastIndexOf",e)},map(e,t){return Ye(this,"map",e,t,void 0,arguments)},pop(){return Kt(this,"pop")},push(...e){return Kt(this,"push",e)},reduce(e,...t){return ws(this,"reduce",e,t)},reduceRight(e,...t){return ws(this,"reduceRight",e,t)},shift(){return Kt(this,"shift")},some(e,t){return Ye(this,"some",e,t,void 0,arguments)},splice(...e){return Kt(this,"splice",e)},toReversed(){return Et(this).toReversed()},toSorted(e){return Et(this).toSorted(e)},toSpliced(...e){return Et(this).toSpliced(...e)},unshift(...e){return Kt(this,"unshift",e)},values(){return mr(this,"values",e=>ke(this,e))}};function mr(e,t,n){const r=er(e),s=r[t]();return r!==e&&!he(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const Zi=Array.prototype;function Ye(e,t,n,r,s,o){const i=er(e),l=i!==e&&!he(e),f=i[t];if(f!==Zi[t]){const a=f.apply(e,o);return l?Te(a):a}let p=n;i!==e&&(l?p=function(a,m){return n.call(this,ke(e,a),m,e)}:n.length>2&&(p=function(a,m){return n.call(this,a,m,e)}));const u=f.call(i,p,r);return l&&s?s(u):u}function ws(e,t,n,r){const s=er(e),o=s!==e&&!he(e);let i=n,l=!1;s!==e&&(o?(l=r.length===0,i=function(p,u,a){return l&&(l=!1,p=ke(e,p)),n.call(this,p,ke(e,u),a,e)}):n.length>3&&(i=function(p,u,a){return n.call(this,p,u,a,e)}));const f=s[t](i,...r);return l?ke(e,f):f}function gr(e,t,n){const r=j(e);se(r,"iterate",sn);const s=r[t](...n);return(s===-1||s===!1)&&jn(n[0])?(n[0]=j(n[0]),r[t](...n)):s}function Kt(e,t,n=[]){Pe(),Gr();const r=j(e)[t].apply(e,n);return Jr(),$e(),r}const Qi=it("__proto__,__v_isRef,__isVue"),vo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Se));function el(e){Se(e)||(e=String(e));const t=j(this);return se(t,"has",e),t.hasOwnProperty(e)}class wo{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Eo:Oo:o?To:Co).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=A(t);if(!s){let f;if(i&&(f=Xi[n]))return f;if(n==="hasOwnProperty")return el}const l=Reflect.get(t,n,ne(t)?t:r);if((Se(n)?vo.has(n):Qi(n))||(s||se(t,"get",n),o))return l;if(ne(l)){const f=i&&Wr(n)?l:l.value;return s&&D(f)?$r(f):f}return D(l)?s?$r(l):Xr(l):l}}class xo extends wo{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];const i=A(t)&&Wr(n);if(!this._isShallow){const p=Ce(o);if(!he(r)&&!Ce(r)&&(o=j(o),r=j(r)),!i&&ne(o)&&!ne(r))return p?(Ae(`Set operation on key "${String(n)}" failed: target is readonly.`,t[n]),!0):(o.value=r,!0)}const l=i?Number(n)<t.length:k(t,n),f=Reflect.set(t,n,r,ne(t)?t:s);return t===j(s)&&f&&(l?le(r,o)&&Ue(t,"set",n,r,o):Ue(t,"add",n,r)),f}deleteProperty(t,n){const r=k(t,n),s=t[n],o=Reflect.deleteProperty(t,n);return o&&r&&Ue(t,"delete",n,void 0,s),o}has(t,n){const r=Reflect.has(t,n);return(!Se(n)||!vo.has(n))&&se(t,"has",n),r}ownKeys(t){return se(t,"iterate",A(t)?"length":vt),Reflect.ownKeys(t)}}class So extends wo{constructor(t=!1){super(!0,t)}set(t,n){return Ae(`Set operation on key "${String(n)}" failed: target is readonly.`,t),!0}deleteProperty(t,n){return Ae(`Delete operation on key "${String(n)}" failed: target is readonly.`,t),!0}}const tl=new xo,nl=new So,rl=new xo(!0),sl=new So(!0),Pr=e=>e,vn=e=>Reflect.getPrototypeOf(e);function ol(e,t,n){return function(...r){const s=this.__v_raw,o=j(s),i=tt(o),l=e==="entries"||e===Symbol.iterator&&i,f=e==="keys"&&i,p=s[e](...r),u=n?Pr:t?pt:Te;return!t&&se(o,"iterate",f?Ar:vt),J(Object.create(p),{next(){const{value:a,done:m}=p.next();return m?{value:a,done:m}:{value:l?[u(a[0]),u(a[1])]:u(a),done:m}}})}}function wn(e){return function(...t){{const n=t[0]?`on key "${t[0]}" `:"";Ae(`${St(e)} operation ${n}failed: target is readonly.`,j(this))}return e==="delete"?!1:e==="clear"?void 0:this}}function il(e,t){const n={get(s){const o=this.__v_raw,i=j(o),l=j(s);e||(le(s,l)&&se(i,"get",s),se(i,"get",l));const{has:f}=vn(i),p=t?Pr:e?pt:Te;if(f.call(i,s))return p(o.get(s));if(f.call(i,l))return p(o.get(l));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&se(j(s),"iterate",vt),s.size},has(s){const o=this.__v_raw,i=j(o),l=j(s);return e||(le(s,l)&&se(i,"has",s),se(i,"has",l)),s===l?o.has(s):o.has(s)||o.has(l)},forEach(s,o){const i=this,l=i.__v_raw,f=j(l),p=t?Pr:e?pt:Te;return!e&&se(f,"iterate",vt),l.forEach((u,a)=>s.call(o,p(u),p(a),i))}};return J(n,e?{add:wn("add"),set:wn("set"),delete:wn("delete"),clear:wn("clear")}:{add(s){const o=j(this),i=vn(o),l=j(s),f=!t&&!he(s)&&!Ce(s)?l:s;return i.has.call(o,f)||le(s,f)&&i.has.call(o,s)||le(l,f)&&i.has.call(o,l)||(o.add(f),Ue(o,"add",f,f)),this},set(s,o){!t&&!he(o)&&!Ce(o)&&(o=j(o));const i=j(this),{has:l,get:f}=vn(i);let p=l.call(i,s);p?xs(i,l,s):(s=j(s),p=l.call(i,s));const u=f.call(i,s);return i.set(s,o),p?le(o,u)&&Ue(i,"set",s,o,u):Ue(i,"add",s,o),this},delete(s){const o=j(this),{has:i,get:l}=vn(o);let f=i.call(o,s);f?xs(o,i,s):(s=j(s),f=i.call(o,s));const p=l?l.call(o,s):void 0,u=o.delete(s);return f&&Ue(o,"delete",s,void 0,p),u},clear(){const s=j(this),o=s.size!==0,i=tt(s)?new Map(s):new Set(s),l=s.clear();return o&&Ue(s,"clear",void 0,void 0,i),l}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=ol(s,e,t)}),n}function tr(e,t){const n=il(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(k(n,s)&&s in r?n:r,s,o)}const ll={get:tr(!1,!1)},cl={get:tr(!1,!0)},fl={get:tr(!0,!1)},ul={get:tr(!0,!0)};function xs(e,t,n){const r=j(n);if(r!==n&&t.call(e,r)){const s=Br(e);Ae(`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 Co=new WeakMap,To=new WeakMap,Oo=new WeakMap,Eo=new WeakMap;function al(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Xr(e){return Ce(e)?e:nr(e,!1,tl,ll,Co)}function dl(e){return nr(e,!1,rl,cl,To)}function $r(e){return nr(e,!0,nl,fl,Oo)}function Be(e){return nr(e,!0,sl,ul,Eo)}function nr(e,t,n,r,s){if(!D(e))return Ae(`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 o=s.get(e);if(o)return o;const i=al(Br(e));if(i===0)return e;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function nt(e){return Ce(e)?nt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ce(e){return!!(e&&e.__v_isReadonly)}function he(e){return!!(e&&e.__v_isShallow)}function jn(e){return e?!!e.__v_raw:!1}function j(e){const t=e&&e.__v_raw;return t?j(t):e}function pl(e){return!k(e,"__v_skip")&&Object.isExtensible(e)&&Fn(e,"__v_skip",!0),e}const Te=e=>D(e)?Xr(e):e,pt=e=>D(e)?$r(e):e;function ne(e){return e?e.__v_isRef===!0:!1}function dt(e){return Mo(e,!1)}function Su(e){return Mo(e,!0)}function Mo(e,t){return ne(e)?e:new hl(e,t)}class hl{constructor(t,n){this.dep=new Qn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:j(t),this._value=n?t:Te(t),this.__v_isShallow=n}get value(){return this.dep.track({target:this,type:"get",key:"value"}),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||he(t)||Ce(t);t=r?t:j(t),le(t,n)&&(this._rawValue=t,this._value=r?t:Te(t),this.dep.trigger({target:this,type:"set",key:"value",newValue:t,oldValue:n}))}}function ml(e){return ne(e)?e.value:e}const gl={get:(e,t,n)=>t==="__v_raw"?e:ml(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return ne(s)&&!ne(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Ao(e){return nt(e)?e:new Proxy(e,gl)}class _l{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Qn,{get:r,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function yl(e){return new _l(e)}class bl{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Qn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=rn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&q!==this)return ho(this,!0),!0}get value(){const t=this.dep.track({target:this,type:"get",key:"value"});return _o(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter?this.setter(t):Ae("Write operation failed: computed value is readonly")}}function vl(e,t,n=!1){let r,s;return $(e)?r=e:(r=e.get,s=e.set),new bl(r,s,n)}const xn={},Vn=new WeakMap;let yt;function wl(e,t=!1,n=yt){if(n){let r=Vn.get(n);r||Vn.set(n,r=[]),r.push(e)}else t||Ae("onWatcherCleanup() was called when there was no active watcher to associate with.")}function xl(e,t,n=N){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:l,call:f}=n,p=M=>{(n.onWarn||Ae)("Invalid watch source: ",M,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},u=M=>s?M:he(M)||s===!1||s===0?et(M,1):et(M);let a,m,v,O,w=!1,B=!1;if(ne(e)?(m=()=>e.value,w=he(e)):nt(e)?(m=()=>u(e),w=!0):A(e)?(B=!0,w=e.some(M=>nt(M)||he(M)),m=()=>e.map(M=>{if(ne(M))return M.value;if(nt(M))return u(M);if($(M))return f?f(M,2):M();p(M)})):$(e)?t?m=f?()=>f(e,2):e:m=()=>{if(v){Pe();try{v()}finally{$e()}}const M=yt;yt=a;try{return f?f(e,3,[O]):e(O)}finally{yt=M}}:(m=fe,p(e)),t&&s){const M=m,Z=s===!0?1/0:s;m=()=>et(M(),Z)}const L=Gi(),V=()=>{a.stop(),L&&L.active&&Ur(L.effects,a)};if(o&&t){const M=t;t=(...Z)=>{const ge=M(...Z);return V(),ge}}let F=B?new Array(e.length).fill(xn):xn;const X=M=>{if(!(!(a.flags&1)||!a.dirty&&!M))if(t){const Z=a.run();if(M||s||w||(B?Z.some((ge,ce)=>le(ge,F[ce])):le(Z,F))){v&&v();const ge=yt;yt=a;try{const ce=[Z,F===xn?void 0:B&&F[0]===xn?[]:F,O];F=Z,f?f(t,3,ce):t(...ce)}finally{yt=ge}}}else a.run()};return l&&l(X),a=new ao(m),a.scheduler=i?()=>i(X,!1):X,O=M=>wl(M,!1,a),v=a.onStop=()=>{const M=Vn.get(a);if(M){if(f)f(M,4);else for(const Z of M)Z();Vn.delete(a)}},a.onTrack=n.onTrack,a.onTrigger=n.onTrigger,t?r?X(!0):F=a.run():i?i(X.bind(null,!0),!0):a.run(),V.pause=a.pause.bind(a),V.resume=a.resume.bind(a),V.stop=V,V}function et(e,t=1/0,n){if(t<=0||!D(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ne(e))et(e.value,t,n);else if(A(e))for(let r=0;r<e.length;r++)et(e[r],t,n);else if(st(e)||tt(e))e.forEach(r=>{et(r,t,n)});else if(lo(e)){for(const r in e)et(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&et(e[r],t,n)}return e}const wt=[];function An(e){wt.push(e)}function Pn(){wt.pop()}let _r=!1;function x(e,...t){if(_r)return;_r=!0,Pe();const n=wt.length?wt[wt.length-1].component:null,r=n&&n.appContext.config.warnHandler,s=Sl();if(r)Nt(r,n,11,[e+t.map(o=>{var i,l;return(l=(i=o.toString)==null?void 0:i.call(o))!=null?l:JSON.stringify(o)}).join(""),n&&n.proxy,s.map(({vnode:o})=>`at <${_n(n,o.type)}>`).join(`
|
|
3
|
+
`),s]);else{const o=[`[Vue warn]: ${e}`,...t];s.length&&o.push(`
|
|
4
|
+
`,...Cl(s)),console.warn(...o)}$e(),_r=!1}function Sl(){let e=wt[wt.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 r=e.component&&e.component.parent;e=r&&r.vnode}return t}function Cl(e){const t=[];return e.forEach((n,r)=>{t.push(...r===0?[]:[`
|
|
5
|
+
`],...Tl(n))}),t}function Tl({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",r=e.component?e.component.parent==null:!1,s=` at <${_n(e.component,e.type,r)}`,o=">"+n;return e.props?[s,...Ol(e.props),o]:[s+o]}function Ol(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(r=>{t.push(...Po(r,e[r]))}),n.length>3&&t.push(" ..."),t}function Po(e,t,n){return G(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ne(t)?(t=Po(e,j(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):$(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=j(t),n?t:[`${e}=`,t])}const Zr={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 Nt(e,t,n,r){try{return r?e(...r):e()}catch(s){Dt(s,t,n)}}function Ie(e,t,n,r){if($(e)){const s=Nt(e,t,n,r);return s&&Kr(s)&&s.catch(o=>{Dt(o,t,n)}),s}if(A(e)){const s=[];for(let o=0;o<e.length;o++)s.push(Ie(e[o],t,n,r));return s}else x(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof e}`)}function Dt(e,t,n,r=!0){const s=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:i}=t&&t.appContext.config||N;if(t){let l=t.parent;const f=t.proxy,p=Zr[n];for(;l;){const u=l.ec;if(u){for(let a=0;a<u.length;a++)if(u[a](e,f,p)===!1)return}l=l.parent}if(o){Pe(),Nt(o,null,10,[e,f,p]),$e();return}}El(e,n,s,r,i)}function El(e,t,n,r=!0,s=!1){{const o=Zr[t];if(n&&An(n),x(`Unhandled error${o?` during execution of ${o}`:""}`),n&&Pn(),r)throw e;console.error(e)}}const de=[];let De=-1;const It=[];let ut=null,$t=0;const $o=Promise.resolve();let Nn=null;const Ml=100;function Io(e){const t=Nn||$o;return e?t.then(this?e.bind(this):e):t}function Al(e){let t=De+1,n=de.length;for(;t<n;){const r=t+n>>>1,s=de[r],o=on(s);o<e||o===e&&s.flags&2?t=r+1:n=r}return t}function rr(e){if(!(e.flags&1)){const t=on(e),n=de[de.length-1];!n||!(e.flags&2)&&t>=on(n)?de.push(e):de.splice(Al(t),0,e),e.flags|=1,Ro()}}function Ro(){Nn||(Nn=$o.then(Vo))}function Fo(e){if(!A(e))ut&&e.id===-1?ut.splice($t+1,0,e):e.flags&1||(It.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)It.push(e[t]);Ro()}function Ss(e,t,n=De+1){for(t=t||new Map;n<de.length;n++){const r=de[n];if(r&&r.flags&2){if(e&&r.id!==e.uid||Qr(t,r))continue;de.splice(n,1),n--,r.flags&4&&(r.flags&=-2),r(),r.flags&4||(r.flags&=-2)}}}function jo(e){if(It.length){const t=[...new Set(It)].sort((n,r)=>on(n)-on(r));if(It.length=0,ut){for(let n=0;n<t.length;n++)ut.push(t[n]);return}for(ut=t,e=e||new Map,$t=0;$t<ut.length;$t++){const n=ut[$t];Qr(e,n)||(n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2)}ut=null,$t=0}}const on=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Vo(e){e=e||new Map;const t=n=>Qr(e,n);try{for(De=0;De<de.length;De++){const n=de[De];if(n&&!(n.flags&8)){if(t(n))continue;n.flags&4&&(n.flags&=-2),Nt(n,n.i,n.i?15:14),n.flags&4||(n.flags&=-2)}}}finally{for(;De<de.length;De++){const n=de[De];n&&(n.flags&=-2)}De=-1,de.length=0,jo(e),Nn=null,(de.length||It.length)&&Vo(e)}}function Qr(e,t){const n=e.get(t)||0;if(n>Ml){const r=t.i,s=r&&fr(r.type);return Dt(`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 we=!1;const Cs=e=>{try{return we}finally{we=e}},$n=new Map;dn().__VUE_HMR_RUNTIME__={createRecord:yr(No),rerender:yr(Il),reload:yr(Rl)};const Ct=new Map;function Pl(e){const t=e.type.__hmrId;let n=Ct.get(t);n||(No(t,e.type),n=Ct.get(t)),n.instances.add(e)}function $l(e){Ct.get(e.type.__hmrId).instances.delete(e)}function No(e,t){return Ct.has(e)?!1:(Ct.set(e,{initialDef:Dn(t),instances:new Set}),!0)}function Dn(e){return wi(e)?e.__vccOpts:e}function Il(e,t){const n=Ct.get(e);n&&(n.initialDef.render=t,[...n.instances].forEach(r=>{t&&(r.render=t,Dn(r.type).render=t),r.renderCache=[],we=!0,r.job.flags&8||r.update(),we=!1}))}function Rl(e,t){const n=Ct.get(e);if(!n)return;t=Dn(t),Ts(n.initialDef,t);const r=[...n.instances];for(let s=0;s<r.length;s++){const o=r[s],i=Dn(o.type);let l=$n.get(i);l||(i!==n.initialDef&&Ts(i,t),$n.set(i,l=new Set)),l.add(o),o.appContext.propsCache.delete(o.type),o.appContext.emitsCache.delete(o.type),o.appContext.optionsCache.delete(o.type),o.ceReload?(l.add(o),o.ceReload(t.styles),l.delete(o)):o.parent?rr(()=>{o.job.flags&8||(we=!0,o.parent.update(),we=!1,l.delete(o))}):o.appContext.reload?o.appContext.reload():typeof window<"u"?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required."),o.root.ce&&o!==o.root&&o.root.ce._removeChildStyle(i)}Fo(()=>{$n.clear()})}function Ts(e,t){J(e,t);for(const n in e)n!=="__file"&&!(n in t)&&delete e[n]}function yr(e){return(t,n)=>{try{return e(t,n)}catch(r){console.error(r),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let Ke,qt=[],Ir=!1;function pn(e,...t){Ke?Ke.emit(e,...t):Ir||qt.push({event:e,args:t})}function Do(e,t){var n,r;Ke=e,Ke?(Ke.enabled=!0,qt.forEach(({event:s,args:o})=>Ke.emit(s,...o)),qt=[]):typeof window<"u"&&window.HTMLElement&&!((r=(n=window.navigator)==null?void 0:n.userAgent)!=null&&r.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(o=>{Do(o,t)}),setTimeout(()=>{Ke||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Ir=!0,qt=[])},3e3)):(Ir=!0,qt=[])}function Fl(e,t){pn("app:init",e,t,{Fragment:pe,Text:mn,Comment:me,Static:tn})}function jl(e){pn("app:unmount",e)}const Vl=es("component:added"),Lo=es("component:updated"),Nl=es("component:removed"),Dl=e=>{Ke&&typeof Ke.cleanupBuffer=="function"&&!Ke.cleanupBuffer(e)&&Nl(e)};function es(e){return t=>{pn(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}const Ll=Ho("perf:start"),Hl=Ho("perf:end");function Ho(e){return(t,n,r)=>{pn(e,t.appContext.app,t.uid,t,n,r)}}function kl(e,t,n){pn("component:emit",e.appContext.app,e,t,n)}let ee=null,ko=null;function Ln(e){const t=ee;return ee=e,ko=e&&e.type.__scopeId||null,t}function Ul(e,t=ee,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&Wn(-1);const o=Ln(t),i=rt.length;let l;try{l=e(...s)}finally{for(let f=rt.length;f>i;f--)fs();Ln(o),r._d&&Wn(1)}return Lo(t),l};return r._n=!0,r._c=!0,r._d=!0,r}function Uo(e){Pi(e)&&x("Do not use built-in directive ids as custom directive id: "+e)}function Cu(e,t){if(ee===null)return x("withDirectives can only be used inside render functions."),e;const n=cr(ee),r=e.dirs||(e.dirs=[]);for(let s=0;s<t.length;s++){let[o,i,l,f=N]=t[s];o&&($(o)&&(o={mounted:o,updated:o}),o.deep&&et(i),r.push({dir:o,instance:n,value:i,oldValue:void 0,arg:l,modifiers:f}))}return e}function mt(e,t,n,r){const s=e.dirs,o=t&&t.dirs;for(let i=0;i<s.length;i++){const l=s[i];o&&(l.oldValue=o[i].value);let f=l.dir[r];f&&(Pe(),Ie(f,n,8,[e.el,l,e,t]),$e())}}function Kl(e,t){if((!Y||Y.isMounted)&&x("provide() can only be used inside setup()."),Y){let n=Y.provides;const r=Y.parent&&Y.parent.provides;r===n&&(n=Y.provides=Object.create(r)),n[e]=t}}function In(e,t,n=!1){const r=us();if(r||Ft){let s=Ft?Ft._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(s&&e in s)return s[e];if(arguments.length>1)return n&&$(t)?t.call(r&&r.proxy):t;x(`injection "${String(e)}" not found.`)}else x("inject() can only be used inside setup() or functional components.")}const Bl=Symbol.for("v-scx"),Wl=()=>{{const e=In(Bl);return e||x("Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build."),e}};function zl(e,t){return ts(e,null,J({},t,{flush:"sync"}))}function br(e,t,n){return $(t)||x("`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."),ts(e,t,n)}function ts(e,t,n=N){const{immediate:r,deep:s,flush:o,once:i}=n;t||(r!==void 0&&x('watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.'),s!==void 0&&x('watch() "deep" option is only respected when using the watch(source, callback, options?) signature.'),i!==void 0&&x('watch() "once" option is only respected when using the watch(source, callback, options?) signature.'));const l=J({},n);l.onWarn=x;const f=t&&r||!t&&o!=="post";let p;if(jt){if(o==="sync"){const v=Wl();p=v.__watcherHandles||(v.__watcherHandles=[])}else if(!f){const v=()=>{};return v.stop=fe,v.resume=fe,v.pause=fe,v}}const u=Y;l.call=(v,O,w)=>Ie(v,u,O,w);let a=!1;o==="post"?l.scheduler=v=>{be(v,u&&u.suspense)}:o!=="sync"&&(a=!0,l.scheduler=(v,O)=>{O?v():rr(v)}),l.augmentJob=v=>{t&&(v.flags|=4),a&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=xl(e,t,l);return jt&&(p?p.push(m):f&&m()),m}function ql(e,t,n){const r=this.proxy,s=G(e)?e.includes(".")?Ko(r,e):()=>r[e]:e.bind(r,r);let o;$(t)?o=t:(o=t.handler,n=t);const i=gn(this),l=ts(s,o.bind(r),n);return i(),l}function Ko(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s<n.length&&r;s++)r=r[n[s]];return r}}const Gl=Symbol("_vte"),sr=e=>e.__isTeleport,vr=Symbol("_leaveCb");function Jl(e){let t=e[0];if(e.length>1){let n=!1;for(const r of e)if(r.type!==me){if(n){x("<transition> can only be used on a single element or component. Use <transition-group> for lists.");break}t=r,n=!0}}return t}function Bo(e){if(!hn(e))return sr(e.type)&&e.children?Jl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&$(n.default))return n.default()}}function ns(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;ns(sr(n.type)&&Bo(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function rs(e,t){return $(e)?J({name:e.name},t,{setup:e}):e}function ss(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Os=new WeakSet;function Es(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Hn=new WeakMap;function en(e,t,n,r,s=!1){if(A(e)){e.forEach((w,B)=>en(w,t&&(A(t)?t[B]:t),n,r,s));return}if(Rt(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&en(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?cr(r.component):r.el,i=s?null:o,{i:l,r:f}=e;if(!l){x("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,u=l.refs===N?l.refs={}:l.refs,a=l.setupState,m=j(a),v=a===N?oo:w=>(k(m,w)&&!ne(m[w])&&x(`Template ref "${w}" used on a non-ref value. It will not work in the production build.`),Os.has(m[w])||Es(u,w)?!1:k(m,w)),O=(w,B)=>!(Os.has(w)||B&&Es(u,B));if(p!=null&&p!==f){if(Ms(t),G(p))u[p]=null,v(p)&&(a[p]=null);else if(ne(p)){const w=t;O(p,w.k)&&(p.value=null),w.k&&(u[w.k]=null)}}if($(f))Nt(f,l,12,[i,u]);else{const w=G(f),B=ne(f);if(w||B){const L=()=>{if(e.f){const V=w?v(f)?a[f]:u[f]:O(f)||!e.k?f.value:u[e.k];if(s)A(V)&&Ur(V,o);else if(A(V))V.includes(o)||V.push(o);else if(w)u[f]=[o],v(f)&&(a[f]=u[f]);else{const F=[o];O(f,e.k)&&(f.value=F),e.k&&(u[e.k]=F)}}else w?(u[f]=i,v(f)&&(a[f]=i)):B?(O(f,e.k)&&(f.value=i),e.k&&(u[e.k]=i)):x("Invalid template ref type:",f,`(${typeof f})`)};if(i){const V=()=>{L(),Hn.delete(e)};V.id=-1,Hn.set(e,V),be(V,n)}else Ms(e),L()}else x("Invalid template ref type:",f,`(${typeof f})`)}}function Ms(e){const t=Hn.get(e);t&&(t.flags|=8,Hn.delete(e))}const As=e=>e.nodeType===8;dn().requestIdleCallback;dn().cancelIdleCallback;function Yl(e,t){if(As(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(As(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Rt=e=>!!e.type.__asyncLoader;function Sn(e){$(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:i,suspensible:l=!0,onError:f}=e;let p=null,u,a=0;const m=()=>(a++,p=null,v()),v=()=>{let O;return p||(O=p=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),f)return new Promise((B,L)=>{f(w,()=>B(m()),()=>L(w),a+1)});throw w}).then(w=>{if(O!==p&&p)return p;if(w||x("Async component loader resolved to undefined. If you are using retry(), make sure to return its return value."),w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),w&&!D(w)&&!$(w))throw new Error(`Invalid async component load result: ${w}`);return u=w,w}))};return rs({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(O,w,B){const L=O.isConnected;let V=!1;(w.bu||(w.bu=[])).push(()=>V=!0);const F=()=>{if(V){x(`Skipping lazy hydration for component '${fr(u)||u.__file}': it was updated before lazy hydration performed.`);return}!O.parentNode||L&&!O.isConnected||B()},X=o?()=>{const M=o(F,Z=>Yl(O,Z));M&&(w.bum||(w.bum=[])).push(M)}:F;u?X():v().then(()=>!w.isUnmounted&&X())},get __asyncResolved(){return u},setup(){const O=Y;if(ss(O),u)return()=>Cn(u,O);const w=M=>{p=null,Dt(M,O,13,!r)};if(l&&O.suspense||jt)return v().then(M=>()=>Cn(M,O)).catch(M=>(w(M),()=>r?te(r,{error:M}):null));const B=dt(!1),L=dt(),V=dt(!!s);let F,X;return os(()=>{F!=null&&clearTimeout(F),X!=null&&clearTimeout(X)}),s&&(X=setTimeout(()=>{O.isUnmounted||(V.value=!1)},s)),i!=null&&(F=setTimeout(()=>{if(!O.isUnmounted&&!B.value&&!L.value){const M=new Error(`Async component timed out after ${i}ms.`);w(M),L.value=M}},i)),v().then(()=>{O.isUnmounted||(B.value=!0,O.parent&&hn(O.parent.vnode)&&O.parent.update())}).catch(M=>{if(O.isUnmounted){p=null;return}w(M),L.value=M}),()=>{if(B.value&&u)return Cn(u,O);if(L.value&&r)return te(r,{error:L.value});if(n&&!V.value)return Cn(n,O)}}})}function Cn(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=te(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const hn=e=>e.type.__isKeepAlive;function Xl(e,t){Wo(e,"a",t)}function Zl(e,t){Wo(e,"da",t)}function Wo(e,t,n=Y){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(or(t,r,n),n){let s=n.parent;for(;s&&s.parent;)hn(s.parent.vnode)&&Ql(r,t,n,s),s=s.parent}}function Ql(e,t,n,r){const s=or(t,e,r,!0);os(()=>{Ur(r[t],s)},n)}function or(e,t,n=Y,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Pe();const l=gn(n),f=Ie(t,n,e,i);return l(),$e(),f});return r?s.unshift(o):s.push(o),o}else{const s=_t(Zr[e].replace(/ hook$/,""));x(`${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 lt=e=>(t,n=Y)=>{(!jt||e==="sp")&&or(e,(...r)=>t(...r),n)},ec=lt("bm"),zo=lt("m"),tc=lt("bu"),nc=lt("u"),qo=lt("bum"),os=lt("um"),rc=lt("sp"),sc=lt("rtg"),oc=lt("rtc");function ic(e,t=Y){or("ec",e,t)}const lc="components",Go=Symbol.for("v-ndc");function cc(e){return G(e)?fc(lc,e,!1)||e:e||Go}function fc(e,t,n=!0,r=!1){const s=ee||Y;if(s){const o=s.type;{const l=fr(o,!1);if(l&&(l===t||l===re(t)||l===St(re(t))))return o}const i=Ps(s[e]||o[e],t)||Ps(s.appContext[e],t);return!i&&r?o:(n&&!i&&x(`Failed to resolve ${e.slice(0,-1)}: ${t}
|
|
6
|
+
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.`),i)}else x(`resolve${St(e.slice(0,-1))} can only be used in render() or setup().`)}function Ps(e,t){return e&&(e[t]||e[re(t)]||e[St(re(t))])}function Jo(e,t,n,r){let s;const o=n,i=A(e);if(i||G(e)){const l=i&&nt(e);let f=!1,p=!1;l&&(f=!he(e),p=Ce(e),e=er(e)),s=new Array(e.length);for(let u=0,a=e.length;u<a;u++)s[u]=t(f?p?pt(Te(e[u])):Te(e[u]):e[u],u,void 0,o)}else if(typeof e=="number")if(!Number.isInteger(e)||e<0)x(`The v-for range expects a positive integer value but got ${e}.`),s=[];else{s=new Array(e);for(let l=0;l<e;l++)s[l]=t(l+1,l,void 0,o)}else if(D(e))if(e[Symbol.iterator])s=Array.from(e,(l,f)=>t(l,f,void 0,o));else{const l=Object.keys(e);s=new Array(l.length);for(let f=0,p=l.length;f<p;f++){const u=l[f];s[f]=t(e[u],u,f,o)}}else s=[];return s}function Tu(e,t,n,r,s,o){if(n==null&&(n={}),ee.ce||ee.parent&&Rt(ee.parent)&&ee.parent.ce){const p=n,u=Object.keys(p).length>0;return t!=="default"&&(p.name=t),ve(),zn(pe,null,[te("slot",p,r)],u?-2:64)}let i=e[t];i&&i.length>1&&(x("SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."),i=()=>[]),i&&i._c&&(i._d=!1);const l=rt.length;ve();let f;try{const p=i&&Yo(i(n)),u=n.key||o||p&&p.key;f=zn(pe,{key:(u&&!Se(u)?u:`_${t}`)+(!p&&r?"_fb":"")},p||(r?r():[]),p&&e._===1?64:-2)}catch(p){for(let u=rt.length;u>l;u--)fs();throw p}finally{i&&i._c&&(i._d=!0)}return f}function Yo(e){return e.some(t=>Tt(t)?!(t.type===me||t.type===pe&&!Yo(t.children)):!0)?e:null}const Rr=e=>e?bi(e)?cr(e):Rr(e.parent):null,uc=e=>{let t=!1;for(;;){if(e.patchFlag>0&&e.patchFlag&2048){const s=lr(e.children);if(!s)return;e=s,t=!0;continue}const n=e.component;if(n&&n.subTree){e=n.subTree;continue}const r=e.suspense;if(r&&r.activeBranch){e=r.activeBranch;continue}return t?e.el:void 0}},ac=e=>{const t=e.subTree&&uc(e.subTree);return t===void 0?e.vnode.el:t},xt=J(Object.create(null),{$:e=>e,$el:e=>ac(e),$data:e=>e.data,$props:e=>Be(e.props),$attrs:e=>Be(e.attrs),$slots:e=>Be(e.slots),$refs:e=>Be(e.refs),$parent:e=>Rr(e.parent),$root:e=>Rr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Qo(e),$forceUpdate:e=>e.f||(e.f=()=>{rr(e.update)}),$nextTick:e=>e.n||(e.n=Io.bind(e.proxy)),$watch:e=>ql.bind(e)}),is=e=>e==="_"||e==="$",wr=(e,t)=>e!==N&&!e.__isScriptSetup&&k(e,t),Xo={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:f}=e;if(t==="__isVue")return!0;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(wr(r,t))return i[t]=1,r[t];if(s!==N&&k(s,t))return i[t]=2,s[t];if(k(o,t))return i[t]=3,o[t];if(n!==N&&k(n,t))return i[t]=4,n[t];Fr&&(i[t]=0)}}const p=xt[t];let u,a;if(p)return t==="$attrs"?(se(e.attrs,"get",""),Kn()):t==="$slots"&&se(e,"get",t),p(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==N&&k(n,t))return i[t]=4,n[t];if(a=f.config.globalProperties,k(a,t))return a[t];ee&&(!G(t)||t.indexOf("__v")!==0)&&(s!==N&&is(t[0])&&k(s,t)?x(`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===ee&&x(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return wr(s,t)?(s[t]=n,!0):s.__isScriptSetup&&k(s,t)?(x(`Cannot mutate <script setup> binding "${t}" from Options API.`),!1):r!==N&&k(r,t)?(r[t]=n,!0):k(e.props,t)?(x(`Attempting to mutate prop "${t}". Props are readonly.`),!1):t[0]==="$"&&t.slice(1)in e?(x(`Attempting to mutate public property "${t}". Properties starting with $ are reserved and readonly.`),!1):(t in e.appContext.config.globalProperties?Object.defineProperty(o,t,{enumerable:!0,configurable:!0,value:n}):o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},l){let f;return!!(n[l]||e!==N&&l[0]!=="$"&&k(e,l)||wr(t,l)||k(o,l)||k(r,l)||k(xt,l)||k(s.config.globalProperties,l)||(f=i.__cssModules)&&f[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:k(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};Xo.ownKeys=e=>(x("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 dc(e){const t={};return Object.defineProperty(t,"_",{configurable:!0,enumerable:!1,get:()=>e}),Object.keys(xt).forEach(n=>{Object.defineProperty(t,n,{configurable:!0,enumerable:!1,get:()=>xt[n](e),set:fe})}),t}function pc(e){const{ctx:t,propsOptions:[n]}=e;n&&Object.keys(n).forEach(r=>{Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>e.props[r],set:fe})})}function hc(e){const{ctx:t,setupState:n}=e;Object.keys(j(n)).forEach(r=>{if(!n.__isScriptSetup){if(is(r[0])){x(`setup() return property ${JSON.stringify(r)} should not start with "$" or "_" which are reserved prefixes for Vue internals.`);return}Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>n[r],set:fe})}})}function kn(e){return A(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Ou(e,t){return!e||!t?e||t:A(e)&&A(t)?e.concat(t):J({},kn(e),kn(t))}function mc(){const e=Object.create(null);return(t,n)=>{e[n]?x(`${t} property "${n}" is already defined in ${e[n]}.`):e[n]=t}}let Fr=!0;function gc(e){const t=Qo(e),n=e.proxy,r=e.ctx;Fr=!1,t.beforeCreate&&$s(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:f,inject:p,created:u,beforeMount:a,mounted:m,beforeUpdate:v,updated:O,activated:w,deactivated:B,beforeDestroy:L,beforeUnmount:V,destroyed:F,unmounted:X,render:M,renderTracked:Z,renderTriggered:ge,errorCaptured:ce,serverPrefetch:_e,expose:Ge,inheritAttrs:ct,components:Oe,directives:yn,filters:as}=t,ft=mc();{const[U]=e.propsOptions;if(U)for(const H in U)ft("Props",H)}if(p&&_c(p,r,ft),i)for(const U in i){const H=i[U];$(H)?(Object.defineProperty(r,U,{value:H.bind(n),configurable:!0,enumerable:!0,writable:!0}),ft("Methods",U)):x(`Method "${U}" has type "${typeof H}" in the component definition. Did you reference the function correctly?`)}if(s){$(s)||x("The data option must be a function. Plain object usage is no longer supported.");const U=s.call(n,n);if(Kr(U)&&x("data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>."),!D(U))x("data() should return an object.");else{e.data=Xr(U);for(const H in U)ft("Data",H),is(H[0])||Object.defineProperty(r,H,{configurable:!0,enumerable:!0,get:()=>U[H],set:fe})}}if(Fr=!0,o)for(const U in o){const H=o[U],Re=$(H)?H.bind(n,n):$(H.get)?H.get.bind(n,n):fe;Re===fe&&x(`Computed property "${U}" has no getter.`);const ur=!$(H)&&$(H.set)?H.set.bind(n):()=>{x(`Write operation failed: computed property "${U}" is readonly.`)},Lt=Jt({get:Re,set:ur});Object.defineProperty(r,U,{enumerable:!0,configurable:!0,get:()=>Lt.value,set:Ot=>Lt.value=Ot}),ft("Computed",U)}if(l)for(const U in l)Zo(l[U],r,n,U);if(f){const U=$(f)?f.call(n):f;Reflect.ownKeys(U).forEach(H=>{Kl(H,U[H])})}u&&$s(u,e,"c");function ye(U,H){A(H)?H.forEach(Re=>U(Re.bind(n))):H&&U(H.bind(n))}if(ye(ec,a),ye(zo,m),ye(tc,v),ye(nc,O),ye(Xl,w),ye(Zl,B),ye(ic,ce),ye(oc,Z),ye(sc,ge),ye(qo,V),ye(os,X),ye(rc,_e),A(Ge))if(Ge.length){const U=e.exposed||(e.exposed={});Ge.forEach(H=>{Object.defineProperty(U,H,{get:()=>n[H],set:Re=>n[H]=Re,enumerable:!0})})}else e.exposed||(e.exposed={});M&&e.render===fe&&(e.render=M),ct!=null&&(e.inheritAttrs=ct),Oe&&(e.components=Oe),yn&&(e.directives=yn),_e&&ss(e)}function _c(e,t,n=fe){A(e)&&(e=jr(e));for(const r in e){const s=e[r];let o;D(s)?"default"in s?o=In(s.from||r,s.default,!0):o=In(s.from||r):o=In(s),ne(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o,n("Inject",r)}}function $s(e,t,n){Ie(A(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Zo(e,t,n,r){let s=r.includes(".")?Ko(n,r):()=>n[r];if(G(e)){const o=t[e];$(o)?br(s,o):x(`Invalid watch handler specified by key "${e}"`,o)}else if($(e))br(s,e.bind(n));else if(D(e))if(A(e))e.forEach(o=>Zo(o,t,n,r));else{const o=$(e.handler)?e.handler.bind(n):t[e.handler];$(o)?br(s,o,e):x(`Invalid watch handler specified by key "${e.handler}"`,o)}else x(`Invalid watch option: "${r}"`,e)}function Qo(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let f;return l?f=l:!s.length&&!n&&!r?f=t:(f={},s.length&&s.forEach(p=>Un(f,p,i,!0)),Un(f,t,i)),D(t)&&o.set(t,f),f}function Un(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Un(e,o,n,!0),s&&s.forEach(i=>Un(e,i,n,!0));for(const i in t)if(r&&i==="expose")x('"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.');else{const l=yc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const yc={data:Is,props:Rs,emits:Rs,methods:Gt,computed:Gt,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Gt,directives:Gt,watch:vc,provide:Is,inject:bc};function Is(e,t){return t?e?function(){return J($(e)?e.call(this,this):e,$(t)?t.call(this,this):t)}:t:e}function bc(e,t){return Gt(jr(e),jr(t))}function jr(e){if(A(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ae(e,t){return e?[...new Set([].concat(e,t))]:t}function Gt(e,t){return e?J(Object.create(null),e,t):t}function Rs(e,t){return e?A(e)&&A(t)?[...new Set([...e,...t])]:J(Object.create(null),kn(e),kn(t??{})):t}function vc(e,t){if(!e)return t;if(!t)return e;const n=J(Object.create(null),e);for(const r in t)n[r]=ae(e[r],t[r]);return n}function ei(){return{app:null,config:{isNativeTag:oo,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 wc=0;function xc(e,t){return function(r,s=null){$(r)||(r=J({},r)),s!=null&&!D(s)&&(x("root props passed to app.mount() must be an object."),s=null);const o=ei(),i=new WeakSet,l=[];let f=!1;const p=o.app={_uid:wc++,_component:r,_props:s,_container:null,_context:o,_instance:null,version:Ks,get config(){return o.config},set config(u){x("app.config cannot be replaced. Modify individual options instead.")},use(u,...a){return i.has(u)?x("Plugin has already been applied to target app."):u&&$(u.install)?(i.add(u),u.install(p,...a)):$(u)?(i.add(u),u(p,...a)):x('A plugin must either be a function or an object with an "install" function.'),p},mixin(u){return o.mixins.includes(u)?x("Mixin has already been applied to target app"+(u.name?`: ${u.name}`:"")):o.mixins.push(u),p},component(u,a){return Hr(u,o.config),a?(o.components[u]&&x(`Component "${u}" has already been registered in target app.`),o.components[u]=a,p):o.components[u]},directive(u,a){return Uo(u),a?(o.directives[u]&&x(`Directive "${u}" has already been registered in target app.`),o.directives[u]=a,p):o.directives[u]},mount(u,a,m){if(f)x("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{u.__vue_app__&&x("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 v=p._ceVNode||te(r,s);return v.appContext=o,m===!0?m="svg":m===!1&&(m=void 0),o.reload=()=>{const O=ht(v);O.el=null,e(O,u,m)},e(v,u,m),f=!0,p._container=u,u.__vue_app__=p,p._instance=v.component,Fl(p,Ks),cr(v.component)}},onUnmount(u){typeof u!="function"&&x(`Expected function as first argument to app.onUnmount(), but got ${typeof u}`),l.push(u)},unmount(){f?(Ie(l,p._instance,16),e(null,p._container),p._instance=null,jl(p),delete p._container.__vue_app__):x("Cannot unmount an app that is not mounted.")},provide(u,a){return u in o.provides&&(k(o.provides,u)?x(`App already provides property with key "${String(u)}". It will be overwritten with the new value.`):x(`App already provides property with key "${String(u)}" inherited from its parent element. It will be overwritten with the new value.`)),o.provides[u]=a,p},runWithContext(u){const a=Ft;Ft=p;try{return u()}finally{Ft=a}}};return p}}let Ft=null;function Eu(e,t,n=N){const r=us();if(!r)return x("useModel() called without active instance."),dt();const s=re(t);if(!r.propsOptions[0][s])return x(`useModel() called with prop "${t}" which is not declared.`),dt();const o=qe(t),i=ti(e,s),l=yl((f,p)=>{let u,a=N,m;return zl(()=>{const v=e[s];le(u,v)&&(u=v,p())}),{get(){return f(),n.get?n.get(u):u},set(v){const O=n.set?n.set(v):v;if(!le(O,u)&&!(a!==N&&le(v,a)))return;const w=r.vnode.props,B=!!(w&&(t in w||s in w||o in w)&&(`onUpdate:${t}`in w||`onUpdate:${s}`in w||`onUpdate:${o}`in w));B||(u=v,p()),r.emit(`update:${t}`,O),le(v,a)&&(le(v,O)&&!le(O,m)||B&&a!==N&&!le(O,u))&&p(),a=v,m=O}}});return l[Symbol.iterator]=()=>{let f=0;return{next(){return f<2?{value:f++?i||N:l,done:!1}:{done:!0}}}},l}const ti=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${re(t)}Modifiers`]||e[`${qe(t)}Modifiers`];function Sc(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||N;{const{emitsOptions:u,propsOptions:[a]}=e;if(u)if(!(t in u))(!a||!(_t(re(t))in a))&&x(`Component emitted event "${t}" but it is neither declared in the emits option nor as an "${_t(re(t))}" prop.`);else{const m=u[t];$(m)&&(m(...n)||x(`Invalid event arguments: event validation failed for event "${t}".`))}}let s=n;const o=t.startsWith("update:"),i=o&&ti(r,t.slice(7));i&&(i.trim&&(s=n.map(u=>G(u)?u.trim():u)),i.number&&(s=s.map(Xn))),kl(e,t,s);{const u=t.toLowerCase();u!==t&&r[_t(u)]&&x(`Event "${u}" is emitted in component ${_n(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 "${qe(t)}" instead of "${t}".`)}let l,f=r[l=_t(t)]||r[l=_t(re(t))];!f&&o&&(f=r[l=_t(qe(t))]),f&&Ie(f,e,6,s);const p=r[l+"Once"];if(p){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ie(p,e,6,s)}}const Cc=new WeakMap;function ni(e,t,n=!1){const r=n?Cc:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!$(e)){const f=p=>{const u=ni(p,t,!0);u&&(l=!0,J(i,u))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!l?(D(e)&&r.set(e,null),null):(A(o)?o.forEach(f=>i[f]=null):J(i,o),D(e)&&r.set(e,i),i)}function ir(e,t){return!e||!un(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),k(e,t[0].toLowerCase()+t.slice(1))||k(e,qe(t))||k(e,t))}let Vr=!1;function Kn(){Vr=!0}function Fs(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:l,emit:f,render:p,renderCache:u,props:a,data:m,setupState:v,ctx:O,inheritAttrs:w}=e,B=Ln(e);let L,V;Vr=!1;try{if(n.shapeFlag&4){const M=s||r,Z=v.__isScriptSetup?new Proxy(M,{get(ge,ce,_e){return x(`Property '${String(ce)}' was accessed via 'this'. Avoid using 'this' in templates.`),Reflect.get(ge,ce,_e)}}):M;L=Ee(p.call(Z,M,u,Be(a),v,m,O)),V=l}else{const M=t;l===a&&Kn(),L=Ee(M.length>1?M(Be(a),{get attrs(){return Kn(),Be(l)},slots:i,emit:f}):M(Be(a),null)),V=t.props?l:Tc(l)}}catch(M){rt.length=0,Dt(M,e,1),L=te(me)}let F=L,X;if(L.patchFlag>0&&L.patchFlag&2048&&([F,X]=ri(L)),V&&w!==!1){const M=Object.keys(V),{shapeFlag:Z}=F;if(M.length){if(Z&7)o&&M.some(nn)&&(V=Oc(V,o)),F=ht(F,V,!1,!0);else if(!Vr&&F.type!==me){const ge=Object.keys(l),ce=[],_e=[];for(let Ge=0,ct=ge.length;Ge<ct;Ge++){const Oe=ge[Ge];un(Oe)?nn(Oe)||ce.push(Oe[2].toLowerCase()+Oe.slice(3)):_e.push(Oe)}_e.length&&x(`Extraneous non-props attributes (${_e.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`),ce.length&&x(`Extraneous non-emits event listeners (${ce.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.`)}}}if(n.dirs&&(js(F)||x("Runtime directive used on component with non-element root node. The directives will not function as intended."),F=ht(F,null,!1,!0),F.dirs=F.dirs?F.dirs.concat(n.dirs):n.dirs),n.transition){const M=sr(F.type)&&Bo(F)||F;js(M)||x("Component inside <Transition> renders non-element root node that cannot be animated."),ns(M,n.transition)}return X?X(F):L=F,Ln(B),L}const ri=e=>{const t=e.children,n=e.dynamicChildren,r=lr(t,!1);if(r){if(r.patchFlag>0&&r.patchFlag&2048)return ri(r)}else return[e,void 0];const s=t.indexOf(r),o=n?n.indexOf(r):-1,i=l=>{t[s]=l,n&&(o>-1?n[o]=l:l.patchFlag>0&&(e.dynamicChildren=[...n,l]))};return[Ee(r),i]};function lr(e,t=!0){let n;for(let r=0;r<e.length;r++){const s=e[r];if(Tt(s)){if(s.type!==me||s.children==="v-if"){if(n)return;if(n=s,t&&n.patchFlag>0&&n.patchFlag&2048)return lr(n.children)}}else return}return n}const Tc=e=>{let t;for(const n in e)(n==="class"||n==="style"||un(n))&&((t||(t={}))[n]=e[n]);return t},Oc=(e,t)=>{const n={};for(const r in e)(!nn(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n},js=e=>e.shapeFlag&7||e.type===me;function Ec(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:f}=t,p=o.emitsOptions;if((s||l)&&we||t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return r?Vs(r,i,p):!!i;if(f&8){const u=t.dynamicProps;for(let a=0;a<u.length;a++){const m=u[a];if(si(i,r,m)&&!ir(p,m))return!0}}}else return(s||l)&&(!l||!l.$stable)?!0:r===i?!1:r?i?Vs(r,i,p):!0:!!i;return!1}function Vs(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let s=0;s<r.length;s++){const o=r[s];if(si(t,e,o)&&!ir(n,o))return!0}return!1}function si(e,t,n){const r=e[n],s=t[n];return n==="style"&&D(r)&&D(s)?!ot(r,s):r!==s}function Mc({vnode:e,parent:t,suspense:n},r){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.suspense.vnode.el=s.el=r,e=s),s===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}const oi={},ii=()=>Object.create(oi),li=e=>Object.getPrototypeOf(e)===oi;function Ac(e,t,n,r=!1){const s={},o=ii();e.propsDefaults=Object.create(null),ci(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);ui(t||{},s,e),n?e.props=r?s:dl(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Pc(e){for(;e;){if(e.type.__hmrId)return!0;e=e.parent}}function $c(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=j(s),[f]=e.propsOptions;let p=!1;if(!Pc(e)&&(r||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let a=0;a<u.length;a++){let m=u[a];if(ir(e.emitsOptions,m))continue;const v=t[m];if(f)if(k(o,m))v!==o[m]&&(o[m]=v,p=!0);else{const O=re(m);s[O]=Nr(f,l,O,v,e,!1)}else v!==o[m]&&(o[m]=v,p=!0)}}}else{ci(e,t,s,o)&&(p=!0);let u;for(const a in l)(!t||!k(t,a)&&((u=qe(a))===a||!k(t,u)))&&(f?n&&(n[a]!==void 0||n[u]!==void 0)&&(s[a]=Nr(f,l,a,void 0,e,!0)):delete s[a]);if(o!==l)for(const a in o)(!t||!k(t,a))&&(delete o[a],p=!0)}p&&Ue(e.attrs,"set",""),ui(t||{},s,e)}function ci(e,t,n,r){const[s,o]=e.propsOptions;let i=!1,l;if(t)for(let f in t){if(Xt(f))continue;const p=t[f];let u;s&&k(s,u=re(f))?!o||!o.includes(u)?n[u]=p:(l||(l={}))[u]=p:ir(e.emitsOptions,f)||(!(f in r)||p!==r[f])&&(r[f]=p,i=!0)}if(o){const f=j(n),p=l||N;for(let u=0;u<o.length;u++){const a=o[u];n[a]=Nr(s,f,a,p[a],e,!k(p,a))}}return i}function Nr(e,t,n,r,s,o){const i=e[n];if(i!=null){const l=k(i,"default");if(l&&r===void 0){const f=i.default;if(i.type!==Function&&!i.skipFactory&&$(f)){const{propsDefaults:p}=s;if(n in p)r=p[n];else{const u=gn(s);r=p[n]=f.call(null,t),u()}}else r=f;s.ce&&s.ce._setProp(n,r)}i[0]&&(o&&!l?r=!1:i[1]&&(r===""||r===qe(n))&&(r=!0))}return r}const Ic=new WeakMap;function fi(e,t,n=!1){const r=n?Ic:t.propsCache,s=r.get(e);if(s)return s;const o=e.props,i={},l=[];let f=!1;if(!$(e)){const u=a=>{f=!0;const[m,v]=fi(a,t,!0);J(i,m),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!f)return D(e)&&r.set(e,bt),bt;if(A(o))for(let u=0;u<o.length;u++){G(o[u])||x("props must be strings when using array syntax.",o[u]);const a=re(o[u]);Ns(a)&&(i[a]=N)}else if(o){D(o)||x("invalid props options",o);for(const u in o){const a=re(u);if(Ns(a)){const m=o[u],v=i[a]=A(m)||$(m)?{type:m}:J({},m),O=v.type;let w=!1,B=!0;if(A(O))for(let L=0;L<O.length;++L){const V=O[L],F=$(V)&&V.name;if(F==="Boolean"){w=!0;break}else F==="String"&&(B=!1)}else w=$(O)&&O.name==="Boolean";v[0]=w,v[1]=B,(w||k(v,"default"))&&l.push(a)}}}const p=[i,l];return D(e)&&r.set(e,p),p}function Ns(e){return e[0]!=="$"&&!Xt(e)?!0:(x(`Invalid prop name: "${e}" is a reserved property.`),!1)}function Rc(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function ui(e,t,n){const r=j(t),s=n.propsOptions[0],o=Object.keys(e).map(i=>re(i));for(const i in s){let l=s[i];l!=null&&Fc(i,r[i],l,Be(r),!o.includes(i))}}function Fc(e,t,n,r,s){const{type:o,required:i,validator:l,skipCheck:f}=n;if(i&&s){x('Missing required prop: "'+e+'"');return}if(!(t==null&&!i)){if(o!=null&&o!==!0&&!f){let p=!1;const u=A(o)?o:[o],a=[];for(let m=0;m<u.length&&!p;m++){const{valid:v,expectedType:O}=Vc(t,u[m]);a.push(O||""),p=v}if(!p){x(Nc(e,t,a));return}}l&&!l(t,r)&&x('Invalid prop: custom validator check failed for prop "'+e+'".')}}const jc=it("String,Number,Boolean,Function,Symbol,BigInt");function Vc(e,t){let n;const r=Rc(t);if(r==="null")n=e===null;else if(jc(r)){const s=typeof e;n=s===r.toLowerCase(),!n&&s==="object"&&(n=e instanceof t)}else r==="Object"?n=D(e):r==="Array"?n=A(e):n=e instanceof t;return{valid:n,expectedType:r}}function Nc(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 r=`Invalid prop: type check failed for prop "${e}". Expected ${n.map(St).join(" | ")}`;const s=n[0],o=Br(t),i=Ds(t,s),l=Ds(t,o);return n.length===1&&Ls(s)&&Dc(s,o)&&(r+=` with value ${i}`),r+=`, got ${o} `,Ls(o)&&(r+=`with value ${l}.`),r}function Ds(e,t){return Se(e)?e.toString():t==="String"?`"${e}"`:t==="Number"?`${Number(e)}`:`${e}`}function Ls(e){return["string","number","boolean"].some(n=>e.toLowerCase()===n)}function Dc(...e){return e.every(t=>{const n=t.toLowerCase();return n!=="boolean"&&n!=="symbol"})}const ls=e=>e==="_"||e==="_ctx"||e==="$stable",cs=e=>A(e)?e.map(Ee):[Ee(e)],Lc=(e,t,n)=>{if(t._n)return t;const r=Ul((...s)=>(Y&&!(n===null&&ee)&&!(n&&n.root!==Y.root)&&x(`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.`),cs(t(...s))),n);return r._c=!1,r},ai=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ls(s))continue;const o=e[s];if($(o))t[s]=Lc(s,o,r);else if(o!=null){x(`Non-function value encountered for slot "${s}". Prefer function slots for better performance.`);const i=cs(o);t[s]=()=>i}}},di=(e,t)=>{hn(e.vnode)||x("Non-function value encountered for default slot. Prefer function slots for better performance.");const n=cs(t);e.slots.default=()=>n},Dr=(e,t,n)=>{for(const r in t)(n||!ls(r))&&(e[r]=t[r])},Hc=(e,t,n)=>{const r=e.slots=ii();if(e.vnode.shapeFlag&32){const s=t._;s?(Dr(r,t,n),n&&Fn(r,"_",s,!0)):ai(t,r)}else t&&di(e,t)},kc=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=N;if(r.shapeFlag&32){const l=t._;l?we?(Dr(s,t,n),Ue(e,"set","$slots")):n&&l===1?o=!1:Dr(s,t,n):(o=!t.$stable,ai(t,s)),i=t}else t&&(di(e,t),i={default:1});if(o)for(const l in s)!ls(l)&&i[l]==null&&delete s[l]};let Bt,Ze;function Mt(e,t){e.appContext.config.performance&&Bn()&&Ze.mark(`vue-${t}-${e.uid}`),Ll(e,t,Bn()?Ze.now():Date.now())}function At(e,t){if(e.appContext.config.performance&&Bn()){const n=`vue-${t}-${e.uid}`,r=n+":end",s=`<${_n(e,e.type)}> ${t}`;Ze.mark(r),Ze.measure(s,n,r),Ze.clearMeasures(s),Ze.clearMarks(n),Ze.clearMarks(r)}Hl(e,t,Bn()?Ze.now():Date.now())}function Bn(){return Bt!==void 0||(typeof window<"u"&&window.performance?(Bt=!0,Ze=window.performance):Bt=!1),Bt}function Uc(){const e=[];if(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.
|
|
7
|
+
|
|
8
|
+
For more details, see https://link.vuejs.org/feature-flags.`)}}const be=qc;function Kc(e){return Bc(e)}function Bc(e,t){Uc();const n=dn();n.__VUE__=!0,Do(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:f,setText:p,setElementText:u,parentNode:a,nextSibling:m,setScopeId:v=fe,insertStaticContent:O}=e,w=(c,d,h,b=null,_=null,g=null,T=void 0,C=null,S=we?!1:!!d.dynamicChildren)=>{if(c===d)return;c&&!Wt(c,d)&&(b=bn(c),Je(c,_,g,!0),c=null),d.patchFlag===-2&&(S=!1,d.dynamicChildren=null),d.dynamicChildren&&c&&c.dynamicChildren&&c.dynamicChildren.hasOnce&&(d.dynamicChildren===bt&&(d.dynamicChildren=[]),d.dynamicChildren.hasOnce=!0);const{type:y,ref:I,shapeFlag:E}=d;switch(y){case mn:B(c,d,h,b);break;case me:L(c,d,h,b);break;case tn:c==null?V(d,h,b,T):F(c,d,h,T);break;case pe:yn(c,d,h,b,_,g,T,C,S);break;default:E&1?Z(c,d,h,b,_,g,T,C,S):E&6?as(c,d,h,b,_,g,T,C,S):E&64||E&128?y.process(c,d,h,b,_,g,T,C,S,kt):x("Invalid VNode type:",y,`(${typeof y})`)}I!=null&&_?en(I,c&&c.ref,g,d||c,!d):I==null&&c&&c.ref!=null&&en(c.ref,null,g,c,!0)},B=(c,d,h,b)=>{if(c==null)r(d.el=l(d.children),h,b);else{const _=d.el=c.el;d.children!==c.children&&p(_,d.children)}},L=(c,d,h,b)=>{c==null?r(d.el=f(d.children||""),h,b):d.el=c.el},V=(c,d,h,b)=>{[c.el,c.anchor]=O(c.children,d,h,b,c.el,c.anchor)},F=(c,d,h,b)=>{if(d.children!==c.children){const _=m(c.anchor);M(c),[d.el,d.anchor]=O(d.children,h,_,b)}else d.el=c.el,d.anchor=c.anchor},X=({el:c,anchor:d},h,b)=>{let _;for(;c&&c!==d;)_=m(c),r(c,h,b),c=_;r(d,h,b)},M=({el:c,anchor:d})=>{let h;for(;c&&c!==d;)h=m(c),s(c),c=h;s(d)},Z=(c,d,h,b,_,g,T,C,S)=>{if(d.type==="svg"?T="svg":d.type==="math"&&(T="mathml"),c==null)ge(d,h,b,_,g,T,C,S);else{const y=c.el&&c.el._isVueCE?c.el:null;try{y&&y._beginPatch(),Ge(c,d,_,g,T,C,S)}finally{y&&y._endPatch()}}},ge=(c,d,h,b,_,g,T,C)=>{let S,y;const{props:I,shapeFlag:E,transition:P,dirs:R}=c;if(S=c.el=i(c.type,g,I&&I.is,I),E&8?u(S,c.children):E&16&&_e(c.children,S,null,b,_,xr(c,g),T,C),R&&mt(c,null,b,"created"),ce(S,c,c.scopeId,T,b),I){for(const z in I)z!=="value"&&!Xt(z)&&o(S,z,null,I[z],g,b);"value"in I&&o(S,"value",null,I.value,g),(y=I.onVnodeBeforeMount)&&Ne(y,b,c)}Fn(S,"__vnode",c,!0),Fn(S,"__vueParentComponent",b,!0),R&&mt(c,null,b,"beforeMount");const K=Wc(_,P);if(K&&P.beforeEnter(S),r(S,d,h),(y=I&&I.onVnodeMounted)||K||R){const z=we;be(()=>{let W;W=Cs(z);try{y&&Ne(y,b,c),K&&P.enter(S),R&&mt(c,null,b,"mounted")}finally{Cs(W)}},_)}},ce=(c,d,h,b,_)=>{if(h&&v(c,h),b)for(let g=0;g<b.length;g++)v(c,b[g]);if(_){let g=_.subTree;if(g.patchFlag>0&&g.patchFlag&2048&&(g=lr(g.children)||g),d===g||mi(g.type)&&(g.ssContent===d||g.ssFallback===d)){const T=_.vnode;ce(c,T,T.scopeId,T.slotScopeIds,_.parent)}}},_e=(c,d,h,b,_,g,T,C,S=0)=>{for(let y=S;y<c.length;y++){const I=c[y]=C?Qe(c[y]):Ee(c[y]);w(null,I,d,h,b,_,g,T,C)}},Ge=(c,d,h,b,_,g,T)=>{const C=d.el=c.el;C.__vnode=d;let{patchFlag:S,dynamicChildren:y,dirs:I}=d;S|=c.patchFlag&16;const E=c.props||N,P=d.props||N;let R;if(h&>(h,!1),(R=P.onVnodeBeforeUpdate)&&Ne(R,h,d,c),I&&mt(d,c,h,"beforeUpdate"),h&>(h,!0),(we||y&&(!c.dynamicChildren||c.dynamicChildren.length!==y.length))&&(S=0,T=!1,y=null),(E.innerHTML&&P.innerHTML==null||E.textContent&&P.textContent==null)&&u(C,""),y?(ct(c.dynamicChildren,y,C,h,b,xr(d,_),g),Lr(c,d)):T||Re(c,d,C,null,h,b,xr(d,_),g,!1),S>0){if(S&16)Oe(C,E,P,h,_);else if(S&2&&E.class!==P.class&&o(C,"class",null,P.class,_),S&4&&o(C,"style",E.style,P.style,_),S&8){const K=d.dynamicProps;for(let z=0;z<K.length;z++){const W=K[z],Q=E[W],oe=P[W];(oe!==Q||W==="value")&&o(C,W,Q,oe,_,h)}}S&1&&c.children!==d.children&&u(C,d.children)}else!T&&y==null&&Oe(C,E,P,h,_);((R=P.onVnodeUpdated)||I)&&be(()=>{R&&Ne(R,h,d,c),I&&mt(d,c,h,"updated")},b)},ct=(c,d,h,b,_,g,T)=>{for(let C=0;C<d.length;C++){const S=c[C],y=d[C],I=S.el&&(S.type===pe||!Wt(S,y)||S.shapeFlag&198)?a(S.el):h;w(S,y,I,null,b,_,g,T,!0)}},Oe=(c,d,h,b,_)=>{if(d!==h){if(d!==N)for(const g in d)!Xt(g)&&!(g in h)&&o(c,g,d[g],null,_,b);for(const g in h){if(Xt(g))continue;const T=h[g],C=d[g];T!==C&&g!=="value"&&o(c,g,C,T,_,b)}"value"in h&&o(c,"value",d.value,h.value,_)}},yn=(c,d,h,b,_,g,T,C,S)=>{const y=d.el=c?c.el:l(""),I=d.anchor=c?c.anchor:l("");let{patchFlag:E,dynamicChildren:P,slotScopeIds:R}=d;(we||E&2048)&&(E=0,S=!1,P=null),R&&(C=C?C.concat(R):R),c==null?(r(y,h,b),r(I,h,b),_e(d.children||[],h,I,_,g,T,C,S)):E>0&&E&64&&P&&c.dynamicChildren&&c.dynamicChildren.length===P.length?(ct(c.dynamicChildren,P,h,_,g,T,C),Lr(c,d)):Re(c,d,h,I,_,g,T,C,S)},as=(c,d,h,b,_,g,T,C,S)=>{d.slotScopeIds=C,c==null?d.shapeFlag&512?_.ctx.activate(d,h,b,T,S):ft(d,h,b,_,g,T,S):ye(c,d,S)},ft=(c,d,h,b,_,g,T)=>{const C=c.component=nf(c,b,_);if(C.type.__hmrId&&Pl(C),An(c),Mt(C,"mount"),hn(c)&&(C.ctx.renderer=kt),Mt(C,"init"),sf(C,!1,T),At(C,"init"),we&&(c.el=null),C.asyncDep){if(_&&_.registerDep(C,U,T),!c.el){const S=C.subTree=te(me);L(null,S,d,h),c.placeholder=S.el}}else U(C,c,d,h,_,g,T);Pn(),At(C,"mount")},ye=(c,d,h)=>{const b=d.component=c.component;if(Ec(c,d,h))if(b.asyncDep&&!b.asyncResolved){An(d),d.el=c.el,H(b,d,h),Pn();return}else b.next=d,b.update();else d.el=c.el,b.vnode=d},U=(c,d,h,b,_,g,T)=>{const C=()=>{if(c.isMounted){let{next:E,bu:P,u:R,parent:K,vnode:z}=c;{const je=pi(c);if(je){E&&(E.el=z.el,H(c,E,T)),je.asyncDep.then(()=>{be(()=>{c.isUnmounted||y()},_)});return}}let W=E,Q;An(E||c.vnode),gt(c,!1),E?(E.el=z.el,H(c,E,T)):E=z,P&&Pt(P),(Q=E.props&&E.props.onVnodeBeforeUpdate)&&Ne(Q,K,E,z),gt(c,!0),Mt(c,"render");const oe=Fs(c);At(c,"render");const Fe=c.subTree;c.subTree=oe,Mt(c,"patch"),w(Fe,oe,a(Fe.el),bn(Fe),c,_,g),At(c,"patch"),E.el=oe.el,W===null&&Mc(c,oe.el),R&&be(R,_),(Q=E.props&&E.props.onVnodeUpdated)&&be(()=>Ne(Q,K,E,z),_),Lo(c),Pn()}else{let E;const{el:P,props:R}=d,{bm:K,m:z,parent:W,root:Q,type:oe}=c,Fe=Rt(d);gt(c,!1),K&&Pt(K),!Fe&&(E=R&&R.onVnodeBeforeMount)&&Ne(E,W,d),gt(c,!0);{Q.ce&&Q.ce._hasShadowRoot()&&Q.ce._injectChildStyle(oe,c.parent?c.parent.type:void 0),Mt(c,"render");const je=c.subTree=Fs(c);At(c,"render"),Mt(c,"patch"),w(null,je,h,b,c,_,g),At(c,"patch"),d.el=je.el}if(z&&be(z,_),!Fe&&(E=R&&R.onVnodeMounted)){const je=d;be(()=>Ne(E,W,je),_)}(d.shapeFlag&256||W&&Rt(W.vnode)&&W.vnode.shapeFlag&256)&&c.a&&be(c.a,_),c.isMounted=!0,Vl(c),d=h=b=null}};c.scope.on();const S=c.effect=new ao(C);c.scope.off();const y=c.update=S.run.bind(S),I=c.job=S.runIfDirty.bind(S);I.i=c,I.id=c.uid,S.scheduler=()=>rr(I),gt(c,!0),S.onTrack=c.rtc?E=>Pt(c.rtc,E):void 0,S.onTrigger=c.rtg?E=>Pt(c.rtg,E):void 0,y()},H=(c,d,h)=>{d.component=c;const b=c.vnode.props;c.vnode=d,c.next=null,$c(c,d.props,b,h),kc(c,d.children,h),Pe(),Ss(c),$e()},Re=(c,d,h,b,_,g,T,C,S=!1)=>{const y=c&&c.children,I=c?c.shapeFlag:0,E=d.children,{patchFlag:P,shapeFlag:R}=d;if(P>0){if(P&128){Lt(y,E,h,b,_,g,T,C,S);return}else if(P&256){ur(y,E,h,b,_,g,T,C,S);return}}R&8?(I&16&&Ht(y,_,g),E!==y&&u(h,E)):I&16?R&16?Lt(y,E,h,b,_,g,T,C,S):Ht(y,_,g,!0):(I&8&&u(h,""),R&16&&_e(E,h,b,_,g,T,C,S))},ur=(c,d,h,b,_,g,T,C,S)=>{c=c||bt,d=d||bt;const y=c.length,I=d.length,E=Math.min(y,I);let P;for(P=0;P<E;P++){const R=d[P]=S?Qe(d[P]):Ee(d[P]);w(c[P],R,h,null,_,g,T,C,S)}y>I?Ht(c,_,g,!0,!1,E):_e(d,h,b,_,g,T,C,S,E)},Lt=(c,d,h,b,_,g,T,C,S)=>{let y=0;const I=d.length;let E=c.length-1,P=I-1;for(;y<=E&&y<=P;){const R=c[y],K=d[y]=S?Qe(d[y]):Ee(d[y]);if(Wt(R,K))w(R,K,h,null,_,g,T,C,S);else break;y++}for(;y<=E&&y<=P;){const R=c[E],K=d[P]=S?Qe(d[P]):Ee(d[P]);if(Wt(R,K))w(R,K,h,null,_,g,T,C,S);else break;E--,P--}if(y>E){if(y<=P){const R=P+1,K=R<I?d[R].el:b;for(;y<=P;)w(null,d[y]=S?Qe(d[y]):Ee(d[y]),h,K,_,g,T,C,S),y++}}else if(y>P)for(;y<=E;)Je(c[y],_,g,!0),y++;else{const R=y,K=y,z=new Map;for(y=K;y<=P;y++){const ue=d[y]=S?Qe(d[y]):Ee(d[y]);ue.key!=null&&(z.has(ue.key)&&x("Duplicate keys found during update:",JSON.stringify(ue.key),"Make sure keys are unique."),z.set(ue.key,y))}let W,Q=0;const oe=P-K+1;let Fe=!1,je=0;const Ut=new Array(oe);for(y=0;y<oe;y++)Ut[y]=0;for(y=R;y<=E;y++){const ue=c[y];if(Q>=oe){Je(ue,_,g,!0);continue}let Ve;if(ue.key!=null)Ve=z.get(ue.key);else for(W=K;W<=P;W++)if(Ut[W-K]===0&&Wt(ue,d[W])){Ve=W;break}Ve===void 0?Je(ue,_,g,!0):(Ut[Ve-K]=y+1,Ve>=je?je=Ve:Fe=!0,w(ue,d[Ve],h,null,_,g,T,C,S),Q++)}const ps=Fe?zc(Ut):bt;for(W=ps.length-1,y=oe-1;y>=0;y--){const ue=K+y,Ve=d[ue],hs=d[ue+1],ms=ue+1<I?hs.el||hi(hs):b;Ut[y]===0?w(null,Ve,h,ms,_,g,T,C,S):Fe&&(W<0||y!==ps[W]?Ot(Ve,h,ms,2):W--)}}},Ot=(c,d,h,b,_=null)=>{const{el:g,type:T,transition:C,children:S,shapeFlag:y}=c;if(y&6){Ot(c.component.subTree,d,h,b);return}if(y&128){c.suspense.move(d,h,b);return}if(y&64){T.move(c,d,h,kt);return}if(T===pe){r(g,d,h);for(let E=0;E<S.length;E++)Ot(S[E],d,h,b);r(c.anchor,d,h);return}if(T===tn){X(c,d,h);return}if(b!==2&&y&1&&C)if(b===0)C.persisted&&!g[vr]?r(g,d,h):(C.beforeEnter(g),r(g,d,h),be(()=>C.enter(g),_));else{const{leave:E,delayLeave:P,afterLeave:R}=C,K=()=>{c.ctx.isUnmounted?s(g):r(g,d,h)},z=()=>{const W=g._isLeaving||!!g[vr];g._isLeaving&&g[vr](!0),C.persisted&&!W?K():E(g,()=>{K(),R&&R()})};P?P(g,K,z):z()}else r(g,d,h)},Je=(c,d,h,b=!1,_=!1)=>{const{type:g,props:T,ref:C,children:S,dynamicChildren:y,shapeFlag:I,patchFlag:E,dirs:P,cacheIndex:R,memo:K}=c;if((E===-2||y&&y.hasOnce)&&(_=!1),C!=null&&(Pe(),en(C,null,h,c,!0),$e()),R!=null&&(!c.ctx||c.ctx===d)&&(d.renderCache[R]=void 0),I&256){d.ctx.deactivate(c);return}const z=I&1&&P,W=!Rt(c);let Q;if(W&&(Q=T&&T.onVnodeBeforeUnmount)&&Ne(Q,d,c),I&6)Mi(c.component,h,b);else{if(I&128){c.suspense.unmount(h,b);return}z&&mt(c,null,d,"beforeUnmount"),I&64?c.type.remove(c,d,h,kt,b):y&&!y.hasOnce&&(g!==pe||E>0&&E&64)?Ht(y,d,h,!1,!0):(g===pe&&E&384||!_&&I&16)&&Ht(S,d,h),b&&ar(c)}const oe=K!=null&&R==null;(W&&(Q=T&&T.onVnodeUnmounted)||z||oe)&&be(()=>{Q&&Ne(Q,d,c),z&&mt(c,null,d,"unmounted"),oe&&(c.el=null)},h)},ar=c=>{const{type:d,el:h,anchor:b,transition:_}=c;if(d===pe){c.patchFlag>0&&c.patchFlag&2048&&_&&!_.persisted?c.children.forEach(T=>{T.type===me?s(T.el):ar(T)}):Ei(h,b);return}if(d===tn){M(c),_&&!_.persisted&&_.afterLeave&&_.afterLeave();return}const g=()=>{s(h),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(c.shapeFlag&1&&_&&!_.persisted){const{leave:T,delayLeave:C}=_,S=()=>T(h,g);C?C(c.el,g,S):S()}else g()},Ei=(c,d)=>{let h;for(;c!==d;)h=m(c),s(c),c=h;s(d)},Mi=(c,d,h)=>{c.type.__hmrId&&$l(c);const{bum:b,scope:_,job:g,subTree:T,um:C,m:S,a:y}=c;Hs(S),Hs(y),b&&Pt(b),_.stop(),g?(g.flags|=8,Je(T,c,d,h)):c.vnode.el&&T&&(T.transition=c.vnode.transition,Je(T,c,d,h)),C&&be(C,d),be(()=>{c.isUnmounted=!0},d),Dl(c)},Ht=(c,d,h,b=!1,_=!1,g=0)=>{for(let T=g;T<c.length;T++)Je(c[T],d,h,b,_)},bn=c=>{if(c.shapeFlag&6)return bn(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const d=m(c.anchor||c.el),h=d&&d[Gl];return h?m(h):d};let dr=!1;const ds=(c,d,h)=>{let b;c==null?d._vnode&&(Je(d._vnode,null,null,!0),b=d._vnode.component):w(d._vnode||null,c,d,null,null,null,h),d._vnode=c,dr||(dr=!0,Ss(b),jo(),dr=!1)},kt={p:w,um:Je,m:Ot,r:ar,mt:ft,mc:_e,pc:Re,pbc:ct,n:bn,o:e};return{render:ds,hydrate:void 0,createApp:xc(ds)}}function xr({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 gt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Wc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Lr(e,t,n=!1){const r=e.children,s=t.children;if(A(r)&&A(s))for(let o=0;o<r.length;o++){const i=r[o];let l=s[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=s[o]=Qe(s[o]),l.el=i.el),!n&&l.patchFlag!==-2&&Lr(i,l)),l.type===mn&&(l.patchFlag===-1&&(l=s[o]=Qe(l)),l.el=i.el),l.type===me&&!l.el&&(l.el=i.el),l.el&&(l.el.__vnode=l)}}function zc(e){const t=e.slice(),n=[0];let r,s,o,i,l;const f=e.length;for(r=0;r<f;r++){const p=e[r];if(p!==0){if(s=n[n.length-1],e[s]<p){t[r]=s,n.push(r);continue}for(o=0,i=n.length-1;o<i;)l=o+i>>1,e[n[l]]<p?o=l+1:i=l;p<e[n[o]]&&(o>0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function pi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:pi(t)}function Hs(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function hi(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?hi(t.subTree):null}const mi=e=>e.__isSuspense;function qc(e,t){t&&t.pendingBranch?A(e)?t.effects.push(...e):t.effects.push(e):Fo(e)}const pe=Symbol.for("v-fgt"),mn=Symbol.for("v-txt"),me=Symbol.for("v-cmt"),tn=Symbol.for("v-stc"),rt=[];let xe=null;function ve(e=!1){rt.push(xe=e?null:[])}function fs(){rt.pop(),xe=rt[rt.length-1]||null}let ln=1;function Wn(e,t=!1){ln+=e,e<0&&xe&&t&&(xe.hasOnce=!0)}function gi(e){return e.dynamicChildren=ln>0?xe||bt:null,fs(),ln>0&&xe&&xe.push(e),e}function He(e,t,n,r,s,o){return gi(Le(e,t,n,r,s,o,!0))}function zn(e,t,n,r,s){return gi(te(e,t,n,r,s,!0))}function Tt(e){return e?e.__v_isVNode===!0:!1}function Wt(e,t){if(t.shapeFlag&6&&e.component){const n=$n.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 Gc=(...e)=>Yc(...e),_i=({key:e})=>e??null,Rn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?G(e)||ne(e)||$(e)?{i:ee,r:e,k:t,f:!!n}:e:null);function Le(e,t=null,n=null,r=0,s=null,o=e===pe?0:1,i=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&_i(t),ref:t&&Rn(t),scopeId:ko,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:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:ee};if(l?(qn(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=G(n)?8:16),f.key!==f.key&&x("VNode created with invalid key (NaN). VNode type:",f.type),t&&f.shapeFlag&1){const p=t.innerHTML!=null?"innerHTML":t.textContent!=null?"textContent":null;p&&Jc(f.children)&&x(`The \`${p}\` prop on <${f.type}> will override its children. Remove either the \`${p}\` prop or the children.`)}return ln>0&&!i&&xe&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&xe.push(f),f}function Jc(e){return G(e)?e!=="":A(e)?e.length>0:!1}const te=Gc;function Yc(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Go)&&(e||x(`Invalid vnode type when creating vnode: ${e}.`),e=me),Tt(e)){const l=ht(e,t,!0);return n&&qn(l,n),ln>0&&!o&&xe&&(l.shapeFlag&6?xe[xe.indexOf(e)]=l:xe.push(l)),l.patchFlag=-2,l}if(wi(e)&&(e=e.__vccOpts),t){t=Xc(t);let{class:l,style:f}=t;l&&!G(l)&&(t.class=Zn(l)),D(f)&&(jn(f)&&!A(f)&&(f=J({},f)),t.style=zr(f))}const i=G(e)?1:mi(e)?128:sr(e)?64:D(e)?4:$(e)?2:0;return i&4&&jn(e)&&(e=j(e),x("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`.",`
|
|
9
|
+
Component that was made reactive: `,e)),Le(e,t,n,r,s,i,o,!0)}function Xc(e){return e?jn(e)||li(e)?J({},e):e:null}function ht(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:l,transition:f}=e,p=t?Qc(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:p,key:p&&_i(p),ref:t&&t.ref?n&&o?A(o)?o.concat(Rn(t)):[o,Rn(t)]:Rn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i===-1&&A(l)?l.map(yi):l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==pe?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ht(e.ssContent),ssFallback:e.ssFallback&&ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return f&&r&&ns(u,f.clone(u)),u}function yi(e){const t=ht(e);return A(e.children)&&(t.children=e.children.map(yi)),t}function Zc(e=" ",t=0){return te(mn,null,e,t)}function Mu(e,t){const n=te(tn,null,e);return n.staticCount=t,n}function Sr(e="",t=!1){return t?(ve(),zn(me,null,e)):te(me,null,e)}function Ee(e){return e==null||typeof e=="boolean"?te(me):A(e)?te(pe,null,e.slice()):Tt(e)?Qe(e):te(mn,null,String(e))}function Qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ht(e)}function qn(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(A(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),qn(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!li(t)?t._ctx=ee:s===3&&ee&&(ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if($(t)){if(r&65){qn(e,{default:t});return}t={default:t,_ctx:ee},n=32}else t=String(t),r&64?(n=16,t=[Zc(t)]):n=8;e.children=t,e.shapeFlag|=n}function Qc(...e){const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const s in r)if(s==="class")t.class!==r.class&&(t.class=Zn([t.class,r.class]));else if(s==="style")t.style=zr([t.style,r.style]);else if(un(s)){const o=t[s],i=r[s];i&&o!==i&&!(A(o)&&o.includes(i))?t[s]=o?[].concat(o,i):i:i==null&&o==null&&!nn(s)&&(t[s]=i)}else s!==""&&(t[s]=r[s])}return t}function Ne(e,t,n,r=null){Ie(e,t,7,[n,r])}const ef=ei();let tf=0;function nf(e,t,n){const r=e.type,s=(t?t.appContext:e.appContext)||ef,o={uid:tf++,vnode:e,type:r,parent:t,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new qi(!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:fi(r,s),emitsOptions:ni(r,s),emit:null,emitted:null,propsDefaults:N,inheritAttrs:r.inheritAttrs,ctx:N,data:N,props:N,attrs:N,slots:N,refs:N,setupState:N,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 o.ctx=dc(o),o.root=t?t.root:o,o.emit=Sc.bind(null,o),e.ce&&e.ce(o),o}let Y=null;const us=()=>Y||ee;let Gn,cn;{const e=dn(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Gn=t("__VUE_INSTANCE_SETTERS__",n=>Y=n),cn=t("__VUE_SSR_SETTERS__",n=>jt=n)}const gn=e=>{const t=Y;return Gn(e),e.scope.on(),()=>{e.scope.off(),Gn(t)}},ks=()=>{Y&&Y.scope.off(),Gn(null)},rf=it("slot,component");function Hr(e,{isNativeTag:t}){(rf(e)||t(e))&&x("Do not use built-in or reserved HTML elements as component id: "+e)}function bi(e){return e.vnode.shapeFlag&4}let jt=!1;function sf(e,t=!1,n=!1){t&&cn(t);const{props:r,children:s}=e.vnode,o=bi(e);Ac(e,r,o,t),Hc(e,s,n||t);const i=o?of(e,t):void 0;return t&&cn(!1),i}function of(e,t){const n=e.type;{if(n.name&&Hr(n.name,e.appContext.config),n.components){const s=Object.keys(n.components);for(let o=0;o<s.length;o++)Hr(s[o],e.appContext.config)}if(n.directives){const s=Object.keys(n.directives);for(let o=0;o<s.length;o++)Uo(s[o])}n.compilerOptions&&lf()&&x('"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,Xo),pc(e);const{setup:r}=n;if(r){Pe();const s=e.setupContext=r.length>1?uf(e):null,o=gn(e),i=Nt(r,e,0,[Be(e.props),s]),l=Kr(i);if($e(),o(),(l||e.sp)&&!Rt(e)&&ss(e),l){if(i.then(ks,ks),t)return i.then(f=>{cn(!0);try{Us(e,f,t)}finally{cn(!1)}}).catch(f=>{Dt(f,e,0)});if(e.asyncDep=i,!e.suspense){const f=_n(e,n);x(`Component <${f}>: 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 Us(e,i,t)}else vi(e,t)}function Us(e,t,n){$(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:D(t)?(Tt(t)&&x("setup() should not return VNodes directly - return a render function instead."),e.devtoolsRawSetupState=t,e.setupState=Ao(t),hc(e)):t!==void 0&&x(`setup() should return an object. Received: ${t===null?"null":typeof t}`),vi(e,n)}const lf=()=>!0;function vi(e,t,n){const r=e.type;e.render||(e.render=r.render||fe);{const s=gn(e);Pe();try{gc(e)}finally{$e(),s()}}!r.render&&e.render===fe&&!t&&(r.template?x('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".'):x("Component is missing template or render function: ",r))}const cf={get(e,t){return Kn(),se(e,"get",""),e[t]},set(){return x("setupContext.attrs is readonly."),!1},deleteProperty(){return x("setupContext.attrs is readonly."),!1}};function ff(e){return new Proxy(e.slots,{get(t,n){return se(e,"get","$slots"),t[n]}})}function uf(e){const t=n=>{if(e.exposed&&x("expose() should be called only once per setup()."),n!=null){let r=typeof n;r==="object"&&(A(n)?r="array":ne(n)&&(r="ref")),r!=="object"&&x(`expose() should be passed a plain object, received ${r}.`)}e.exposed=n||{}};{let n,r;return Object.freeze({get attrs(){return n||(n=new Proxy(e.attrs,cf))},get slots(){return r||(r=ff(e))},get emit(){return(s,...o)=>e.emit(s,...o)},expose:t})}}function cr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ao(pl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in xt)return xt[n](e)},has(t,n){return n in t||n in xt}})):e.proxy}const af=/(?:^|[-_])\w/g,df=e=>e.replace(af,t=>t.toUpperCase()).replace(/[-_]/g,"");function fr(e,t=!0){return $(e)?e.displayName||e.name:e.name||t&&e.__name}function _n(e,t,n=!1){let r=fr(t);if(!r&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(r=s[1])}if(!r&&e){const s=o=>{for(const i in o)if(o[i]===t)return i};r=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return r?df(r):n?"App":"Anonymous"}function wi(e){return $(e)&&"__vccOpts"in e}const Jt=(e,t)=>{const n=vl(e,t,jt);{const r=us();r&&r.appContext.config.warnRecursiveComputed&&(n._warnRecursive=!0)}return n};function Au(e,t,n){try{Wn(-1);const r=arguments.length;return r===2?D(t)&&!A(t)?Tt(t)?te(e,null,[t]):te(e,t):te(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Tt(n)&&(n=[n]),te(e,t,n))}finally{Wn(1)}}function pf(){if(typeof window>"u")return;const e={style:"color:#3ba776"},t={style:"color:#1677ff"},n={style:"color:#f5222d"},r={style:"color:#eb2f96"},s={__vue_custom_formatter:!0,header(a){if(!D(a))return null;if(a.__isVue)return["div",e,"VueInstance"];if(ne(a)){Pe();const m=a.value;return $e(),["div",{},["span",e,u(a)],"<",l(m),">"]}else{if(nt(a))return["div",{},["span",e,he(a)?"ShallowReactive":"Reactive"],"<",l(a),`>${Ce(a)?" (readonly)":""}`];if(Ce(a))return["div",{},["span",e,he(a)?"ShallowReadonly":"Readonly"],"<",l(a),">"]}return null},hasBody(a){return a&&a.__isVue},body(a){if(a&&a.__isVue)return["div",{},...o(a.$)]}};function o(a){const m=[];a.type.props&&a.props&&m.push(i("props",j(a.props))),a.setupState!==N&&m.push(i("setup",a.setupState)),a.data!==N&&m.push(i("data",j(a.data)));const v=f(a,"computed");v&&m.push(i("computed",v));const O=f(a,"inject");return O&&m.push(i("injected",O)),m.push(["div",{},["span",{style:r.style+";opacity:0.66"},"$ (internal): "],["object",{object:a}]]),m}function i(a,m){return m=J({},m),Object.keys(m).length?["div",{style:"line-height:1.25em;margin-bottom:0.6em"},["div",{style:"color:#476582"},a],["div",{style:"padding-left:1.25em"},...Object.keys(m).map(v=>["div",{},["span",r,v+": "],l(m[v],!1)])]]:["span",{}]}function l(a,m=!0){return typeof a=="number"?["span",t,a]:typeof a=="string"?["span",n,JSON.stringify(a)]:typeof a=="boolean"?["span",r,a]:D(a)?["object",{object:m?j(a):a}]:["span",n,String(a)]}function f(a,m){const v=a.type;if($(v))return;const O={};for(const w in a.ctx)p(v,w,m)&&(O[w]=a.ctx[w]);return O}function p(a,m,v){const O=a[v];if(A(O)&&O.includes(m)||D(O)&&m in O||a.extends&&p(a.extends,m,v)||a.mixins&&a.mixins.some(w=>p(w,m,v)))return!0}function u(a){return he(a)?"ShallowRef":a.effect?"ComputedRef":"Ref"}window.devtoolsFormatters?window.devtoolsFormatters.push(s):window.devtoolsFormatters=[s]}const Ks="3.5.43",ze=x;let kr;const Bs=typeof window<"u"&&window.trustedTypes;if(Bs)try{kr=Bs.createPolicy("vue",{createHTML:e=>e})}catch(e){ze(`Error creating trusted types policy: ${e}`)}const xi=kr?e=>kr.createHTML(e):e=>e,hf="http://www.w3.org/2000/svg",mf="http://www.w3.org/1998/Math/MathML",Xe=typeof document<"u"?document:null,Ws=Xe&&Xe.createElement("template"),gf={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Xe.createElementNS(hf,e):t==="mathml"?Xe.createElementNS(mf,e):n?Xe.createElement(e,{is:n}):Xe.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Ws.innerHTML=xi(r==="svg"?`<svg>${e}</svg>`:r==="mathml"?`<math>${e}</math>`:e);const l=Ws.content;if(r==="svg"||r==="mathml"){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},_f=Symbol("_vtc");function yf(e,t,n){const r=e[_f];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Jn=Symbol("_vod"),Si=Symbol("_vsh"),Pu={name:"show",beforeMount(e,{value:t},{transition:n}){e[Jn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):zt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),zt(e,!0),r.enter(e)):r.leave(e,()=>{zt(e,!1)}):zt(e,t))},beforeUnmount(e,{value:t}){zt(e,t)}};function zt(e,t){e.style.display=t?e[Jn]:"none",e[Si]=!t}const bf=Symbol("CSS_VAR_TEXT"),vf=/(?:^|;)\s*display\s*:/;function wf(e,t,n){const r=e.style,s=G(n);let o=!1;if(n&&!s){if(t)if(G(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Yt(r,l,"")}else for(const i in t)n[i]==null&&Yt(r,i,"");for(const i in n){i==="display"&&(o=!0);const l=n[i];l!=null?Cf(e,i,!G(t)&&t?t[i]:void 0,l)||Yt(r,i,l):Yt(r,i,"")}}else if(s){if(t!==n){const i=r[bf];i&&(n+=";"+i),r.cssText=n,o=vf.test(n)}}else t&&e.removeAttribute("style");Jn in e&&(e[Jn]=o?r.display:"",e[Si]&&(r.display="none"))}const xf=/[^\\];\s*$/,Tn=/\s*!important$/;function Yt(e,t,n){if(A(n))n.forEach(r=>Yt(e,t,r));else if(n==null&&(n=""),xf.test(n)&&ze(`Unexpected semicolon at the end of '${t}' style value: '${n}'`),t.startsWith("--"))Tn.test(n)?e.setProperty(t,n.replace(Tn,""),"important"):e.setProperty(t,n);else{const r=Sf(e,t);Tn.test(n)?e.setProperty(qe(r),n.replace(Tn,""),"important"):e[r]=n}}const zs=["Webkit","Moz","ms"],Cr={};function Sf(e,t){const n=Cr[t];if(n)return n;let r=re(t);if(r!=="filter"&&r in e)return Cr[t]=r;r=St(r);for(let s=0;s<zs.length;s++){const o=zs[s]+r;if(o in e)return Cr[t]=o}return t}function Cf(e,t,n,r){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&G(r)&&n===r}const qs="http://www.w3.org/1999/xlink";function Gs(e,t,n,r,s,o=Bi(t)){r&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(qs,t.slice(6,t.length)):e.setAttributeNS(qs,t,n):n==null||o&&!co(n)?e.removeAttribute(t):e.setAttribute(t,o?"":Se(n)?String(n):n)}function Js(e,t,n,r,s){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?xi(n):n);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const l=o==="OPTION"?e.getAttribute("value")||"":e.value,f=n==null?e.type==="checkbox"?"on":"":String(n);(l!==f||!("_value"in e))&&(e.value=f),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=co(n):n==null&&l==="string"?(n="",i=!0):l==="number"&&(n=0,i=!0)}try{e[t]=n}catch(l){i||ze(`Failed setting prop "${t}" on <${o.toLowerCase()}>: value ${n} is invalid.`,l)}i&&e.removeAttribute(s||t)}function at(e,t,n,r){e.addEventListener(t,n,r)}function Tf(e,t,n,r){e.removeEventListener(t,n,r)}const Ys=Symbol("_vei");function Of(e,t,n,r,s=null){const o=e[Ys]||(e[Ys]={}),i=o[t];if(r&&i)i.value=Xs(r,t);else{const[l,f]=Af(t);if(r){const p=o[t]=If(Xs(r,t),s);at(e,l,p,f)}else i&&(Tf(e,l,i,f),o[t]=void 0)}}const Ef=/(Once|Passive|Capture)$/,Mf=/^on:?(?:Once|Passive|Capture)$/;function Af(e){let t,n;for(;(n=e.match(Ef))&&!Mf.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):qe(e.slice(2)),t]}let Tr=0;const Pf=Promise.resolve(),$f=()=>Tr||(Pf.then(()=>Tr=0),Tr=Date.now());function If(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(A(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),l=[r];for(let f=0;f<i.length&&!r._stopped;f++){const p=i[f];p&&Ie(p,t,5,l)}}else Ie(s,t,5,[r])};return n.value=e,n.attached=$f(),n}function Xs(e,t){return $(e)||A(e)?e:(ze(`Wrong type passed as event handler to ${t} - did you forget @ or : in front of your prop?
|
|
10
|
+
Expected function or array of functions, received type ${typeof e}.`),fe)}const Zs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Rf=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?yf(e,r,i):t==="style"?wf(e,n,r):un(t)?nn(t)||Of(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ff(e,t,r,i))?(Js(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Gs(e,t,r,i,o,t!=="value")):e._isVueCE&&(jf(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!G(r)))?Js(e,re(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Gs(e,t,r,i))};function Ff(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Zs(t)&&$(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 Zs(t)&&G(n)?!1:t in e}function jf(e,t){const n=e._def.props;if(!n)return!1;const r=re(t);return Array.isArray(n)?n.some(s=>re(s)===r):Object.keys(n).some(s=>re(s)===r)}const Vt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return A(t)?n=>Pt(t,n):t};function Vf(e){e.target.composing=!0}function Qs(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const We=Symbol("_assign"),On=Symbol("_initialValue");function Or(e,t,n){return t&&(e=e.trim()),n&&(e=Xn(e)),e}const $u={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e.parentNode&&(e.type==="text"?e[On]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[On]=e.defaultValue.replace(/\r\n?/g,`
|
|
11
|
+
`))),e[We]=Vt(s);const o=r||s.props&&s.props.type==="number";at(e,t?"change":"input",i=>{i.target.composing||e[We](Or(e.value,n,o))}),(n||o)&&at(e,"change",()=>{e.value=Or(e.value,n,o)}),t||(at(e,"compositionstart",Vf),at(e,"compositionend",Qs),at(e,"change",Qs))},mounted(e,{value:t,modifiers:{trim:n,number:r}}){const s=t??"",o=e[On];delete e[On],o!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==o?e[We](Or(e.value,n,r)):e.value=s},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[We]=Vt(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Xn(e.value):e.value,f=t??"";if(l===f)return;const p=e.getRootNode();(p instanceof Document||p instanceof ShadowRoot)&&p.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===f)||(e.value=f)}},Iu={deep:!0,created(e,t,n){e[We]=Vt(n),at(e,"change",()=>{const r=e._modelValue,s=fn(e),o=e.checked,i=e[We];if(A(r)){const l=qr(r,s),f=l!==-1;if(o&&!f)i(r.concat(s));else if(!o&&f){const p=[...r];p.splice(l,1),i(p)}}else if(st(r)){const l=new Set(r);o?l.add(s):l.delete(s),i(l)}else i(Ci(e,o))})},mounted:eo,beforeUpdate(e,t,n){e[We]=Vt(n),eo(e,t,n)}};function eo(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(A(t))s=qr(t,r.props.value)>-1;else if(st(t))s=t.has(r.props.value);else{if(t===n)return;s=ot(t,Ci(e,!0))}e.checked!==s&&(e.checked=s)}const Ru={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,at(e,"change",()=>{const s=Array.prototype.filter.call(e.options,f=>f.selected).map(f=>n?Xn(fn(f)):fn(f)),o=e.multiple,i=o?st(e._modelValue)?new Set(s):s:s[0],l=e._pendingValue=[o,o?A(i)?s.slice():s:i];try{e[We](i)}finally{Io(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[We]=Vt(r)},mounted(e,{value:t}){to(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[We]=Vt(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!Nf(t,n[1],n[0]))&&to(e,t)}};function Nf(e,t,n){if(!n||A(e))return ot(e,t);if(st(e)){if(e.size!==t.length)return!1;for(const r of t)if(!e.has(r))return!1;return!0}return!1}function to(e,t){const n=e.multiple,r=A(t);if(n&&!r&&!st(t)){ze(`<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(t).slice(8,-1)}.`);return}for(let s=0,o=e.options.length;s<o;s++){const i=e.options[s],l=fn(i);if(n)if(r){const f=typeof l;f==="string"||f==="number"?i.selected=t.some(p=>String(p)===String(l)):i.selected=qr(t,l)>-1}else i.selected=t.has(l);else if(ot(fn(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}function fn(e){return"_value"in e?e._value:e.value}function Ci(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Df=["ctrl","shift","alt","meta"],Lf={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)=>Df.some(n=>e[`${n}Key`]&&!t.includes(n))},Fu=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let i=0;i<t.length;i++){const l=Lf[t[i]];if(l&&l(s,t))return}return e(s,...o)}))},Hf={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},ju=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(s=>{if(!("key"in s))return;const o=qe(s.key);if(t.some(i=>i===o||Hf[i]===o))return e(s)}))},kf=J({patchProp:Rf},gf);let no;function Uf(){return no||(no=Kc(kf))}const Kf=((...e)=>{const t=Uf().createApp(...e);Wf(t),zf(t);const{mount:n}=t;return t.mount=r=>{const s=qf(r);if(!s)return;const o=t._component;!$(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,Bf(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t});function Bf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Wf(e){Object.defineProperty(e.config,"isNativeTag",{value:t=>Hi(t)||ki(t)||Ui(t),writable:!1})}function zf(e){{const t=e.config.isCustomElement;Object.defineProperty(e.config,"isCustomElement",{get(){return t},set(){ze("The `isCustomElement` config option is deprecated. Use `compilerOptions.isCustomElement` instead.")}});const n=e.config.compilerOptions,r='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 ze(r),n},set(){ze(r)}})}}function qf(e){if(G(e)){const t=document.querySelector(e);return t||ze(`Failed to mount app: mount target selector "${e}" returned null.`),t}return window.ShadowRoot&&e instanceof window.ShadowRoot&&e.mode==="closed"&&ze('mounting on a ShadowRoot with `{mode: "closed"}` may lead to unpredictable bugs'),e}function Gf(){pf()}Gf();class Jf extends Error{status;body;constructor(t,n,r={}){super(n),this.status=t,this.body=r}}async function ro(e,t,n){const r=await fetch(t,{method:e,headers:n===void 0?{}:{"Content-Type":"application/json"},...n===void 0?{}:{body:JSON.stringify(n)}}),s=await r.text();let o={};try{o=s===""?{}:JSON.parse(s)}catch{o={error:s}}if(!r.ok){const i=typeof o.error=="string"?o.error:`The request failed (${r.status})`;throw new Jf(r.status,i,o)}return o}const Yf={get:e=>ro("GET",e),post:(e,t)=>ro("POST",e,t)};function Vu(e,t){return`/api/fs/image?path=${encodeURIComponent(e)}&size=${t}`}function Nu(e,t){const n=new EventSource(`/api/jobs/${encodeURIComponent(e)}/events`);let r=!1;const s=()=>{r=!0,n.close()};return n.addEventListener("progress",o=>{t.onProgress?.(JSON.parse(o.data))}),n.addEventListener("done",o=>{s(),t.onDone(JSON.parse(o.data))}),n.addEventListener("failed",o=>{s(),t.onFailed(JSON.parse(o.data).message)}),n.onerror=()=>{r||(s(),t.onFailed("The connection to devtoolz ui was lost."))},s}function Du(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}const Xf=rs({__name:"Icon",props:{name:{type:String,required:!0},size:{type:Number,required:!1}},setup(e,{expose:t}){t();const s={props:e,PATHS:{image:["M4 5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z","M8.5 10a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z","m20 15-4.5-4.5L6 20"],layers:["m12 3 9 5-9 5-9-5z","m3 13 9 5 9-5","m3 17.5 9 5 9-5"],folder:["M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"],up:["m12 19V5","m5 12 7-7 7 7"],trash:["M4 7h16","M9 7V4h6v3","M6 7l1 13h10l1-13","M10 11v6","M14 11v6"],search:["M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14z","m20 20-4-4"],down:["m12 5v14","m5 12 7 7 7-7"],left:["m15 5-7 7 7 7"],right:["m9 5 7 7-7 7"],plus:["M12 5v14","M5 12h14"],close:["M6 6l12 12","M18 6 6 18"],copy:["M9 9h10v10H9z","M5 15V5h10"],save:["M5 4h11l3 3v13H5z","M8 4v5h7V4","M8 20v-6h8v6"],download:["M12 4v11","m7 11 5 5 5-5","M5 20h14"],play:["m7 4 13 8-13 8z"],check:["m5 12 5 5 9-10"],home:["m3 11 9-8 9 8","M5 10v10h14V10"],external:["M14 4h6v6","M20 4 11 13","M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5"]}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),Ti=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Zf=["width","height"],Qf=["d"];function eu(e,t,n,r,s,o){return ve(),He("svg",{width:r.props.size??18,height:r.props.size??18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[(ve(!0),He(pe,null,Jo(r.PATHS[r.props.name]??[],i=>(ve(),He("path",{key:i,d:i},null,8,Qf))),128))],8,Zf)}const tu=Ti(Xf,[["render",eu],["__file","C:/work/NPM/devtoolz/ui/src/components/Icon.vue"]]),nu="modulepreload",ru=function(e){return"/"+e},so={},En=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let f=function(p){return Promise.all(p.map(u=>Promise.resolve(u).then(a=>({status:"fulfilled",value:a}),a=>({status:"rejected",reason:a}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=i?.nonce||i?.getAttribute("nonce");s=f(n.map(p=>{if(p=ru(p),p in so)return;so[p]=!0;const u=p.endsWith(".css"),a=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${a}`))return;const m=document.createElement("link");if(m.rel=u?"stylesheet":nu,u||(m.as="script"),m.crossOrigin="",m.href=p,l&&m.setAttribute("nonce",l),document.head.appendChild(m),u)return new Promise((v,O)=>{m.addEventListener("load",v),m.addEventListener("error",()=>O(new Error(`Unable to preload CSS for ${p}`)))})}))}function o(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return s.then(i=>{for(const l of i||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},Oi={checks:{icon:"search",component:Sn(()=>En(()=>import("./ChecksPage-Ia4QJkV3.js"),__vite__mapDeps([0,1,2,3,4,5,6,7])))},cleanup:{icon:"trash",component:Sn(()=>En(()=>import("./CleanupPage-DqqrgWSI.js"),__vite__mapDeps([8,1,2,3,4,6,9])))},"image-hash":{icon:"image",component:Sn(()=>En(()=>import("./ImageHashPage-C0ltmpOF.js"),__vite__mapDeps([10,11,1,2,12,5,13])))},"image-batch":{icon:"layers",component:Sn(()=>En(()=>import("./ImageBatchPage-9HgS9uVf.js"),__vite__mapDeps([14,3,4,1,2,11,12,15])))}},su={"image-batch":"layers"};function ou(e){return Oi[e]?.icon??su[e]??"layers"}const iu=rs({__name:"App",setup(e,{expose:t}){t();const n=dt(),r=dt(""),s=dt(window.location.hash),o=Jt(()=>n.value?.modules??[]),i=Jt(()=>{const m=s.value.replace(/^#\/?/,""),v=o.value.find(O=>O.id===m);return v?v.id:o.value.find(O=>O.status==="available")?.id??""}),l=Jt(()=>o.value.find(m=>m.id===i.value)),f=Jt(()=>Oi[i.value]);function p(){s.value=window.location.hash}function u(m){m.status==="available"&&(window.location.hash=`#/${m.id}`)}zo(async()=>{window.addEventListener("hashchange",p);try{n.value=await Yf.get("/api/status")}catch(m){r.value=m instanceof Error?m.message:String(m)}}),qo(()=>window.removeEventListener("hashchange",p));const a={status:n,failure:r,hash:s,modules:o,currentId:i,current:l,view:f,onHashChange:p,open:u,Icon:tu,get iconFor(){return ou}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),lu={class:"shell"},cu={class:"sidebar"},fu={class:"brand"},uu={class:"brand__mark"},au={class:"menu","aria-label":"Modules"},du=["disabled","aria-current","onClick"],pu={class:"menu__title"},hu={key:0,class:"menu__badge"},mu={class:"sidebar__foot"},gu={key:0},_u={class:"main"},yu={key:0,class:"notice notice--error page-pad"},bu={key:2,class:"muted page-pad"};function vu(e,t,n,r,s,o){return ve(),He("div",lu,[Le("aside",cu,[Le("div",fu,[Le("span",uu,[te(r.Icon,{name:"layers",size:16})]),t[0]||(t[0]=Le("span",{class:"brand__name"},"devtoolz",-1))]),Le("nav",au,[(ve(!0),He(pe,null,Jo(r.modules,i=>(ve(),He("button",{key:i.id,class:Zn(["menu__item",{"menu__item--active":i.id===r.currentId,"menu__item--planned":i.status!=="available"}]),disabled:i.status!=="available","aria-current":i.id===r.currentId?"page":void 0,onClick:l=>r.open(i)},[te(r.Icon,{name:r.iconFor(i.id)},null,8,["name"]),Le("span",pu,Mn(i.title),1),i.status!=="available"?(ve(),He("span",hu,"soon")):Sr("v-if",!0)],10,du))),128))]),Le("div",mu,[r.status?(ve(),He("span",gu,"v"+Mn(r.status.version),1)):Sr("v-if",!0)])]),Le("main",_u,[r.failure?(ve(),He("div",yu,Mn(r.failure),1)):r.current&&r.view?(ve(),zn(cc(r.view.component),{key:r.current.id,module:r.current,status:r.status},null,8,["module","status"])):r.status?(ve(),He("div",bu,"Pick a module on the left.")):Sr("v-if",!0)])])}const wu=Ti(iu,[["render",vu],["__scopeId","data-v-7a7a37b1"],["__file","C:/work/NPM/devtoolz/ui/src/App.vue"]]);Kf(wu).mount("#app");export{Tu as A,Fu as B,Io as C,Vu as D,Ul as E,pe as F,Su as G,Au as H,tu as I,Jf as J,Ru as K,Pu as L,In as M,Kl as N,ju as O,Mu as P,En as _,Ti as a,Jo as b,He as c,rs as d,qo as e,Du as f,Yf as g,Le as h,te as i,Zc as j,Cu as k,Sr as l,Ou as m,Zn as n,ve as o,zn as p,zo as q,dt as r,zr as s,Mn as t,Eu as u,Iu as v,br as w,Jt as x,Nu as y,$u as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i}from"./index-
|
|
1
|
+
import{r as i}from"./index-D8H-zVzo.js";function c(e=1200){const t=i("");async function o(a,r){try{await navigator.clipboard.writeText(r),t.value=a,setTimeout(()=>{t.value===a&&(t.value="")},e)}catch{t.value=""}}return{copied:t,copy:o}}export{c as u};
|
package/dist/ui/index.html
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
rel="icon"
|
|
9
9
|
href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='8' fill='%23496cff'/%3E%3Cpath d='M9 11l-4 5 4 5M23 11l4 5-4 5M18 8l-4 16' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"
|
|
10
10
|
/>
|
|
11
|
-
<script type="module" crossorigin src="/assets/index-
|
|
12
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-D8H-zVzo.js"></script>
|
|
12
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Ch5kTxCO.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
|
15
15
|
<div id="app"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@macrulez/devtoolz",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "A small toolbox of CLI commands that automate routine dev chores — strip comments/console.log, find dead exports, catch case-sensitivity import bugs before Linux CI does",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as oe,o as _,c as x,f as y,t as w,i as B,F,p as O,g as Z,h as ne,j as Ge,v as nt,y as pe,a as Q,n as H,r as L,A as P,b as le,w as me,H as ge,x as ke,C as Ee,P as st,Q as it,q as te,e as Ke,E as Le,k as Me,s as ye,z as ot,B as Pe}from"./index-pDKL0Y31.js";import{U as lt,F as at}from"./FolderBrowser-BX3-y8sM.js";import{U as rt}from"./UiSegmented-YV1YATxM.js";import{u as ut}from"./useCopy-vCfkPGWW.js";import{p as Fe,h as ct}from"./highlight-CsAszz7F.js";const ft={class:"overview"},vt={class:"card block"},dt={class:"head"},ht={key:0,class:"muted"},pt={key:1,class:"muted"},gt=["disabled"],yt={key:0,class:"check"},_t=["disabled"],mt={key:1,class:"progress-wrap",role:"status"},xt={class:"progress"},wt={class:"muted small"},kt={key:2,class:"chips"},$t={key:0,class:"sev sev--error"},bt={key:1,class:"sev sev--warning"},Ct={key:2,class:"sev"},Mt={key:3,class:"sev sev--ok"},Nt={class:"group__title"},St={class:"cards"},It=["onClick"],zt={class:"tile__top"},jt={class:"tile__state"},At={class:"tile__text muted"},Ot={key:0,class:"tile__sev"},Et={key:0,class:"sev sev--error"},Lt={key:1,class:"sev sev--warning"},Pt={key:2,class:"sev"},Ft={key:1,class:"tile__slow muted"},Tt=oe({__name:"ChecksOverview",props:{checks:{},outcomes:{},running:{type:Boolean},progress:{},tookMs:{}},emits:["run-all","open"],setup(e,{emit:n}){const t=e,o=n,s=L(!1),i=[{id:"code",title:"Code"},{id:"dependencies",title:"Dependencies"},{id:"docs",title:"Documentation"}],u=P(()=>t.checks.filter(f=>f.slow).map(f=>f.title)),l=P(()=>i.map(f=>({...f,items:t.checks.filter(r=>r.group===f.id)})).filter(f=>f.items.length>0)),h=P(()=>t.progress.total>0?Math.round(t.progress.done/t.progress.total*100):0),a=P(()=>t.checks.filter(f=>t.outcomes[f.id])),c=P(()=>a.value.filter(f=>{const r=t.outcomes[f.id];return r&&r.findings.length===0&&!r.error}).length),d=P(()=>{const f={error:0,warning:0,info:0};for(const r of a.value)for(const v of t.outcomes[r.id]?.findings??[])f[v.severity]+=1;return f}),m=P(()=>d.value.error+d.value.warning+d.value.info);function g(f){const r={error:0,warning:0,info:0};for(const v of t.outcomes[f]?.findings??[])r[v.severity]+=1;return r}function k(f){const r=t.outcomes[f];return r?r.error?"broken":r.findings.length===0?"clean":"found":"idle"}return(f,r)=>(_(),x("div",ft,[y("section",vt,[y("div",dt,[y("div",null,[r[3]||(r[3]=y("h2",null,"Project health",-1)),a.value.length?(_(),x("p",ht,[y("strong",null,w(c.value)+" of "+w(a.value.length),1),r[2]||(r[2]=B(" checks are clean · ",-1)),y("strong",null,w(m.value),1),B(" finding"+w(m.value===1?"":"s")+" ",1),e.tookMs!==void 0?(_(),x(F,{key:0},[B(" · "+w((e.tookMs/1e3).toFixed(1))+" s",1)],64)):O("",!0)])):(_(),x("p",pt,"Run every check at once to see where the project stands."))]),y("button",{class:"btn btn--primary",disabled:e.running,onClick:r[0]||(r[0]=v=>o("run-all",s.value))},[Z(ne,{name:"play",size:15}),B(" "+w(e.running?"Checking…":a.value.length?"Run all again":"Run all checks"),1)],8,gt)]),u.value.length?(_(),x("label",yt,[Ge(y("input",{"onUpdate:modelValue":r[1]||(r[1]=v=>s.value=v),type:"checkbox",disabled:e.running},null,8,_t),[[nt,s.value]]),y("span",null,[B(" Include the slow check ("+w(u.value.join(", "))+") ",1),r[4]||(r[4]=y("small",{class:"muted"}," — it type-checks the whole project",-1))])])):O("",!0),e.running?(_(),x("div",mt,[y("div",xt,[y("div",{class:"progress__bar",style:pe({width:`${h.value}%`})},null,4)]),y("span",wt,[B(w(e.progress.done)+" of "+w(e.progress.total)+" ",1),e.progress.current?(_(),x(F,{key:0},[B(" · "+w(e.progress.current),1)],64)):O("",!0)])])):O("",!0),a.value.length?(_(),x("div",kt,[d.value.error?(_(),x("span",$t,w(d.value.error)+" error"+w(d.value.error===1?"":"s"),1)):O("",!0),d.value.warning?(_(),x("span",bt,w(d.value.warning)+" warning"+w(d.value.warning===1?"":"s"),1)):O("",!0),d.value.info?(_(),x("span",Ct,w(d.value.info)+" note"+w(d.value.info===1?"":"s"),1)):O("",!0),m.value===0?(_(),x("span",Mt,"Everything is clean")):O("",!0)])):O("",!0)]),(_(!0),x(F,null,Q(l.value,v=>(_(),x("section",{key:v.id,class:"group"},[y("h3",Nt,w(v.title),1),y("div",St,[(_(!0),x(F,null,Q(v.items,p=>(_(),x("button",{key:p.id,class:H(["tile",`tile--${k(p.id)}`]),onClick:z=>o("open",p.id)},[y("span",zt,[y("strong",null,w(p.title),1),y("span",jt,[k(p.id)==="idle"?(_(),x(F,{key:0},[B("not run")],64)):k(p.id)==="clean"?(_(),x(F,{key:1},[B("✓ clean")],64)):k(p.id)==="broken"?(_(),x(F,{key:2},[B("couldn’t run")],64)):(_(),x(F,{key:3},[B(w(e.outcomes[p.id]?.findings.length),1)],64))])]),y("span",At,w(e.outcomes[p.id]?.summary??p.description),1),k(p.id)==="found"?(_(),x("span",Ot,[g(p.id).error?(_(),x("span",Et,w(g(p.id).error)+" error",1)):O("",!0),g(p.id).warning?(_(),x("span",Lt,w(g(p.id).warning)+" warning",1)):O("",!0),g(p.id).info?(_(),x("span",Pt,w(g(p.id).info)+" note",1)):O("",!0)])):O("",!0),p.slow&&k(p.id)==="idle"?(_(),x("span",Ft,"slow")):O("",!0)],10,It))),128))])]))),128))]))}}),Dt=le(Tt,[["__scopeId","data-v-0b1b992d"]]);function Bt(e,n){var t,o=1;e==null&&(e=0),n==null&&(n=0);function s(){var i,u=t.length,l,h=0,a=0;for(i=0;i<u;++i)l=t[i],h+=l.x,a+=l.y;for(h=(h/u-e)*o,a=(a/u-n)*o,i=0;i<u;++i)l=t[i],l.x-=h,l.y-=a}return s.initialize=function(i){t=i},s.x=function(i){return arguments.length?(e=+i,s):e},s.y=function(i){return arguments.length?(n=+i,s):n},s.strength=function(i){return arguments.length?(o=+i,s):o},s}function Rt(e){const n=+this._x.call(null,e),t=+this._y.call(null,e);return We(this.cover(n,t),n,t,e)}function We(e,n,t,o){if(isNaN(n)||isNaN(t))return e;var s,i=e._root,u={data:o},l=e._x0,h=e._y0,a=e._x1,c=e._y1,d,m,g,k,f,r,v,p;if(!i)return e._root=u,e;for(;i.length;)if((f=n>=(d=(l+a)/2))?l=d:a=d,(r=t>=(m=(h+c)/2))?h=m:c=m,s=i,!(i=i[v=r<<1|f]))return s[v]=u,e;if(g=+e._x.call(null,i.data),k=+e._y.call(null,i.data),n===g&&t===k)return u.next=i,s?s[v]=u:e._root=u,e;do s=s?s[v]=new Array(4):e._root=new Array(4),(f=n>=(d=(l+a)/2))?l=d:a=d,(r=t>=(m=(h+c)/2))?h=m:c=m;while((v=r<<1|f)===(p=(k>=m)<<1|g>=d));return s[p]=i,s[v]=u,e}function Ut(e){var n,t,o=e.length,s,i,u=new Array(o),l=new Array(o),h=1/0,a=1/0,c=-1/0,d=-1/0;for(t=0;t<o;++t)isNaN(s=+this._x.call(null,n=e[t]))||isNaN(i=+this._y.call(null,n))||(u[t]=s,l[t]=i,s<h&&(h=s),s>c&&(c=s),i<a&&(a=i),i>d&&(d=i));if(h>c||a>d)return this;for(this.cover(h,a).cover(c,d),t=0;t<o;++t)We(this,u[t],l[t],e[t]);return this}function Vt(e,n){if(isNaN(e=+e)||isNaN(n=+n))return this;var t=this._x0,o=this._y0,s=this._x1,i=this._y1;if(isNaN(t))s=(t=Math.floor(e))+1,i=(o=Math.floor(n))+1;else{for(var u=s-t||1,l=this._root,h,a;t>e||e>=s||o>n||n>=i;)switch(a=(n<o)<<1|e<t,h=new Array(4),h[a]=l,l=h,u*=2,a){case 0:s=t+u,i=o+u;break;case 1:t=s-u,i=o+u;break;case 2:s=t+u,o=i-u;break;case 3:t=s-u,o=i-u;break}this._root&&this._root.length&&(this._root=l)}return this._x0=t,this._y0=o,this._x1=s,this._y1=i,this}function Ht(){var e=[];return this.visit(function(n){if(!n.length)do e.push(n.data);while(n=n.next)}),e}function Yt(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function Y(e,n,t,o,s){this.node=e,this.x0=n,this.y0=t,this.x1=o,this.y1=s}function Xt(e,n,t){var o,s=this._x0,i=this._y0,u,l,h,a,c=this._x1,d=this._y1,m=[],g=this._root,k,f;for(g&&m.push(new Y(g,s,i,c,d)),t==null?t=1/0:(s=e-t,i=n-t,c=e+t,d=n+t,t*=t);k=m.pop();)if(!(!(g=k.node)||(u=k.x0)>c||(l=k.y0)>d||(h=k.x1)<s||(a=k.y1)<i))if(g.length){var r=(u+h)/2,v=(l+a)/2;m.push(new Y(g[3],r,v,h,a),new Y(g[2],u,v,r,a),new Y(g[1],r,l,h,v),new Y(g[0],u,l,r,v)),(f=(n>=v)<<1|e>=r)&&(k=m[m.length-1],m[m.length-1]=m[m.length-1-f],m[m.length-1-f]=k)}else{var p=e-+this._x.call(null,g.data),z=n-+this._y.call(null,g.data),C=p*p+z*z;if(C<t){var A=Math.sqrt(t=C);s=e-A,i=n-A,c=e+A,d=n+A,o=g.data}}return o}function Gt(e){if(isNaN(c=+this._x.call(null,e))||isNaN(d=+this._y.call(null,e)))return this;var n,t=this._root,o,s,i,u=this._x0,l=this._y0,h=this._x1,a=this._y1,c,d,m,g,k,f,r,v;if(!t)return this;if(t.length)for(;;){if((k=c>=(m=(u+h)/2))?u=m:h=m,(f=d>=(g=(l+a)/2))?l=g:a=g,n=t,!(t=t[r=f<<1|k]))return this;if(!t.length)break;(n[r+1&3]||n[r+2&3]||n[r+3&3])&&(o=n,v=r)}for(;t.data!==e;)if(s=t,!(t=t.next))return this;return(i=t.next)&&delete t.next,s?(i?s.next=i:delete s.next,this):n?(i?n[r]=i:delete n[r],(t=n[0]||n[1]||n[2]||n[3])&&t===(n[3]||n[2]||n[1]||n[0])&&!t.length&&(o?o[v]=t:this._root=t),this):(this._root=i,this)}function Kt(e){for(var n=0,t=e.length;n<t;++n)this.remove(e[n]);return this}function Wt(){return this._root}function Qt(){var e=0;return this.visit(function(n){if(!n.length)do++e;while(n=n.next)}),e}function Jt(e){var n=[],t,o=this._root,s,i,u,l,h;for(o&&n.push(new Y(o,this._x0,this._y0,this._x1,this._y1));t=n.pop();)if(!e(o=t.node,i=t.x0,u=t.y0,l=t.x1,h=t.y1)&&o.length){var a=(i+l)/2,c=(u+h)/2;(s=o[3])&&n.push(new Y(s,a,c,l,h)),(s=o[2])&&n.push(new Y(s,i,c,a,h)),(s=o[1])&&n.push(new Y(s,a,u,l,c)),(s=o[0])&&n.push(new Y(s,i,u,a,c))}return this}function Zt(e){var n=[],t=[],o;for(this._root&&n.push(new Y(this._root,this._x0,this._y0,this._x1,this._y1));o=n.pop();){var s=o.node;if(s.length){var i,u=o.x0,l=o.y0,h=o.x1,a=o.y1,c=(u+h)/2,d=(l+a)/2;(i=s[0])&&n.push(new Y(i,u,l,c,d)),(i=s[1])&&n.push(new Y(i,c,l,h,d)),(i=s[2])&&n.push(new Y(i,u,d,c,a)),(i=s[3])&&n.push(new Y(i,c,d,h,a))}t.push(o)}for(;o=t.pop();)e(o.node,o.x0,o.y0,o.x1,o.y1);return this}function qt(e){return e[0]}function en(e){return arguments.length?(this._x=e,this):this._x}function tn(e){return e[1]}function nn(e){return arguments.length?(this._y=e,this):this._y}function Ae(e,n,t){var o=new Oe(n??qt,t??tn,NaN,NaN,NaN,NaN);return e==null?o:o.addAll(e)}function Oe(e,n,t,o,s,i){this._x=e,this._y=n,this._x0=t,this._y0=o,this._x1=s,this._y1=i,this._root=void 0}function Te(e){for(var n={data:e.data},t=n;e=e.next;)t=t.next={data:e.data};return n}var G=Ae.prototype=Oe.prototype;G.copy=function(){var e=new Oe(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root,t,o;if(!n)return e;if(!n.length)return e._root=Te(n),e;for(t=[{source:n,target:e._root=new Array(4)}];n=t.pop();)for(var s=0;s<4;++s)(o=n.source[s])&&(o.length?t.push({source:o,target:n.target[s]=new Array(4)}):n.target[s]=Te(o));return e};G.add=Rt;G.addAll=Ut;G.cover=Vt;G.data=Ht;G.extent=Yt;G.find=Xt;G.remove=Gt;G.removeAll=Kt;G.root=Wt;G.size=Qt;G.visit=Jt;G.visitAfter=Zt;G.x=en;G.y=nn;function X(e){return function(){return e}}function se(e){return(e()-.5)*1e-6}function sn(e){return e.x+e.vx}function on(e){return e.y+e.vy}function ln(e){var n,t,o,s=1,i=1;typeof e!="function"&&(e=X(e==null?1:+e));function u(){for(var a,c=n.length,d,m,g,k,f,r,v=0;v<i;++v)for(d=Ae(n,sn,on).visitAfter(l),a=0;a<c;++a)m=n[a],f=t[m.index],r=f*f,g=m.x+m.vx,k=m.y+m.vy,d.visit(p);function p(z,C,A,T,N){var $=z.data,S=z.r,E=f+S;if($){if($.index>m.index){var D=g-$.x-$.vx,R=k-$.y-$.vy,j=D*D+R*R;j<E*E&&(D===0&&(D=se(o),j+=D*D),R===0&&(R=se(o),j+=R*R),j=(E-(j=Math.sqrt(j)))/j*s,m.vx+=(D*=j)*(E=(S*=S)/(r+S)),m.vy+=(R*=j)*E,$.vx-=D*(E=1-E),$.vy-=R*E)}return}return C>g+E||T<g-E||A>k+E||N<k-E}}function l(a){if(a.data)return a.r=t[a.data.index];for(var c=a.r=0;c<4;++c)a[c]&&a[c].r>a.r&&(a.r=a[c].r)}function h(){if(n){var a,c=n.length,d;for(t=new Array(c),a=0;a<c;++a)d=n[a],t[d.index]=+e(d,a,n)}}return u.initialize=function(a,c){n=a,o=c,h()},u.iterations=function(a){return arguments.length?(i=+a,u):i},u.strength=function(a){return arguments.length?(s=+a,u):s},u.radius=function(a){return arguments.length?(e=typeof a=="function"?a:X(+a),h(),u):e},u}function an(e){return e.index}function De(e,n){var t=e.get(n);if(!t)throw new Error("node not found: "+n);return t}function rn(e){var n=an,t=d,o,s=X(30),i,u,l,h,a,c=1;e==null&&(e=[]);function d(r){return 1/Math.min(l[r.source.index],l[r.target.index])}function m(r){for(var v=0,p=e.length;v<c;++v)for(var z=0,C,A,T,N,$,S,E;z<p;++z)C=e[z],A=C.source,T=C.target,N=T.x+T.vx-A.x-A.vx||se(a),$=T.y+T.vy-A.y-A.vy||se(a),S=Math.sqrt(N*N+$*$),S=(S-i[z])/S*r*o[z],N*=S,$*=S,T.vx-=N*(E=h[z]),T.vy-=$*E,A.vx+=N*(E=1-E),A.vy+=$*E}function g(){if(u){var r,v=u.length,p=e.length,z=new Map(u.map((A,T)=>[n(A,T,u),A])),C;for(r=0,l=new Array(v);r<p;++r)C=e[r],C.index=r,typeof C.source!="object"&&(C.source=De(z,C.source)),typeof C.target!="object"&&(C.target=De(z,C.target)),l[C.source.index]=(l[C.source.index]||0)+1,l[C.target.index]=(l[C.target.index]||0)+1;for(r=0,h=new Array(p);r<p;++r)C=e[r],h[r]=l[C.source.index]/(l[C.source.index]+l[C.target.index]);o=new Array(p),k(),i=new Array(p),f()}}function k(){if(u)for(var r=0,v=e.length;r<v;++r)o[r]=+t(e[r],r,e)}function f(){if(u)for(var r=0,v=e.length;r<v;++r)i[r]=+s(e[r],r,e)}return m.initialize=function(r,v){u=r,a=v,g()},m.links=function(r){return arguments.length?(e=r,g(),m):e},m.id=function(r){return arguments.length?(n=r,m):n},m.iterations=function(r){return arguments.length?(c=+r,m):c},m.strength=function(r){return arguments.length?(t=typeof r=="function"?r:X(+r),k(),m):t},m.distance=function(r){return arguments.length?(s=typeof r=="function"?r:X(+r),f(),m):s},m}var un={value:()=>{}};function Qe(){for(var e=0,n=arguments.length,t={},o;e<n;++e){if(!(o=arguments[e]+"")||o in t||/[\s.]/.test(o))throw new Error("illegal type: "+o);t[o]=[]}return new _e(t)}function _e(e){this._=e}function cn(e,n){return e.trim().split(/^|\s+/).map(function(t){var o="",s=t.indexOf(".");if(s>=0&&(o=t.slice(s+1),t=t.slice(0,s)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:o}})}_e.prototype=Qe.prototype={constructor:_e,on:function(e,n){var t=this._,o=cn(e+"",t),s,i=-1,u=o.length;if(arguments.length<2){for(;++i<u;)if((s=(e=o[i]).type)&&(s=fn(t[s],e.name)))return s;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++i<u;)if(s=(e=o[i]).type)t[s]=Be(t[s],e.name,n);else if(n==null)for(s in t)t[s]=Be(t[s],e.name,null);return this},copy:function(){var e={},n=this._;for(var t in n)e[t]=n[t].slice();return new _e(e)},call:function(e,n){if((s=arguments.length-2)>0)for(var t=new Array(s),o=0,s,i;o<s;++o)t[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=this._[e],o=0,s=i.length;o<s;++o)i[o].value.apply(n,t)},apply:function(e,n,t){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],s=0,i=o.length;s<i;++s)o[s].value.apply(n,t)}};function fn(e,n){for(var t=0,o=e.length,s;t<o;++t)if((s=e[t]).name===n)return s.value}function Be(e,n,t){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=un,e=e.slice(0,o).concat(e.slice(o+1));break}return t!=null&&e.push({name:n,value:t}),e}var ae=0,ce=0,re=0,Je=1e3,xe,fe,we=0,ie=0,$e=0,ve=typeof performance=="object"&&performance.now?performance:Date,Ze=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function qe(){return ie||(Ze(vn),ie=ve.now()+$e)}function vn(){ie=0}function ze(){this._call=this._time=this._next=null}ze.prototype=et.prototype={constructor:ze,restart:function(e,n,t){if(typeof e!="function")throw new TypeError("callback is not a function");t=(t==null?qe():+t)+(n==null?0:+n),!this._next&&fe!==this&&(fe?fe._next=this:xe=this,fe=this),this._call=e,this._time=t,je()},stop:function(){this._call&&(this._call=null,this._time=1/0,je())}};function et(e,n,t){var o=new ze;return o.restart(e,n,t),o}function dn(){qe(),++ae;for(var e=xe,n;e;)(n=ie-e._time)>=0&&e._call.call(void 0,n),e=e._next;--ae}function Re(){ie=(we=ve.now())+$e,ae=ce=0;try{dn()}finally{ae=0,pn(),ie=0}}function hn(){var e=ve.now(),n=e-we;n>Je&&($e-=n,we=e)}function pn(){for(var e,n=xe,t,o=1/0;n;)n._call?(o>n._time&&(o=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:xe=t);fe=e,je(o)}function je(e){if(!ae){ce&&(ce=clearTimeout(ce));var n=e-ie;n>24?(e<1/0&&(ce=setTimeout(Re,e-ve.now()-$e)),re&&(re=clearInterval(re))):(re||(we=ve.now(),re=setInterval(hn,Je)),ae=1,Ze(Re))}}const gn=1664525,yn=1013904223,Ue=4294967296;function _n(){let e=1;return()=>(e=(gn*e+yn)%Ue)/Ue}function mn(e){return e.x}function xn(e){return e.y}var wn=10,kn=Math.PI*(3-Math.sqrt(5));function $n(e){var n,t=1,o=.001,s=1-Math.pow(o,1/300),i=0,u=.6,l=new Map,h=et(d),a=Qe("tick","end"),c=_n();e==null&&(e=[]);function d(){m(),a.call("tick",n),t<o&&(h.stop(),a.call("end",n))}function m(f){var r,v=e.length,p;f===void 0&&(f=1);for(var z=0;z<f;++z)for(t+=(i-t)*s,l.forEach(function(C){C(t)}),r=0;r<v;++r)p=e[r],p.fx==null?p.x+=p.vx*=u:(p.x=p.fx,p.vx=0),p.fy==null?p.y+=p.vy*=u:(p.y=p.fy,p.vy=0);return n}function g(){for(var f=0,r=e.length,v;f<r;++f){if(v=e[f],v.index=f,v.fx!=null&&(v.x=v.fx),v.fy!=null&&(v.y=v.fy),isNaN(v.x)||isNaN(v.y)){var p=wn*Math.sqrt(.5+f),z=f*kn;v.x=p*Math.cos(z),v.y=p*Math.sin(z)}(isNaN(v.vx)||isNaN(v.vy))&&(v.vx=v.vy=0)}}function k(f){return f.initialize&&f.initialize(e,c),f}return g(),n={tick:m,restart:function(){return h.restart(d),n},stop:function(){return h.stop(),n},nodes:function(f){return arguments.length?(e=f,g(),l.forEach(k),n):e},alpha:function(f){return arguments.length?(t=+f,n):t},alphaMin:function(f){return arguments.length?(o=+f,n):o},alphaDecay:function(f){return arguments.length?(s=+f,n):+s},alphaTarget:function(f){return arguments.length?(i=+f,n):i},velocityDecay:function(f){return arguments.length?(u=1-f,n):1-u},randomSource:function(f){return arguments.length?(c=f,l.forEach(k),n):c},force:function(f,r){return arguments.length>1?(r==null?l.delete(f):l.set(f,k(r)),n):l.get(f)},find:function(f,r,v){var p=0,z=e.length,C,A,T,N,$;for(v==null?v=1/0:v*=v,p=0;p<z;++p)N=e[p],C=f-N.x,A=r-N.y,T=C*C+A*A,T<v&&($=N,v=T);return $},on:function(f,r){return arguments.length>1?(a.on(f,r),n):a.on(f)}}}function bn(){var e,n,t,o,s=X(-30),i,u=1,l=1/0,h=.81;function a(g){var k,f=e.length,r=Ae(e,mn,xn).visitAfter(d);for(o=g,k=0;k<f;++k)n=e[k],r.visit(m)}function c(){if(e){var g,k=e.length,f;for(i=new Array(k),g=0;g<k;++g)f=e[g],i[f.index]=+s(f,g,e)}}function d(g){var k=0,f,r,v=0,p,z,C;if(g.length){for(p=z=C=0;C<4;++C)(f=g[C])&&(r=Math.abs(f.value))&&(k+=f.value,v+=r,p+=r*f.x,z+=r*f.y);g.x=p/v,g.y=z/v}else{f=g,f.x=f.data.x,f.y=f.data.y;do k+=i[f.data.index];while(f=f.next)}g.value=k}function m(g,k,f,r){if(!g.value)return!0;var v=g.x-n.x,p=g.y-n.y,z=r-k,C=v*v+p*p;if(z*z/h<C)return C<l&&(v===0&&(v=se(t),C+=v*v),p===0&&(p=se(t),C+=p*p),C<u&&(C=Math.sqrt(u*C)),n.vx+=v*g.value*o/C,n.vy+=p*g.value*o/C),!0;if(g.length||C>=l)return;(g.data!==n||g.next)&&(v===0&&(v=se(t),C+=v*v),p===0&&(p=se(t),C+=p*p),C<u&&(C=Math.sqrt(u*C)));do g.data!==n&&(z=i[g.data.index]*o/C,n.vx+=v*z,n.vy+=p*z);while(g=g.next)}return a.initialize=function(g,k){e=g,t=k,c()},a.strength=function(g){return arguments.length?(s=typeof g=="function"?g:X(+g),c(),a):s},a.distanceMin=function(g){return arguments.length?(u=g*g,a):Math.sqrt(u)},a.distanceMax=function(g){return arguments.length?(l=g*g,a):Math.sqrt(l)},a.theta=function(g){return arguments.length?(h=g*g,a):Math.sqrt(h)},a}function Cn(e){var n=X(.1),t,o,s;typeof e!="function"&&(e=X(e==null?0:+e));function i(l){for(var h=0,a=t.length,c;h<a;++h)c=t[h],c.vx+=(s[h]-c.x)*o[h]*l}function u(){if(t){var l,h=t.length;for(o=new Array(h),s=new Array(h),l=0;l<h;++l)o[l]=isNaN(s[l]=+e(t[l],l,t))?0:+n(t[l],l,t)}}return i.initialize=function(l){t=l,u()},i.strength=function(l){return arguments.length?(n=typeof l=="function"?l:X(+l),u(),i):n},i.x=function(l){return arguments.length?(e=typeof l=="function"?l:X(+l),u(),i):e},i}function Mn(e){var n=X(.1),t,o,s;typeof e!="function"&&(e=X(e==null?0:+e));function i(l){for(var h=0,a=t.length,c;h<a;++h)c=t[h],c.vy+=(s[h]-c.y)*o[h]*l}function u(){if(t){var l,h=t.length;for(o=new Array(h),s=new Array(h),l=0;l<h;++l)o[l]=isNaN(s[l]=+e(t[l],l,t))?0:+n(t[l],l,t)}}return i.initialize=function(l){t=l,u()},i.strength=function(l){return arguments.length?(n=typeof l=="function"?l:X(+l),u(),i):n},i.y=function(l){return arguments.length?(e=typeof l=="function"?l:X(+l),u(),i):e},i}const Nn={class:"graph"},Sn=["viewBox"],In=["d","marker-end"],zn=["transform","aria-label","onMouseenter","onFocus","onClick","onKeydown"],jn={class:"node__label",y:"-16","text-anchor":"middle"},An={key:0,class:"node__dir",y:"26","text-anchor":"middle"},On={class:"graph__bar"},Ne=900,Se=560,ue=9,En=oe({__name:"CycleGraph",props:{cycles:{},selected:{}},emits:["select-cycle","open-file"],setup(e,{emit:n}){const t=e,o=n,s=L(null),i=L({x:0,y:0,w:Ne,h:Se}),u=L({x:0,y:0,w:Ne,h:Se}),l=L(null),h=L();function a(N){return N.split("/").pop()??N}function c(N){const $=N.split("/");return $.pop(),$.join("/")}const d=P(()=>{const N=new Map,$=new Map;for(const j of t.cycles)j.files.forEach((U,K)=>{const J=N.get(U)??{id:U,label:a(U),dir:c(U),cycles:new Set};J.cycles.add(j.id),N.set(U,J);const q=j.files[(K+1)%j.files.length],V=`${U}>${q}`,ee=$.get(V)??{key:V,from:U,to:q,cycles:new Set,typeOnly:!0};ee.cycles.add(j.id),j.typeOnly||(ee.typeOnly=!1),$.set(V,ee)});const S=[...N.values()];S.forEach((j,U)=>{const K=U/Math.max(S.length,1)*Math.PI*2;j.x=Math.cos(K)*160,j.y=Math.sin(K)*160});const E=[...$.values()].map(j=>({source:j.from,target:j.to})),D=$n(S).force("link",rn(E).id(j=>j.id).distance(120)).force("charge",bn().strength(-300)).force("x",Cn(0).strength(.09)).force("y",Mn(0).strength(.09)).force("center",Bt(0,0)).force("collide",ln(46)).stop(),R=Math.min(400,120+S.length*4);for(let j=0;j<R;j++)D.tick();return{nodes:S,edges:[...$.values()]}}),m=P(()=>new Map(d.value.nodes.map(N=>[N.id,{x:N.x??0,y:N.y??0}])));function g(){const N=[...m.value.values()];if(N.length===0)return;const $=90,S=Math.min(...N.map(V=>V.x))-$,E=Math.max(...N.map(V=>V.x))+$,D=Math.min(...N.map(V=>V.y))-$,R=Math.max(...N.map(V=>V.y))+$;let j=E-S,U=R-D;const K=h.value?.getBoundingClientRect(),J=K&&K.height>0?K.width/K.height:Ne/Se;j/U<J?j=U*J:U=j/J;const q={x:(S+E)/2-j/2,y:(D+R)/2-U/2,w:j,h:U};u.value=q,i.value={...q}}me(d,()=>ge(g)),ke(g);const k=P(()=>t.cycles.find(N=>N.id===t.selected));function f(N){return k.value?N.cycles.has(k.value.id):s.value?N.id===s.value||d.value.edges.some($=>$.from===s.value&&$.to===N.id||$.to===s.value&&$.from===N.id):!0}function r(N){return k.value?N.cycles.has(k.value.id):s.value?N.from===s.value||N.to===s.value:!0}function v(N){const $=m.value.get(N.from),S=m.value.get(N.to);if(!$||!S)return"";const E=S.x-$.x,D=S.y-$.y,R=Math.hypot(E,D)||1,j=E/R,U=D/R,K=$.x+j*(ue+2),J=$.y+U*(ue+2),q=S.x-j*(ue+7),V=S.y-U*(ue+7),ee=Math.min(26,R*.18),be=(K+q)/2-U*ee,Ce=(J+V)/2+j*ee;return`M ${K} ${J} Q ${be} ${Ce} ${q} ${V}`}function p(N){N.preventDefault();const $=h.value?.getBoundingClientRect();if(!$)return;const S=N.deltaY>0?1.15:1/1.15,E=Math.min(Math.max(i.value.w*S,u.value.w/8),u.value.w*4),D=E/(i.value.w/i.value.h),R=(N.clientX-$.left)/$.width,j=(N.clientY-$.top)/$.height;i.value={x:i.value.x+(i.value.w-E)*R,y:i.value.y+(i.value.h-D)*j,w:E,h:D}}function z(N){N.target.closest(".node")||(l.value={x:N.clientX,y:N.clientY},N.currentTarget.setPointerCapture(N.pointerId))}function C(N){const $=l.value,S=h.value?.getBoundingClientRect();!$||!S||(i.value={...i.value,x:i.value.x-(N.clientX-$.x)/S.width*i.value.w,y:i.value.y-(N.clientY-$.y)/S.height*i.value.h},l.value={x:N.clientX,y:N.clientY})}function A(){l.value=null}function T(N){return N.cycles.size>1?"node--hub":"node--single"}return(N,$)=>(_(),x("div",Nn,[(_(),x("svg",{ref_key:"svg",ref:h,class:H(["graph__svg",{"graph__svg--drag":l.value}]),viewBox:`${i.value.x} ${i.value.y} ${i.value.w} ${i.value.h}`,role:"img","aria-label":"Graph of the import cycles",onWheel:p,onPointerdown:z,onPointermove:C,onPointerup:A,onClick:$[2]||($[2]=Ee(S=>o("select-cycle",null),["self"]))},[$[4]||($[4]=y("defs",null,[y("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse"},[y("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow"})]),y("marker",{id:"arrow-on",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse"},[y("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow arrow--on"})])],-1)),(_(!0),x(F,null,Q(d.value.edges,S=>(_(),x("path",{key:S.key,class:H(["edge",{"edge--dim":!r(S),"edge--on":!!k.value&&r(S),"edge--type":S.typeOnly,"edge--strong":S.cycles.size>1}]),d:v(S),"marker-end":k.value&&r(S)?"url(#arrow-on)":"url(#arrow)"},null,10,In))),128)),(_(!0),x(F,null,Q(d.value.nodes,S=>(_(),x("g",{key:S.id,class:H(["node",[T(S),{"node--dim":!f(S)}]]),transform:`translate(${S.x??0}, ${S.y??0})`,tabindex:"0",role:"button","aria-label":`${S.id}, in ${S.cycles.size} cycle${S.cycles.size===1?"":"s"}`,onMouseenter:E=>s.value=S.id,onMouseleave:$[0]||($[0]=E=>s.value=null),onFocus:E=>s.value=S.id,onBlur:$[1]||($[1]=E=>s.value=null),onClick:Ee(E=>o("open-file",S.id),["stop"]),onKeydown:st(E=>o("open-file",S.id),["enter"])},[y("title",null,w(S.id)+" — in "+w(S.cycles.size)+" cycle"+w(S.cycles.size===1?"":"s"),1),y("circle",{r:ue,class:"node__dot"}),y("text",jn,w(S.label),1),S.dir?(_(),x("text",An,w(S.dir),1)):O("",!0)],42,zn))),128))],42,Sn)),y("div",On,[$[5]||($[5]=it('<span class="legend" data-v-2ff3fdf0><i class="legend__dot legend__dot--single" data-v-2ff3fdf0></i> in one cycle</span><span class="legend" data-v-2ff3fdf0><i class="legend__dot legend__dot--hub" data-v-2ff3fdf0></i> in several cycles</span><span class="legend" data-v-2ff3fdf0><i class="legend__line legend__line--type" data-v-2ff3fdf0></i> type-only import</span><span class="spacer" data-v-2ff3fdf0></span>',4)),y("button",{class:"btn btn--small",onClick:$[3]||($[3]=S=>i.value={...u.value})},"Fit to screen")]),$[6]||($[6]=y("p",{class:"muted small"}," Scroll to zoom, drag to move. Click a file to open it, or pick a cycle in the list to light it up. ",-1))]))}}),Ln=le(En,[["__scopeId","data-v-2ff3fdf0"]]),Pn={class:"groups"},Fn=["aria-expanded","onClick"],Tn={class:"group__file"},Dn={class:"group__count"},Bn={key:0,class:"items"},Rn=["onClick"],Un={class:"item__place"},Vn=["title"],Hn={class:"item__text"},Yn={class:"item__message"},Xn={key:0,class:"item__hint muted"},Gn={class:"item__code"},Kn={key:0,class:"more"},Ve=40,Wn=oe({__name:"FindingsList",props:{findings:{}},emits:["open"],setup(e,{emit:n}){const t=e,o=n,s=L(Ve),i=L(new Set),u=P(()=>{const a=new Map;for(const c of t.findings){const d=c.file??"Project",m=a.get(d);m?m.push(c):a.set(d,[c])}return[...a.entries()].map(([c,d])=>({file:c,items:[...d].sort((m,g)=>(m.line??0)-(g.line??0))})).sort((c,d)=>c.file.localeCompare(d.file))});function l(a){const c=new Set(i.value);c.has(a)?c.delete(a):c.add(a),i.value=c}function h(a){return a.line?a.column?`${a.line}:${a.column}`:String(a.line):""}return(a,c)=>(_(),x("div",Pn,[(_(!0),x(F,null,Q(u.value.slice(0,s.value),d=>(_(),x("section",{key:d.file,class:"group"},[y("button",{class:"group__head","aria-expanded":!i.value.has(d.file),onClick:m=>l(d.file)},[y("span",{class:H(["group__caret",{"group__caret--open":!i.value.has(d.file)}])},"▸",2),y("code",Tn,w(d.file),1),y("span",Dn,w(d.items.length),1)],8,Fn),i.value.has(d.file)?O("",!0):(_(),x("ul",Bn,[(_(!0),x(F,null,Q(d.items,(m,g)=>(_(),x("li",{key:g,class:"item"},[y("button",{class:"item__main",onClick:k=>o("open",m)},[y("span",Un,w(h(m)),1),y("span",{class:H(["dot",`dot--${m.severity}`]),title:m.severity},null,10,Vn),y("span",Hn,[y("span",Yn,w(m.message),1),m.hint?(_(),x("span",Xn,w(m.hint),1)):O("",!0)]),y("span",Gn,w(m.code),1)],8,Rn)]))),128))]))]))),128)),s.value<u.value.length?(_(),x("div",Kn,[y("button",{class:"btn",onClick:c[0]||(c[0]=d=>s.value+=Ve)}," Show more files ("+w(u.value.length-s.value)+" left) ",1),y("button",{class:"btn",onClick:c[1]||(c[1]=d=>s.value=u.value.length)},"Show all")])):O("",!0)]))}}),tt=le(Wn,[["__scopeId","data-v-86eeb72c"]]),Qn={class:"cycles"},Jn={key:0,class:"split"},Zn={class:"side","aria-label":"Cycles"},qn={class:"side__title"},es={class:"side__list"},ts=["onClick"],ns={class:"cycle__head"},ss={class:"muted"},is={key:0,class:"cycle__tag"},os={class:"cycle__chain"},ls=oe({__name:"CyclesView",props:{findings:{}},emits:["open-file","open"],setup(e,{emit:n}){const t=e,o=n,s=L("graph"),i=L(null),u=P(()=>t.findings.filter(a=>a.files&&a.files.length>0).map((a,c)=>({id:c,files:a.files,typeOnly:a.code==="type-only"})));function l(a){i.value=i.value===a?null:a}function h(a){return[...a.files.map(c=>c.split("/").pop()??c),a.files[0]?.split("/").pop()].join(" → ")}return(a,c)=>(_(),x("div",Qn,[Z(rt,{modelValue:s.value,"onUpdate:modelValue":c[0]||(c[0]=d=>s.value=d),label:"View",options:[{value:"graph",label:"Graph"},{value:"list",label:"List"}]},null,8,["modelValue"]),s.value==="graph"?(_(),x("div",Jn,[Z(Ln,{cycles:u.value,selected:i.value,onSelectCycle:c[1]||(c[1]=d=>i.value=d),onOpenFile:c[2]||(c[2]=d=>o("open-file",d))},null,8,["cycles","selected"]),y("aside",Zn,[y("h3",qn,w(u.value.length)+" cycle"+w(u.value.length===1?"":"s"),1),y("ul",es,[(_(!0),x(F,null,Q(u.value,d=>(_(),x("li",{key:d.id},[y("button",{class:H(["cycle",{"cycle--on":i.value===d.id}]),onClick:m=>l(d.id)},[y("span",ns,[y("strong",null,"Cycle "+w(d.id+1),1),y("span",ss,w(d.files.length)+" files",1),d.typeOnly?(_(),x("span",is,"types only")):O("",!0)]),y("span",os,w(h(d)),1)],10,ts)]))),128))])])])):(_(),te(tt,{key:1,findings:e.findings,onOpen:c[3]||(c[3]=d=>o("open",d))},null,8,["findings"]))]))}}),as=le(ls,[["__scopeId","data-v-7482ac93"]]),rs={key:0,class:"code__note"},us=["data-focus"],cs={class:"line__text"},fs={key:0},Ie=400,vs=1500,ds=oe({__name:"UiCode",props:{text:{},lang:{},focusLine:{},focusColumn:{}},setup(e){const n=e,t=L(Fe(n.text)),o=L(!1),s=L(),i=P(()=>t.value.length),u=P(()=>!o.value&&i.value>vs),l=P(()=>{if(!u.value)return 0;const g=n.focusLine??1;return Math.max(0,Math.min(g-1-Ie/2,i.value-Ie))}),h=P(()=>u.value?Math.min(i.value,l.value+Ie):i.value),a=P(()=>t.value.slice(l.value,h.value)),c=P(()=>String(i.value).length);async function d(){t.value=Fe(n.text),t.value=await ct(n.text,n.lang),await ge(),m()}function m(){const g=s.value?.querySelector('[data-focus="true"]');if(g instanceof HTMLElement&&s.value){const k=s.value;k.scrollTop=g.offsetTop-k.clientHeight/2+g.clientHeight/2}}return me(()=>[n.text,n.lang],d),me(()=>[n.focusLine,n.focusColumn],async()=>{await ge(),m()}),ke(d),(g,k)=>(_(),x("div",{ref_key:"scroller",ref:s,class:"code",tabindex:"0",role:"region","aria-label":"Source code"},[u.value?(_(),x("p",rs,[B(" Showing lines "+w(l.value+1)+"–"+w(h.value)+" of "+w(i.value)+". ",1),y("button",{class:"code__link",onClick:k[0]||(k[0]=f=>(o.value=!0,ge().then(m)))}," Show the whole file ")])):O("",!0),(_(!0),x(F,null,Q(a.value,(f,r)=>(_(),x("div",{key:l.value+r,class:H(["line",{"line--focus":l.value+r+1===e.focusLine}]),"data-focus":l.value+r+1===e.focusLine},[y("span",{class:"line__no",style:pe({width:`${c.value+1}ch`})},w(l.value+r+1),5),y("span",cs,[(_(!0),x(F,null,Q(f,(v,p)=>(_(),x("span",{key:p,class:H(["tok",{"tok--bold":v.bold,"tok--italic":v.italic}]),style:pe({"--light":v.light||"var(--text)","--dark":v.dark||"var(--text)"})},w(v.text),7))),128)),!f.length||f.length===1&&f[0]?.text===""?(_(),x("span",fs," ")):O("",!0)]),l.value+r+1===e.focusLine&&e.focusColumn?(_(),x("span",{key:0,class:"line__marker",style:pe({left:`calc(${c.value+1}ch + ${Math.max(0,e.focusColumn-1)}ch + 12px)`})},null,4)):O("",!0)],10,us))),128))],512))}}),hs=le(ds,[["__scopeId","data-v-f2eb8c06"]]),ps={class:"muted counter"},gs=["disabled"],ys=["disabled"],_s={class:"body"},ms={class:"finding"},xs={key:0,class:"muted"},ws={key:0,class:"notice notice--error"},ks={key:1,class:"muted"},$s={key:2,class:"muted"},bs={class:"bar"},Cs={class:"path"},Ms=["href"],Ns=oe({__name:"SourceModal",props:{project:{},findings:{},index:{}},emits:["close","update:index"],setup(e,{emit:n}){const t=e,o=n,{copied:s,copy:i}=ut(),u=L(),l=L(""),h=L(!1),a=new Map,c=P(()=>t.findings[t.index]),d=P(()=>t.index>0),m=P(()=>t.index<t.findings.length-1),g=P(()=>{if(!u.value)return"";const v=[u.value.abs.replace(/\\/g,"/")];return c.value.line&&v.push(String(c.value.line)),c.value.line&&c.value.column&&v.push(String(c.value.column)),`vscode://file/${v.join(":")}`});async function k(){const v=c.value.file;if(l.value="",!v){u.value=void 0;return}const p=a.get(v);if(p){u.value=p;return}h.value=!0;try{const z=await ye.get(`/api/source?project=${encodeURIComponent(t.project)}&path=${encodeURIComponent(v)}`);a.set(v,z),u.value=z}catch(z){u.value=void 0,l.value=z instanceof Error?z.message:String(z)}finally{h.value=!1}}function f(v){const p=t.index+v;p>=0&&p<t.findings.length&&o("update:index",p)}function r(v){v.target instanceof HTMLInputElement||(v.key==="ArrowLeft"&&f(-1),v.key==="ArrowRight"&&f(1))}return me(()=>t.index,k,{immediate:!0}),ke(()=>window.addEventListener("keydown",r)),Ke(()=>window.removeEventListener("keydown",r)),(v,p)=>(_(),te(lt,{title:c.value.file??"Project",width:"1100px",onClose:p[3]||(p[3]=z=>o("close"))},{actions:Le(()=>[y("span",ps,w(e.index+1)+" / "+w(e.findings.length),1),y("button",{class:"btn btn--small",disabled:!d.value,"aria-label":"Previous finding",onClick:p[0]||(p[0]=z=>f(-1))},[Z(ne,{name:"left",size:15})],8,gs),y("button",{class:"btn btn--small",disabled:!m.value,"aria-label":"Next finding",onClick:p[1]||(p[1]=z=>f(1))},[Z(ne,{name:"right",size:15})],8,ys)]),default:Le(()=>[y("div",_s,[y("div",ms,[y("span",{class:H(["badge",`badge--${c.value.severity}`])},w(c.value.code),3),y("strong",null,w(c.value.message),1),c.value.hint?(_(),x("p",xs,w(c.value.hint),1)):O("",!0)]),l.value?(_(),x("p",ws,w(l.value),1)):h.value?(_(),x("p",ks,"Loading…")):c.value.file?u.value?(_(),x(F,{key:3},[y("div",bs,[y("code",Cs,[B(w(u.value.path),1),c.value.line?(_(),x(F,{key:0},[B(":"+w(c.value.line),1)],64)):O("",!0)]),y("button",{class:"btn btn--small",onClick:p[2]||(p[2]=z=>Me(i)("path",u.value.abs))},[Z(ne,{name:Me(s)==="path"?"check":"copy",size:14},null,8,["name"]),B(" "+w(Me(s)==="path"?"Copied":"Copy path"),1)]),y("a",{class:"btn btn--small",href:g.value},[Z(ne,{name:"external",size:14}),p[4]||(p[4]=B(" Open in VS Code ",-1))],8,Ms)]),Z(hs,{class:"viewer",text:u.value.text,lang:u.value.lang,"focus-line":c.value.line,"focus-column":c.value.column},null,8,["text","lang","focus-line","focus-column"])],64)):O("",!0):(_(),x("p",$s,"This finding is not tied to a source file."))])]),_:1},8,["title"]))}}),He=le(Ns,[["__scopeId","data-v-07a7a162"]]);function de(e){return Object.fromEntries(e.options.map(n=>[n.key,n.default]))}const Ss={class:"page"},Is={class:"page__head"},zs={class:"muted"},js={class:"project"},As=["title"],Os={key:0,class:"notice notice--error"},Es={key:1,class:"layout"},Ls={class:"menu","aria-label":"Checks"},Ps=["aria-current"],Fs={key:0,class:"menu__title"},Ts=["aria-current","onClick"],Ds={class:"menu__name"},Bs={class:"main"},Rs={key:0,class:"notice notice--error"},Us={class:"card block"},Vs={class:"head"},Hs={class:"muted"},Ys=["disabled"],Xs={key:0,class:"options"},Gs={key:0,class:"check"},Ks=["checked","onChange"],Ws={class:"muted"},Qs={key:1,class:"field"},Js={class:"muted"},Zs=["value","onInput"],qs={key:0,class:"notice notice--error"},ei={key:1,class:"card block",role:"status"},ti={key:2,class:"card block"},ni={class:"head"},si={class:"muted small"},ii={key:0,class:"notice notice--error"},oi={key:1,class:"clean"},li={class:"filters"},ai={class:"chips"},ri=["onClick"],ui={key:0,class:"muted"},ci={key:3,class:"card block empty"},Ye="devtoolz-ui.checks-project",Xe="devtoolz-ui.checks-selected",he="overview",fi=oe({__name:"ChecksPage",props:{module:{},status:{}},setup(e){const n=e,t=L([]),o=L(""),s=L(""),i=L({}),u=L({}),l=L(""),h=L(""),a=L(!1),c=L(""),d=L(""),m=L(null),g=L(null),k=L(!1),f=L(!1),r=L({done:0,total:0,current:""}),v=L();let p;const z=P(()=>o.value===he),C=P(()=>t.value.find(I=>I.id===o.value)),A=P(()=>u.value[o.value]),T=P(()=>{const I=A.value?.findings??[],b=c.value.trim().toLowerCase();return I.filter(M=>(d.value===""||M.code===d.value)&&(b===""||`${M.file??""} ${M.message} ${M.code}`.toLowerCase().includes(b)))}),N=P(()=>{const I=new Map;for(const b of A.value?.findings??[]){const M=I.get(b.code);M?M.count+=1:I.set(b.code,{count:1,severity:b.severity})}return[...I.entries()].map(([b,M])=>({code:b,...M}))}),$=P(()=>[{id:"code",title:"Code",items:t.value.filter(I=>I.group==="code")},{id:"dependencies",title:"Dependencies",items:t.value.filter(I=>I.group==="dependencies")},{id:"docs",title:"Documentation",items:t.value.filter(I=>I.group==="docs")}]);function S(I,b){try{localStorage.setItem(I,b)}catch{return}}function E(I){try{return localStorage.getItem(I)??""}catch{return""}}function D(I){o.value=I,c.value="",d.value="",m.value=null,S(Xe,I)}function R(I){a.value=!1;const b=I[0];!b||b===s.value||(s.value=b,u.value={},v.value=void 0,S(Ye,b))}function j(I){return u.value[I]?.findings.length}async function U(I){if(!(f.value||l.value)){p?.(),f.value=!0,h.value="",r.value={done:0,total:0,current:""};try{const{jobId:b}=await ye.post("/api/checks/all/run",{project:s.value,includeSlow:I});p=Pe(b,{onProgress:M=>{r.value=M},onDone:M=>{u.value={...u.value,...M.outcomes},v.value=M.tookMs,f.value=!1},onFailed:M=>{h.value=M,f.value=!1}})}catch(b){h.value=b instanceof Error?b.message:String(b),f.value=!1}}}async function K(){const I=C.value;if(!(!I||l.value)){p?.(),l.value=I.id,h.value="";try{const{jobId:b}=await ye.post(`/api/checks/${I.id}/run`,{project:s.value,options:i.value[I.id]??de(I)});p=Pe(b,{onDone:M=>{u.value={...u.value,[I.id]:M},l.value="",c.value="",d.value=""},onFailed:M=>{h.value=M,l.value=""}})}catch(b){h.value=b instanceof Error?b.message:String(b),l.value=""}}}function J(I,b){const M=C.value;M&&(i.value={...i.value,[M.id]:{...i.value[M.id]??de(M),[I]:b}})}function q(I,b){const M=C.value;M&&(i.value={...i.value,[M.id]:{...i.value[M.id]??de(M),[I]:b}})}function V(I){const b=C.value;return b?(i.value[b.id]??de(b))[I]??"":""}function ee(I){g.value=[{file:I,severity:"info",code:"file",message:I}]}function be(I){I.file&&ee(I.file)}function Ce(I){const b=T.value.indexOf(I);m.value=b>=0?b:0}return ke(async()=>{s.value=E(Ye)||n.status?.cwd||"";try{t.value=await ye.get("/api/checks");const I=E(Xe);o.value=I===he||t.value.some(b=>b.id===I)?I:he}catch(I){h.value=I instanceof Error?I.message:String(I)}}),Ke(()=>p?.()),(I,b)=>(_(),x("div",Ss,[y("header",Is,[y("h1",null,w(e.module.title),1),y("p",zs,w(e.module.description),1),y("p",js,[Z(ne,{name:"folder",size:15}),b[9]||(b[9]=y("span",{class:"muted"},"Project",-1)),y("code",{title:s.value},w(s.value),9,As),y("button",{class:"btn btn--small",onClick:b[0]||(b[0]=M=>a.value=!0)},"Change…")])]),h.value&&!C.value?(_(),x("p",Os,w(h.value),1)):O("",!0),t.value.length?(_(),x("div",Es,[y("nav",Ls,[y("button",{class:H(["menu__item",{"menu__item--on":z.value}]),"aria-current":z.value?"page":void 0,onClick:b[1]||(b[1]=M=>D(he))},[...b[10]||(b[10]=[y("span",{class:"menu__name"},"Overview",-1)])],10,Ps),(_(!0),x(F,null,Q($.value,M=>(_(),x(F,{key:M.id},[M.items.length?(_(),x("h3",Fs,w(M.title),1)):O("",!0),(_(!0),x(F,null,Q(M.items,W=>(_(),x("button",{key:W.id,class:H(["menu__item",{"menu__item--on":W.id===o.value}]),"aria-current":W.id===o.value?"page":void 0,onClick:vi=>D(W.id)},[y("span",Ds,w(W.title),1),j(W.id)!==void 0?(_(),x("span",{key:0,class:H(["menu__count",{"menu__count--clean":j(W.id)===0}])},w(j(W.id)===0?"✓":j(W.id)),3)):O("",!0)],10,Ts))),128))],64))),128))]),y("main",Bs,[h.value&&z.value?(_(),x("p",Rs,w(h.value),1)):O("",!0),z.value?(_(),te(Dt,{key:1,checks:t.value,outcomes:u.value,running:f.value,progress:r.value,"took-ms":v.value,onRunAll:U,onOpen:D},null,8,["checks","outcomes","running","progress","took-ms"])):C.value?(_(),x(F,{key:2},[y("section",Us,[y("div",Vs,[y("div",null,[y("h2",null,w(C.value.title),1),y("p",Hs,w(C.value.description),1)]),y("button",{class:"btn btn--primary",disabled:l.value!==""||s.value==="",onClick:K},[Z(ne,{name:"play",size:15}),B(" "+w(l.value===C.value.id?"Checking…":A.value?"Run again":"Run check"),1)],8,Ys)]),y("button",{class:"link",onClick:b[2]||(b[2]=M=>k.value=!k.value)},w(k.value?"Hide":"Show")+" options ",1),k.value?(_(),x("div",Xs,[(_(!0),x(F,null,Q(C.value.options,M=>(_(),x(F,{key:M.key},[M.type==="boolean"?(_(),x("label",Gs,[y("input",{type:"checkbox",checked:V(M.key)===!0,onChange:W=>J(M.key,W.target.checked)},null,40,Ks),y("span",null,[B(w(M.label)+" ",1),y("small",Ws," — "+w(M.help),1)])])):(_(),x("label",Qs,[y("span",null,[B(w(M.label)+" ",1),y("small",Js,"— "+w(M.help),1)]),y("textarea",{class:"textarea",rows:"3",spellcheck:"false",value:String(V(M.key)),onInput:W=>q(M.key,W.target.value)},null,40,Zs)]))],64))),128))])):O("",!0)]),h.value?(_(),x("p",qs,w(h.value),1)):O("",!0),l.value===C.value.id?(_(),x("section",ei,[...b[11]||(b[11]=[y("p",{class:"muted"},"Scanning the project…",-1)])])):A.value?(_(),x("section",ti,[y("div",ni,[y("div",null,[y("h2",null,w(A.value.summary),1),y("p",si,[B(w((A.value.tookMs/1e3).toFixed(1))+" s ",1),A.value.filesScanned!==void 0?(_(),x(F,{key:0},[B(" · "+w(A.value.filesScanned)+" files scanned",1)],64)):O("",!0)])])]),(_(!0),x(F,null,Q(A.value.notes??[],M=>(_(),x("p",{key:M,class:"notice notice--warn"},w(M),1))),128)),A.value.error?(_(),x("p",ii,w(A.value.error),1)):O("",!0),A.value.findings.length===0&&!A.value.error?(_(),x("p",oi,[Z(ne,{name:"check",size:18}),b[12]||(b[12]=B(" Nothing to report. This check is clean. ",-1))])):O("",!0),C.value.id==="circular-imports"&&A.value.findings.length?(_(),te(as,{key:2,findings:A.value.findings,onOpenFile:ee,onOpen:be},null,8,["findings"])):A.value.findings.length?(_(),x(F,{key:3},[y("div",li,[Ge(y("input",{"onUpdate:modelValue":b[3]||(b[3]=M=>c.value=M),class:"input search",placeholder:"Filter by file or text","aria-label":"Filter findings"},null,512),[[ot,c.value]]),y("div",ai,[y("button",{class:H(["chip",{"chip--on":d.value===""}]),onClick:b[4]||(b[4]=M=>d.value="")}," all "+w(A.value.findings.length),3),(_(!0),x(F,null,Q(N.value,M=>(_(),x("button",{key:M.code,class:H(["chip",[`chip--${M.severity}`,{"chip--on":d.value===M.code}]]),onClick:W=>d.value=d.value===M.code?"":M.code},w(M.code)+" "+w(M.count),11,ri))),128))])]),T.value.length===0?(_(),x("p",ui,"No findings match the filter.")):(_(),te(tt,{key:1,findings:T.value,onOpen:Ce},null,8,["findings"]))],64)):O("",!0)])):l.value?O("",!0):(_(),x("section",ci,[...b[13]||(b[13]=[y("p",{class:"muted"},"Press “Run check” to scan the project.",-1)])]))],64)):O("",!0)])])):O("",!0),g.value?(_(),te(He,{key:2,index:0,project:s.value,findings:g.value,onClose:b[5]||(b[5]=M=>g.value=null)},null,8,["project","findings"])):O("",!0),m.value!==null&&T.value.length?(_(),te(He,{key:3,index:m.value,"onUpdate:index":b[6]||(b[6]=M=>m.value=M),project:s.value,findings:T.value,onClose:b[7]||(b[7]=M=>m.value=null)},null,8,["index","project","findings"])):O("",!0),a.value?(_(),te(at,{key:4,start:s.value||e.status?.cwd||"",mode:"folder",title:"Choose the project folder",onClose:b[8]||(b[8]=M=>a.value=!1),onConfirm:R},null,8,["start"])):O("",!0)]))}}),_i=le(fi,[["__scopeId","data-v-3c25da8b"]]);export{_i as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.overview[data-v-0b1b992d]{display:flex;flex-direction:column;gap:16px}.block[data-v-0b1b992d]{display:flex;flex-direction:column;gap:12px;padding:18px}.head[data-v-0b1b992d]{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.small[data-v-0b1b992d]{font-size:12px}.progress-wrap[data-v-0b1b992d]{display:flex;flex-direction:column;gap:8px}.progress[data-v-0b1b992d]{height:8px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.progress__bar[data-v-0b1b992d]{height:100%;background:var(--accent);transition:width .15s}.chips[data-v-0b1b992d]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sev[data-v-0b1b992d]{padding:2px 10px;border-radius:999px;background:var(--surface-2);font-size:12px}.sev--error[data-v-0b1b992d]{background:var(--danger-soft);color:var(--danger)}.sev--warning[data-v-0b1b992d]{background:var(--warn-soft);color:var(--warn)}.sev--ok[data-v-0b1b992d]{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.group[data-v-0b1b992d]{display:flex;flex-direction:column;gap:8px}.group__title[data-v-0b1b992d]{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}.cards[data-v-0b1b992d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.tile[data-v-0b1b992d]{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:12px 16px;text-align:left;cursor:pointer;transition:border-color .15s}.tile[data-v-0b1b992d]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tile[data-v-0b1b992d]:hover{border-color:var(--accent)}.tile--clean[data-v-0b1b992d]{border-left:3px solid var(--ok)}.tile--found[data-v-0b1b992d]{border-left:3px solid var(--warn)}.tile--broken[data-v-0b1b992d]{border-left:3px solid var(--danger)}.tile__top[data-v-0b1b992d]{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile__state[data-v-0b1b992d]{color:var(--muted);font-size:12px;font-weight:600}.tile--clean .tile__state[data-v-0b1b992d]{color:var(--ok)}.tile--found .tile__state[data-v-0b1b992d]{color:var(--warn)}.tile--broken .tile__state[data-v-0b1b992d]{color:var(--danger)}.tile__text[data-v-0b1b992d]{font-size:12px}.tile__sev[data-v-0b1b992d]{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.tile__slow[data-v-0b1b992d]{font-size:11px}.graph[data-v-2ff3fdf0]{display:flex;flex-direction:column;gap:8px}.graph__svg[data-v-2ff3fdf0]{width:100%;height:520px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);cursor:grab;touch-action:none}.graph__svg--drag[data-v-2ff3fdf0]{cursor:grabbing}.graph__bar[data-v-2ff3fdf0]{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:12px}.spacer[data-v-2ff3fdf0]{flex:1}.small[data-v-2ff3fdf0]{font-size:12px}.edge[data-v-2ff3fdf0]{fill:none;stroke:var(--muted);stroke-width:1.4;opacity:.75;transition:opacity .15s}.edge--strong[data-v-2ff3fdf0]{stroke-width:2.2}.edge--type[data-v-2ff3fdf0]{stroke-dasharray:5 4}.edge--on[data-v-2ff3fdf0]{stroke:var(--accent);stroke-width:2.6;opacity:1}.edge--dim[data-v-2ff3fdf0]{opacity:.12}.arrow[data-v-2ff3fdf0]{fill:var(--muted)}.arrow--on[data-v-2ff3fdf0]{fill:var(--accent)}.node[data-v-2ff3fdf0]{cursor:pointer;outline:none;transition:opacity .15s}.node__dot[data-v-2ff3fdf0]{stroke:var(--surface);stroke-width:2}.node--single .node__dot[data-v-2ff3fdf0]{fill:var(--warn)}.node--hub .node__dot[data-v-2ff3fdf0]{fill:var(--danger)}.node:hover .node__dot[data-v-2ff3fdf0],.node:focus-visible .node__dot[data-v-2ff3fdf0]{stroke:var(--accent);stroke-width:3}.node--dim[data-v-2ff3fdf0]{opacity:.2}.node__label[data-v-2ff3fdf0]{fill:var(--text);font-size:13px;font-weight:600;paint-order:stroke;stroke:var(--surface-2);stroke-width:4px;stroke-linejoin:round}.node__dir[data-v-2ff3fdf0]{fill:var(--muted);font-size:10px;paint-order:stroke;stroke:var(--surface-2);stroke-width:3px}.legend[data-v-2ff3fdf0]{display:inline-flex;align-items:center;gap:6px}.legend__dot[data-v-2ff3fdf0]{width:10px;height:10px;border-radius:50%}.legend__dot--single[data-v-2ff3fdf0]{background:var(--warn)}.legend__dot--hub[data-v-2ff3fdf0]{background:var(--danger)}.legend__line[data-v-2ff3fdf0]{width:22px;border-top:2px dashed var(--muted)}.legend__line--type[data-v-2ff3fdf0]{border-top-style:dashed}.groups[data-v-86eeb72c]{display:flex;flex-direction:column;gap:8px}.group[data-v-86eeb72c]{border:1px solid var(--border);border-radius:9px;overflow:hidden}.group__head[data-v-86eeb72c]{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:0;background:var(--surface-2);text-align:left;cursor:pointer}.group__head[data-v-86eeb72c]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.group__caret[data-v-86eeb72c]{flex:none;color:var(--muted);transition:transform .15s}.group__caret--open[data-v-86eeb72c]{transform:rotate(90deg)}.group__file[data-v-86eeb72c]{flex:1;min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group__count[data-v-86eeb72c]{flex:none;padding:0 8px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px}.items[data-v-86eeb72c]{margin:0;padding:0;list-style:none}.item[data-v-86eeb72c]{border-top:1px solid var(--border)}.item__main[data-v-86eeb72c]{display:flex;align-items:flex-start;gap:12px;width:100%;padding:8px 12px;border:0;background:transparent;text-align:left;cursor:pointer;transition:background .15s}.item__main[data-v-86eeb72c]:hover:not(:disabled){background:var(--surface-2)}.item__main[data-v-86eeb72c]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.item__place[data-v-86eeb72c]{flex:none;width:56px;color:var(--muted);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:12px;text-align:right}.item__text[data-v-86eeb72c]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.item__hint[data-v-86eeb72c]{font-size:12px}.item__code[data-v-86eeb72c]{flex:none;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px}.dot[data-v-86eeb72c]{flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--muted)}.dot--error[data-v-86eeb72c]{background:var(--danger)}.dot--warning[data-v-86eeb72c]{background:var(--warn)}.more[data-v-86eeb72c]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center}.cycles[data-v-7482ac93]{display:flex;flex-direction:column;gap:12px}.split[data-v-7482ac93]{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}@media(max-width:1100px){.split[data-v-7482ac93]{grid-template-columns:1fr}}.side[data-v-7482ac93]{display:flex;flex-direction:column;gap:8px;max-height:600px;overflow-y:auto}.side__title[data-v-7482ac93]{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}.side__list[data-v-7482ac93]{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.cycle[data-v-7482ac93]{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);text-align:left;cursor:pointer}.cycle[data-v-7482ac93]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cycle--on[data-v-7482ac93]{border-color:var(--accent);background:var(--accent-soft)}.cycle__head[data-v-7482ac93]{display:flex;align-items:center;gap:8px;font-size:12px}.cycle__tag[data-v-7482ac93]{padding:0 8px;border-radius:999px;background:var(--surface-2);font-size:11px}.cycle__chain[data-v-7482ac93]{color:var(--muted);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:11px;word-break:break-all}.code[data-v-f2eb8c06]{position:relative;overflow:auto;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.6;tab-size:2}.code[data-v-f2eb8c06]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.code__note[data-v-f2eb8c06]{position:sticky;top:0;z-index:1;padding:6px 12px;background:var(--warn-soft);color:var(--warn)}.code__link[data-v-f2eb8c06]{padding:0;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.line[data-v-f2eb8c06]{position:relative;display:flex;min-width:max-content}.line--focus[data-v-f2eb8c06]{background:color-mix(in srgb,var(--warn) 22%,transparent);box-shadow:inset 3px 0 0 var(--warn)}.line__no[data-v-f2eb8c06]{flex:none;padding:0 12px;color:var(--muted);text-align:right;user-select:none;box-sizing:content-box}.line__text[data-v-f2eb8c06]{white-space:pre;padding-right:16px}.line__marker[data-v-f2eb8c06]{position:absolute;bottom:0;width:1ch;height:2px;background:var(--danger);pointer-events:none}.tok[data-v-f2eb8c06]{color:var(--light)}.tok--bold[data-v-f2eb8c06]{font-weight:600}.tok--italic[data-v-f2eb8c06]{font-style:italic}@media(prefers-color-scheme:dark){.tok[data-v-f2eb8c06]{color:var(--dark)}}.counter[data-v-07a7a162]{font-size:12px}.body[data-v-07a7a162]{display:flex;flex-direction:column;gap:12px;padding:16px;min-height:0}.finding[data-v-07a7a162]{display:flex;flex-direction:column;gap:4px}.bar[data-v-07a7a162]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.path[data-v-07a7a162]{flex:1;min-width:0;font-size:12px;word-break:break-all}.viewer[data-v-07a7a162]{max-height:58vh}.badge[data-v-07a7a162]{align-self:flex-start;padding:1px 8px;border-radius:999px;background:var(--surface-2);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.badge--error[data-v-07a7a162]{background:var(--danger-soft);color:var(--danger)}.badge--warning[data-v-07a7a162]{background:var(--warn-soft);color:var(--warn)}a.btn[data-v-07a7a162]{text-decoration:none}.page[data-v-3c25da8b]{display:flex;flex-direction:column;gap:16px;padding:28px 28px 60px}@media(max-width:760px){.page[data-v-3c25da8b]{padding:18px 14px 40px}}.page__head p[data-v-3c25da8b]{margin-top:4px}.project[data-v-3c25da8b]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px}.project code[data-v-3c25da8b]{padding:2px 8px;border-radius:6px;background:var(--surface-2);word-break:break-all}.layout[data-v-3c25da8b]{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}@media(max-width:760px){.layout[data-v-3c25da8b]{grid-template-columns:1fr}}.menu[data-v-3c25da8b]{display:flex;flex-direction:column;gap:2px}.menu__title[data-v-3c25da8b]{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase;margin:12px 0 4px 8px}.menu__item[data-v-3c25da8b]{display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:9px;background:transparent;text-align:left;cursor:pointer;transition:background .15s}.menu__item[data-v-3c25da8b]:hover:not(:disabled){background:var(--surface-2)}.menu__item[data-v-3c25da8b]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.menu__item--on[data-v-3c25da8b]{background:var(--accent-soft);color:var(--accent);font-weight:600}.menu__name[data-v-3c25da8b]{flex:1}.menu__count[data-v-3c25da8b]{padding:0 8px;border-radius:999px;background:var(--warn-soft);color:var(--warn);font-size:11px;font-weight:600}.menu__count--clean[data-v-3c25da8b]{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.main[data-v-3c25da8b]{display:flex;flex-direction:column;gap:16px;min-width:0}.block[data-v-3c25da8b]{display:flex;flex-direction:column;gap:12px;padding:18px}.head[data-v-3c25da8b]{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.small[data-v-3c25da8b]{font-size:12px}.link[data-v-3c25da8b]{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer}.link[data-v-3c25da8b]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.options[data-v-3c25da8b]{display:flex;flex-direction:column;gap:12px}.textarea[data-v-3c25da8b]{padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:12px}.textarea[data-v-3c25da8b]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.filters[data-v-3c25da8b]{display:flex;flex-direction:column;gap:8px}.search[data-v-3c25da8b]{max-width:420px}.chips[data-v-3c25da8b]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chip[data-v-3c25da8b]{padding:2px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:12px;cursor:pointer}.chip[data-v-3c25da8b]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip--on[data-v-3c25da8b]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.clean[data-v-3c25da8b]{display:flex;align-items:center;gap:8px;color:var(--ok);font-weight:600}.empty[data-v-3c25da8b]{text-align:center}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{d as se,r,w as me,x as le,o as n,c as o,F as p,a as $,f as l,t as a,n as T,y as ge,i as b,p as h,b as ae,s as z,e as ye,g as G,h as Z,j as be,z as we,q as ee,A as D,B as xe}from"./index-pDKL0Y31.js";import{F as Ce}from"./FolderBrowser-BX3-y8sM.js";import{U as Se}from"./UiSegmented-YV1YATxM.js";import{h as $e}from"./highlight-CsAszz7F.js";const Ne={class:"diff",role:"region","aria-label":"Changes in this file"},je={class:"hunk__head"},Ee={class:"row__no"},Ie={class:"row__no"},Be={class:"row__sign"},Fe={class:"row__text"},Oe={key:2},Pe=se({__name:"DiffView",props:{diff:{},lang:{}},setup(I){const N=I;function R(k){const g=[];let f,v=0,c=0;for(const u of k.split(`
|
|
2
|
-
`)){const d=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@(.*)$/.exec(u);if(d){v=Number(d[1]),c=Number(d[2]),f={header:u,lines:[]},g.push(f);continue}if(!f||u.startsWith("\\"))continue;const m=u[0];m==="+"?f.lines.push({type:"add",text:u.slice(1),oldNo:null,newNo:c++}):m==="-"?f.lines.push({type:"del",text:u.slice(1),oldNo:v++,newNo:null}):m===" "&&f.lines.push({type:"ctx",text:u.slice(1),oldNo:v++,newNo:c++})}return g}const C=r(R(N.diff));async function w(){const k=R(N.diff);C.value=k;for(const g of k){const f=await $e(g.lines.map(v=>v.text).join(`
|
|
3
|
-
`),N.lang);g.lines.forEach((v,c)=>{v.tokens=f[c]})}C.value=[...k]}me(()=>[N.diff,N.lang],w),le(w);function _(k){return k==="add"?"+":k==="del"?"−":" "}return(k,g)=>(n(),o("div",Ne,[(n(!0),o(p,null,$(C.value,(f,v)=>(n(),o("section",{key:v,class:"hunk"},[l("div",je,a(f.header),1),(n(!0),o(p,null,$(f.lines,(c,u)=>(n(),o("div",{key:u,class:T(["row",`row--${c.type}`])},[l("span",Ee,a(c.oldNo??""),1),l("span",Ie,a(c.newNo??""),1),l("span",Be,a(_(c.type)),1),l("span",Fe,[c.tokens?(n(!0),o(p,{key:0},$(c.tokens,(d,m)=>(n(),o("span",{key:m,class:"tok",style:ge({"--light":d.light||"var(--text)","--dark":d.dark||"var(--text)"})},a(d.text),5))),128)):(n(),o(p,{key:1},[b(a(c.text),1)],64)),c.text===""?(n(),o("span",Oe," ")):h("",!0)])],2))),128))]))),128))]))}}),Ue=ae(Pe,[["__scopeId","data-v-9a9e1464"]]),Ve={class:"page"},ze={class:"page__head"},De={class:"muted"},Re={class:"project"},Ae=["title"],Le={key:0,class:"card block"},We={class:"head"},Te=["disabled"],Me={class:"muted"},qe={key:0,class:"options"},He={key:0,class:"check"},Je=["checked","onChange"],Ge={class:"muted"},Ke={key:1,class:"field"},Ye={class:"muted"},Qe=["value","onInput"],Xe={key:1,class:"notice notice--error"},Ze={key:2,class:"notice"},et={key:3,class:"card block"},tt={class:"results"},st={class:"muted"},lt={key:0,class:"actions"},at={key:4,class:"card block",role:"status"},nt={key:5,class:"card block"},ot={class:"head"},ut={class:"muted small"},it={key:0,class:"notice notice--warn"},ct={class:"skipped"},rt={class:"toolbar"},dt=["disabled"],vt={class:"files"},ft={class:"file__row"},ht=["checked","disabled","aria-label","onChange"],pt=["aria-expanded","onClick"],_t={class:"file__name"},kt={class:"file__count"},mt={class:"file__stat file__stat--del"},gt={key:0,class:"file__stat file__stat--add"},yt={key:1,class:"file__done"},bt={key:0,class:"actions"},wt={key:6,class:"card block"},xt={class:"history"},Ct={class:"muted"},St=["onClick"],te="devtoolz-ui.checks-project",K=40,$t=se({__name:"CleanupPage",props:{module:{},status:{}},setup(I){const N=I,R={"embedded-in-expression":"inside a larger expression","braceless-body":"the only statement of an if/loop without braces"},C=r([]),w=r("strip-comments"),_=r(""),k=r({}),g=r(!1),f=r(!1),v=r(!1),c=r(!1),u=r(),d=r(new Set),m=r(new Set),S=r(new Set),M=r(""),x=r(""),O=r(""),P=r([]),j=r(""),A=r([]),B=r(K);let q;const E=D(()=>C.value.find(s=>s.id===w.value)),U=D(()=>{const s=M.value.trim().toLowerCase();return(u.value?.files??[]).filter(t=>s===""||t.file.toLowerCase().includes(s))}),ne=D(()=>U.value.slice(0,B.value)),F=D(()=>d.value.size),Y=D(()=>(u.value?.files??[]).filter(s=>d.value.has(s.file)).reduce((s,t)=>s+t.count,0));function oe(s){try{localStorage.setItem(te,s)}catch{return}}function ue(){try{return localStorage.getItem(te)??""}catch{return""}}function V(){const s=E.value;return s?{...Object.fromEntries(s.options.map(e=>[e.key,e.default])),...k.value[s.id]??{}}:{}}function Q(s,t){k.value={...k.value,[w.value]:{...V(),[s]:t}}}function ie(s){const t=s.slice(s.lastIndexOf(".")+1).toLowerCase();return t==="ts"?"ts":t==="tsx"?"tsx":t==="vue"?"vue":t==="jsx"?"jsx":"js"}function H(s){let t=0,e=0;for(const i of(s??"").split(`
|
|
4
|
-
`))i.startsWith("+")&&!i.startsWith("+++")?t+=1:i.startsWith("-")&&!i.startsWith("---")&&(e+=1);return{added:t,removed:e}}function ce(s){const t=new Set(d.value);t.has(s)?t.delete(s):t.add(s),d.value=t}function re(s){const t=new Set(m.value);t.has(s)?t.delete(s):t.add(s),m.value=t}function de(){d.value=new Set(U.value.filter(s=>!S.value.has(s.file)).map(s=>s.file))}function ve(){d.value=new Set}function fe(s){f.value=!1;const t=s[0];!t||t===_.value||(_.value=t,oe(t),J(),L())}function J(){u.value=void 0,d.value=new Set,m.value=new Set,S.value=new Set,P.value=[],j.value="",O.value="",x.value=""}function he(s){w.value=s,J()}async function pe(){if(!v.value){q?.(),J(),v.value=!0,B.value=K;try{const{jobId:s}=await z.post(`/api/cleanup/${w.value}/scan`,{project:_.value,options:V()});q=xe(s,{onDone:t=>{u.value=t,v.value=!1},onFailed:t=>{x.value=t,v.value=!1}})}catch(s){x.value=s instanceof Error?s.message:String(s),v.value=!1}}}async function L(){try{const s=await z.get(`/api/cleanup/history?project=${encodeURIComponent(_.value)}`);A.value=s.backups}catch{A.value=[]}}async function _e(){const s=u.value;if(!(!s||F.value===0||c.value||!window.confirm(`Change ${F.value} file${F.value===1?"":"s"}? ${Y.value} ${E.value?.verb??"item"}${Y.value===1?"":"s"} will be removed. A backup is saved first, and you can undo this afterwards.`))){c.value=!0,x.value="";try{const e=s.files.filter(y=>d.value.has(y.file)),i=await z.post(`/api/cleanup/${w.value}/apply`,{project:_.value,options:V(),files:e.map(y=>({file:y.file,hash:y.hash}))});P.value=i.results,j.value=i.backupDir??"";const W=i.results.filter(y=>y.status==="applied").map(y=>y.file);S.value=new Set([...S.value,...W]),d.value=new Set([...d.value].filter(y=>!W.includes(y))),O.value=`${W.length} file${W.length===1?"":"s"} changed.`,await L()}catch(e){x.value=e instanceof Error?e.message:String(e)}finally{c.value=!1}}}async function X(s){if(window.confirm("Put the files back as they were before this cleanup?"))try{const t=await z.post("/api/cleanup/undo",{project:_.value,dir:s}),e=t.counts.restored??0,i=t.counts.modified??0;O.value=`Restored ${e} file${e===1?"":"s"}.`+(i?` ${i} changed since and were left alone.`:""),s===j.value&&(j.value="",P.value=[],S.value=new Set),await L()}catch(t){x.value=t instanceof Error?t.message:String(t)}}function ke(s){const t=new Date(s);return Number.isNaN(t.getTime())?s:t.toLocaleString()}return le(async()=>{_.value=ue()||N.status?.cwd||"";try{C.value=await z.get("/api/cleanup/tools")}catch(s){x.value=s instanceof Error?s.message:String(s)}await L()}),ye(()=>q?.()),(s,t)=>(n(),o("div",Ve,[l("header",ze,[l("h1",null,a(I.module.title),1),l("p",De,a(I.module.description),1),l("p",Re,[G(Z,{name:"folder",size:15}),t[7]||(t[7]=l("span",{class:"muted"},"Project",-1)),l("code",{title:_.value},a(_.value),9,Ae),l("button",{class:"btn btn--small",onClick:t[0]||(t[0]=e=>f.value=!0)},"Change…")])]),E.value?(n(),o("section",Le,[l("div",We,[G(Se,{"model-value":w.value,label:"What to remove",options:C.value.map(e=>({value:e.id,label:e.title})),"onUpdate:modelValue":he},null,8,["model-value","options"]),l("button",{class:"btn btn--primary",disabled:v.value||c.value||_.value==="",onClick:pe},[G(Z,{name:"search",size:15}),b(" "+a(v.value?"Scanning…":u.value?"Scan again":"Scan the project"),1)],8,Te)]),l("p",Me,a(E.value.description)+" Nothing is changed until you choose the files and confirm. ",1),l("button",{class:"link",onClick:t[1]||(t[1]=e=>g.value=!g.value)},a(g.value?"Hide":"Show")+" options ",1),g.value?(n(),o("div",qe,[(n(!0),o(p,null,$(E.value.options,e=>(n(),o(p,{key:e.key},[e.type==="boolean"?(n(),o("label",He,[l("input",{type:"checkbox",checked:V()[e.key]===!0,onChange:i=>Q(e.key,i.target.checked)},null,40,Je),l("span",null,[b(a(e.label)+" ",1),l("small",Ge,"— "+a(e.help),1)])])):(n(),o("label",Ke,[l("span",null,[b(a(e.label)+" ",1),l("small",Ye,"— "+a(e.help),1)]),l("textarea",{class:"textarea",rows:"3",spellcheck:"false",value:String(V()[e.key]??""),onInput:i=>Q(e.key,i.target.value)},null,40,Qe)]))],64))),128))])):h("",!0)])):h("",!0),x.value?(n(),o("p",Xe,a(x.value),1)):h("",!0),O.value?(n(),o("p",Ze,a(O.value),1)):h("",!0),j.value||P.value.length?(n(),o("section",et,[t[8]||(t[8]=l("h2",null,"Result",-1)),l("ul",tt,[(n(!0),o(p,null,$(P.value,e=>(n(),o("li",{key:e.file,class:T(["result",`result--${e.status}`])},[l("code",null,a(e.file),1),l("span",st,[e.status==="applied"?(n(),o(p,{key:0},[b("changed, "+a(e.count)+" removed",1)],64)):(n(),o(p,{key:1},[b(a(e.message??e.status),1)],64))])],2))),128))]),j.value?(n(),o("div",lt,[l("button",{class:"btn",onClick:t[2]||(t[2]=e=>X(j.value))},"Undo this cleanup")])):h("",!0)])):h("",!0),v.value?(n(),o("section",at,[...t[9]||(t[9]=[l("p",{class:"muted"},"Scanning the project…",-1)])])):u.value?(n(),o("section",nt,[l("div",ot,[l("div",null,[l("h2",null,[u.value.files.length===0?(n(),o(p,{key:0},[b("Nothing to remove")],64)):(n(),o(p,{key:1},[b(a(u.value.total)+" "+a(E.value?.verb)+a(u.value.total===1?"":"s")+" in "+a(u.value.files.length)+" file"+a(u.value.files.length===1?"":"s"),1)],64))]),l("p",ut,a(u.value.filesScanned)+" files scanned · "+a((u.value.tookMs/1e3).toFixed(1))+" s ",1)])]),u.value.skipped.length?(n(),o("div",it,[l("strong",null,a(u.value.skipped.length)+" call"+a(u.value.skipped.length===1?"":"s")+" left alone",1),t[10]||(t[10]=b(", because removing them is not safe: ",-1)),l("ul",ct,[(n(!0),o(p,null,$(u.value.skipped,(e,i)=>(n(),o("li",{key:i},[l("code",null,a(e.file)+":"+a(e.line),1),b(" — "+a(R[e.reason]??e.reason),1)]))),128))])])):h("",!0),u.value.files.length?(n(),o(p,{key:1},[l("div",rt,[be(l("input",{"onUpdate:modelValue":t[3]||(t[3]=e=>M.value=e),class:"input search",placeholder:"Filter files","aria-label":"Filter files"},null,512),[[we,M.value]]),l("button",{class:"btn btn--small",onClick:de},"Select all"),l("button",{class:"btn btn--small",onClick:ve},"Select none"),t[11]||(t[11]=l("span",{class:"spacer"},null,-1)),l("button",{class:"btn btn--primary",disabled:F.value===0||c.value,onClick:_e},a(c.value?"Changing…":`Change ${F.value} file${F.value===1?"":"s"}`),9,dt)]),l("ul",vt,[(n(!0),o(p,null,$(ne.value,e=>(n(),o("li",{key:e.file,class:T(["file",{"file--done":S.value.has(e.file)}])},[l("div",ft,[l("input",{type:"checkbox",checked:d.value.has(e.file),disabled:S.value.has(e.file),"aria-label":`Change ${e.file}`,onChange:i=>ce(e.file)},null,40,ht),l("button",{class:"file__main","aria-expanded":m.value.has(e.file),onClick:i=>re(e.file)},[l("span",{class:T(["file__caret",{"file__caret--open":m.value.has(e.file)}])},"▸",2),l("code",_t,a(e.file),1),l("span",kt,a(e.count)+" "+a(E.value?.verb)+a(e.count===1?"":"s"),1),l("span",mt,"−"+a(H(e.diff).removed),1),H(e.diff).added?(n(),o("span",gt,"+"+a(H(e.diff).added),1)):h("",!0),S.value.has(e.file)?(n(),o("span",yt,"✓ changed")):h("",!0)],8,pt)]),m.value.has(e.file)&&e.diff?(n(),ee(Ue,{key:0,diff:e.diff,lang:ie(e.file)},null,8,["diff","lang"])):h("",!0)],2))),128))]),B.value<U.value.length?(n(),o("div",bt,[l("button",{class:"btn",onClick:t[4]||(t[4]=e=>B.value+=K)}," Show more ("+a(U.value.length-B.value)+" left) ",1),l("button",{class:"btn",onClick:t[5]||(t[5]=e=>B.value=U.value.length)},"Show all")])):h("",!0)],64)):h("",!0)])):h("",!0),A.value.length?(n(),o("section",wt,[t[12]||(t[12]=l("h2",null,"Recent cleanups",-1)),l("ul",xt,[(n(!0),o(p,null,$(A.value,e=>(n(),o("li",{key:e.dir,class:"history__row"},[l("span",null,[l("strong",null,a(C.value.find(i=>i.id===e.tool)?.title??e.tool),1),l("span",Ct," · "+a(e.files)+" file"+a(e.files===1?"":"s")+" · "+a(ke(e.createdAt)),1)]),l("button",{class:"btn btn--small",onClick:i=>X(e.dir)},"Undo",8,St)]))),128))])])):h("",!0),f.value?(n(),ee(Ce,{key:7,start:_.value||I.status?.cwd||"",mode:"folder",title:"Choose the project folder",onClose:t[6]||(t[6]=e=>f.value=!1),onConfirm:fe},null,8,["start"])):h("",!0)]))}}),Bt=ae($t,[["__scopeId","data-v-8279376c"]]);export{Bt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.diff[data-v-9a9e1464]{overflow:auto;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.6;max-height:460px}.hunk[data-v-9a9e1464]{min-width:max-content}.hunk__head[data-v-9a9e1464]{padding:2px 12px;background:var(--accent-soft);color:var(--accent);font-size:11px}.row[data-v-9a9e1464]{display:flex}.row--add[data-v-9a9e1464]{background:color-mix(in srgb,var(--ok) 16%,transparent)}.row--del[data-v-9a9e1464]{background:color-mix(in srgb,var(--danger) 16%,transparent)}.row__no[data-v-9a9e1464]{flex:none;width:4ch;padding:0 6px;color:var(--muted);text-align:right;user-select:none}.row__sign[data-v-9a9e1464]{flex:none;width:2ch;color:var(--muted);user-select:none}.row--add .row__sign[data-v-9a9e1464]{color:var(--ok)}.row--del .row__sign[data-v-9a9e1464]{color:var(--danger)}.row__text[data-v-9a9e1464]{white-space:pre;padding-right:16px}.tok[data-v-9a9e1464]{color:var(--light)}@media(prefers-color-scheme:dark){.tok[data-v-9a9e1464]{color:var(--dark)}}.page[data-v-8279376c]{display:flex;flex-direction:column;gap:16px;padding:28px 28px 60px}@media(max-width:760px){.page[data-v-8279376c]{padding:18px 14px 40px}}.page__head p[data-v-8279376c]{margin-top:4px}.project[data-v-8279376c]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px}.project code[data-v-8279376c]{padding:2px 8px;border-radius:6px;background:var(--surface-2);word-break:break-all}.block[data-v-8279376c]{display:flex;flex-direction:column;gap:12px;padding:18px}.head[data-v-8279376c]{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.small[data-v-8279376c]{font-size:12px}.link[data-v-8279376c]{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer}.link[data-v-8279376c]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.options[data-v-8279376c]{display:flex;flex-direction:column;gap:12px}.textarea[data-v-8279376c]{padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:12px}.textarea[data-v-8279376c]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toolbar[data-v-8279376c]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.search[data-v-8279376c]{width:260px}.spacer[data-v-8279376c]{flex:1}.actions[data-v-8279376c]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center}.skipped[data-v-8279376c]{margin:8px 0 0;padding-left:20px;font-size:12px}.files[data-v-8279376c]{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.file[data-v-8279376c]{display:flex;flex-direction:column;gap:8px;padding:4px 12px 8px;border:1px solid var(--border);border-radius:9px}.file--done[data-v-8279376c]{opacity:.6}.file__row[data-v-8279376c]{display:flex;align-items:center;gap:12px}.file__main[data-v-8279376c]{display:flex;flex:1;align-items:center;gap:8px;min-width:0;padding:8px 0;border:0;background:transparent;text-align:left;cursor:pointer}.file__main[data-v-8279376c]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.file__caret[data-v-8279376c]{flex:none;color:var(--muted);transition:transform .15s}.file__caret--open[data-v-8279376c]{transform:rotate(90deg)}.file__name[data-v-8279376c]{flex:1;min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file__count[data-v-8279376c]{flex:none;color:var(--muted);font-size:12px}.file__stat[data-v-8279376c]{flex:none;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:11px}.file__stat--del[data-v-8279376c]{color:var(--danger)}.file__stat--add[data-v-8279376c]{color:var(--ok)}.file__done[data-v-8279376c]{flex:none;color:var(--ok);font-size:12px}.results[data-v-8279376c]{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.result[data-v-8279376c]{display:flex;gap:12px;font-size:12px}.result--changed[data-v-8279376c],.result--error[data-v-8279376c],.result--refused[data-v-8279376c]{color:var(--danger)}.history[data-v-8279376c]{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.history__row[data-v-8279376c]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:9px}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as N,x as W,e as O,o as l,c as n,C as L,f as a,t as u,D as S,g as y,h as C,p as c,y as J,n as M,r as b,b as j,q as Q,E as T,i as U,F as V,a as I,j as A,z as X,v as Y,k as D,G as Z,l as ee,A as B,s as te,H as se}from"./index-pDKL0Y31.js";const oe=["aria-label"],ae={class:"dialog__head"},le={class:"dialog__title"},ne={class:"dialog__body"},ie={key:0,class:"dialog__foot"},de=N({__name:"UiModal",props:{title:{},width:{default:"820px"},fixedHeight:{type:Boolean,default:!1}},emits:["close"],setup(i,{emit:$}){const r=i,v=$,s=b();function h(d){d.key==="Escape"&&v("close")}return W(()=>{window.addEventListener("keydown",h),document.body.style.overflow="hidden",s.value?.focus()}),O(()=>{window.removeEventListener("keydown",h),document.body.style.overflow=""}),(d,m)=>(l(),n("div",{class:"overlay",onMousedown:m[1]||(m[1]=L(k=>v("close"),["self"]))},[a("div",{ref_key:"dialog",ref:s,class:M(["dialog",{"dialog--fixed":r.fixedHeight}]),style:J({"--dialog-width":r.width}),role:"dialog","aria-modal":"true","aria-label":r.title,tabindex:"-1"},[a("header",ae,[a("h2",le,u(r.title),1),S(d.$slots,"actions",{},void 0),a("button",{class:"btn btn--ghost btn--small","aria-label":"Close",onClick:m[0]||(m[0]=k=>v("close"))},[y(C,{name:"close"})])]),a("div",ne,[S(d.$slots,"default",{},void 0)]),d.$slots.footer?(l(),n("footer",ie,[S(d.$slots,"footer",{},void 0)])):c("",!0)],14,oe)],32))}}),re=j(de,[["__scopeId","data-v-e779e4b0"]]),ue={class:"bar"},ce=["disabled"],ve=["value"],me=["value"],fe={class:"check muted"},be={key:0,class:"notice notice--error notice-inset"},he=["aria-busy"],pe={key:0,class:"muted empty"},ke=["checked","aria-label","onChange"],ge=["onClick"],_e={key:0,class:"row__icon"},we=["src"],ye={class:"row__name"},Ce={key:2,class:"muted"},$e={key:1,class:"muted empty"},xe={class:"muted"},ze=["disabled"],Se=["disabled"],Ue=N({__name:"FolderBrowser",props:{start:{},mode:{default:"sources"},title:{default:""}},emits:["close","confirm"],setup(i,{emit:$}){const r=i,v=$,s=b(),h=b(r.start),d=b(!1),m=b(!1),k=b(""),p=b(new Set),x=b(),_=new Map,z=B(()=>s.value?.path.includes("\\")?"\\":"/"),H=B(()=>(s.value?.entries??[]).filter(o=>r.mode!=="folder"||o.kind==="dir")),E=B(()=>s.value?.entries.filter(o=>o.kind==="image").length??0);function g(o){const e=s.value?.path??"";return e.endsWith(z.value)?e+o:e+z.value+o}function G(o,e){const t=e.endsWith("\\")||e.endsWith("/")?e:e+z.value;return o!==e&&o.startsWith(t)}async function f(o){const e=s.value?.path;e!==void 0&&_.set(e,x.value?.scrollTop??0),m.value=!0,k.value="";try{const t=await te.get(`/api/fs/list?path=${encodeURIComponent(o)}&hidden=${d.value?1:0}`);s.value=t,h.value=t.path;for(const w of[..._.keys()])G(w,t.path)&&_.delete(w);await se(),x.value?.scrollTo({top:_.get(t.path)??0})}catch(t){k.value=t instanceof Error?t.message:String(t)}finally{m.value=!1}}function P(o){o.kind==="dir"&&f(g(o.name))}function F(o){const e=g(o.name),t=new Set(p.value);t.has(e)?t.delete(e):t.add(e),p.value=t}function R(o){o.kind==="dir"?P(o):r.mode==="image"?v("confirm",[g(o.name)]):F(o)}function q(){s.value&&v("confirm",[s.value.path])}function K(){v("confirm",[...p.value])}return W(()=>{f(r.start)}),(o,e)=>(l(),Q(re,{title:i.title||(i.mode==="folder"?"Choose a folder":i.mode==="image"?"Choose an image":"Add folders or images"),"fixed-height":"",onClose:e[8]||(e[8]=t=>v("close"))},{footer:T(()=>[a("span",xe,u(E.value)+" image"+u(E.value===1?"":"s")+" here",1),e[13]||(e[13]=a("span",{class:"spacer"},null,-1)),i.mode!=="image"?(l(),n("button",{key:0,class:M(["btn",{"btn--primary":i.mode==="folder"}]),disabled:!s.value,onClick:q},u(i.mode==="folder"?"Use this folder":"Add this folder"),11,ze)):c("",!0),i.mode==="sources"?(l(),n("button",{key:1,class:"btn btn--primary",disabled:p.value.size===0,onClick:K}," Add "+u(p.value.size)+" selected ",9,Se)):c("",!0)]),default:T(()=>[a("div",ue,[a("button",{class:"btn btn--small",disabled:!s.value?.parent,title:"Parent folder",onClick:e[0]||(e[0]=t=>s.value?.parent&&f(s.value.parent))},[y(C,{name:"up",size:15}),e[9]||(e[9]=U(" Up ",-1))],8,ce),a("button",{class:"btn btn--small",title:"Home folder",onClick:e[1]||(e[1]=t=>s.value&&f(s.value.home))},[y(C,{name:"home",size:15}),e[10]||(e[10]=U(" Home ",-1))]),a("button",{class:"btn btn--small",title:"Start folder",onClick:e[2]||(e[2]=t=>s.value&&f(s.value.cwd))}," Start folder "),(s.value?.roots.length??0)>1?(l(),n("select",{key:0,class:"select bar__roots",value:s.value?.root,"aria-label":"Drive",onChange:e[3]||(e[3]=t=>f(t.target.value))},[(l(!0),n(V,null,I(s.value?.roots,t=>(l(),n("option",{key:t,value:t},u(t),9,me))),128))],40,ve)):c("",!0),a("form",{class:"bar__path",onSubmit:e[5]||(e[5]=L(t=>f(h.value),["prevent"]))},[A(a("input",{"onUpdate:modelValue":e[4]||(e[4]=t=>h.value=t),class:"input",spellcheck:"false","aria-label":"Folder path"},null,512),[[X,h.value]]),e[11]||(e[11]=a("button",{class:"btn btn--small",type:"submit"},"Go",-1))],32),a("label",fe,[A(a("input",{"onUpdate:modelValue":e[6]||(e[6]=t=>d.value=t),type:"checkbox",onChange:e[7]||(e[7]=t=>s.value&&f(s.value.path))},null,544),[[Y,d.value]]),e[12]||(e[12]=U(" Hidden ",-1))])]),k.value?(l(),n("div",be,u(k.value),1)):c("",!0),a("div",{ref_key:"list",ref:x,class:"list","aria-busy":m.value},[s.value&&H.value.length===0?(l(),n("div",pe," This folder has no subfolders or images. ")):c("",!0),(l(!0),n(V,null,I(H.value,t=>(l(),n("div",{key:t.name,class:M(["row",{"row--picked":p.value.has(g(t.name))}])},[i.mode==="sources"?(l(),n("input",{key:0,type:"checkbox",checked:p.value.has(g(t.name)),"aria-label":`Select ${t.name}`,onChange:w=>F(t)},null,40,ke)):c("",!0),a("button",{class:"row__main",onClick:w=>R(t)},[t.kind==="dir"?(l(),n("span",_e,[y(C,{name:"folder"})])):(l(),n("img",{key:1,class:"row__thumb",loading:"lazy",alt:"",src:D(Z)(g(t.name),96)},null,8,we)),a("span",ye,u(t.name),1),t.size!==void 0?(l(),n("span",Ce,u(D(ee)(t.size)),1)):c("",!0)],8,ge)],2))),128)),s.value?.truncated?(l(),n("div",$e,"Only the first entries are shown.")):c("",!0)],8,he)]),_:1},8,["title"]))}}),Me=j(Ue,[["__scopeId","data-v-1908c9a0"]]);export{Me as F,re as U};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.overlay[data-v-e779e4b0]{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;background:var(--backdrop)}.dialog[data-v-e779e4b0]{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;width:min(var(--dialog-width),100%);max-height:100%;outline:none}.dialog--fixed[data-v-e779e4b0]{height:min(680px,100%)}.dialog__head[data-v-e779e4b0],.dialog__foot[data-v-e779e4b0]{display:flex;align-items:center;gap:10px;padding:12px 16px}.dialog__head[data-v-e779e4b0]{border-bottom:1px solid var(--border)}.dialog__title[data-v-e779e4b0]{flex:1;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog__body[data-v-e779e4b0]{flex:1;min-height:0;display:flex;flex-direction:column}.dialog__foot[data-v-e779e4b0]{border-top:1px solid var(--border)}.bar[data-v-1908c9a0]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px}.bar__path[data-v-1908c9a0]{display:flex;flex:1;gap:6px;min-width:200px}.bar__path .input[data-v-1908c9a0]{flex:1;height:28px;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:12px}.bar__roots[data-v-1908c9a0]{height:28px}.notice-inset[data-v-1908c9a0]{margin:0 16px 12px}.spacer[data-v-1908c9a0]{flex:1}.list[data-v-1908c9a0]{flex:1;min-height:0;padding:0 8px 8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.empty[data-v-1908c9a0]{padding:24px;text-align:center}.row[data-v-1908c9a0]{display:flex;align-items:center;gap:8px;padding:2px 8px;border-radius:9px}.row[data-v-1908c9a0]:hover{background:var(--surface-2)}.row--picked[data-v-1908c9a0]{background:var(--accent-soft)}.row__main[data-v-1908c9a0]{display:flex;flex:1;align-items:center;gap:10px;min-width:0;padding:4px 0;border:0;background:transparent;text-align:left;cursor:pointer}.row__icon[data-v-1908c9a0]{display:grid;place-items:center;width:40px;height:40px;color:var(--accent)}.row__thumb[data-v-1908c9a0]{width:40px;height:40px;border-radius:6px;background:var(--surface-2);object-fit:cover}.row__name[data-v-1908c9a0]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|