From 82ab71440519bf79d05cea1e99e9c878214a38eb Mon Sep 17 00:00:00 2001 From: douboer Date: Sat, 14 Feb 2026 16:39:10 +0800 Subject: [PATCH] update at 2026-02-14 16:39:10 --- .../assets/{download-DLZSn9-Q.js => download-CsugWKTX.js} | 2 +- .../dist/assets/{index-9cGmT6aX.css => index-BvZNih7U.css} | 2 +- .../dist/assets/{index-RDAzKva3.js => index-JIsg-Hgz.js} | 2 +- frontend/dist/index.html | 4 ++-- frontend/src/App.vue | 6 ++++++ 5 files changed, 11 insertions(+), 5 deletions(-) rename frontend/dist/assets/{download-DLZSn9-Q.js => download-CsugWKTX.js} (97%) rename frontend/dist/assets/{index-9cGmT6aX.css => index-BvZNih7U.css} (83%) rename frontend/dist/assets/{index-RDAzKva3.js => index-JIsg-Hgz.js} (99%) diff --git a/frontend/dist/assets/download-DLZSn9-Q.js b/frontend/dist/assets/download-CsugWKTX.js similarity index 97% rename from frontend/dist/assets/download-DLZSn9-Q.js rename to frontend/dist/assets/download-CsugWKTX.js index c018f51..030864f 100644 --- a/frontend/dist/assets/download-DLZSn9-Q.js +++ b/frontend/dist/assets/download-CsugWKTX.js @@ -1 +1 @@ -import{_ as v}from"./index-RDAzKva3.js";function p(t,e,n="text/plain"){const o=new Blob([t],{type:n});s(o,e)}function s(t,e){const n=URL.createObjectURL(t),o=document.createElement("a");o.href=n,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(n)}function P(t,e){p(t,e,"image/svg+xml")}async function F(t,e="font2svg-export.zip"){const n=(await v(async()=>{const{default:r}=await import("./jszip.min-D7KnG0-e.js").then(i=>i.j);return{default:r}},[])).default,o=new n;for(const r of t)o.file(r.name,r.content);const a=await o.generateAsync({type:"blob"});s(a,e)}function d(t){if(!t)return null;const e=t.match(/-?\d+(\.\d+)?/);if(!e)return null;const n=Number(e[0]);return Number.isFinite(n)?n:null}function x(t){const n=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,o=d(n.getAttribute("width")),a=d(n.getAttribute("height"));if(o&&a)return{width:o,height:a};const r=n.getAttribute("viewBox");if(r){const i=r.trim().split(/[\s,]+/).map(Number);if(i.length===4&&Number.isFinite(i[2])&&Number.isFinite(i[3]))return{width:Math.max(1,i[2]),height:Math.max(1,i[3])}}return{width:1024,height:1024}}async function _(t,e){const n=x(t),o=e?.scale??1,a=Math.max(1,Math.round((e?.width??n.width)*o)),r=Math.max(1,Math.round((e?.height??n.height)*o)),i=document.createElement("canvas");i.width=a,i.height=r;const l=i.getContext("2d");if(!l)throw new Error("无法创建 PNG 画布");e?.backgroundColor?(l.fillStyle=e.backgroundColor,l.fillRect(0,0,a,r)):l.clearRect(0,0,a,r);const f=new Blob([t],{type:"image/svg+xml;charset=utf-8"}),u=URL.createObjectURL(f);try{const c=new Image;await new Promise((w,b)=>{c.onload=()=>w(),c.onerror=()=>b(new Error("SVG 转 PNG 失败")),c.src=u}),l.drawImage(c,0,0,a,r)}finally{URL.revokeObjectURL(u)}const g=await new Promise(c=>{i.toBlob(c,"image/png")});if(!g)throw new Error("PNG 编码失败");return g}async function R(t,e,n){const o=await _(t,n);s(o,e)}function m(t){return t.replace(/[<>:"/\\|?*\x00-\x1F]/g,"_").replace(/\s+/g,"_").substring(0,200)}function h(t,e){const n=m(Array.from(t).slice(0,8).join(""));return`${m(e.substring(0,20))}_${n}`}function B(t,e){return`${h(t,e)}.svg`}function L(t,e){return`${h(t,e)}.png`}export{_ as convertSvgToPngBlob,s as downloadBlob,F as downloadMultipleFiles,R as downloadPngFromSvg,P as downloadSvg,p as downloadText,L as generatePngFilename,B as generateSvgFilename,m as sanitizeFilename}; +import{_ as v}from"./index-JIsg-Hgz.js";function p(t,e,n="text/plain"){const o=new Blob([t],{type:n});s(o,e)}function s(t,e){const n=URL.createObjectURL(t),o=document.createElement("a");o.href=n,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(n)}function P(t,e){p(t,e,"image/svg+xml")}async function F(t,e="font2svg-export.zip"){const n=(await v(async()=>{const{default:r}=await import("./jszip.min-D7KnG0-e.js").then(i=>i.j);return{default:r}},[])).default,o=new n;for(const r of t)o.file(r.name,r.content);const a=await o.generateAsync({type:"blob"});s(a,e)}function d(t){if(!t)return null;const e=t.match(/-?\d+(\.\d+)?/);if(!e)return null;const n=Number(e[0]);return Number.isFinite(n)?n:null}function x(t){const n=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,o=d(n.getAttribute("width")),a=d(n.getAttribute("height"));if(o&&a)return{width:o,height:a};const r=n.getAttribute("viewBox");if(r){const i=r.trim().split(/[\s,]+/).map(Number);if(i.length===4&&Number.isFinite(i[2])&&Number.isFinite(i[3]))return{width:Math.max(1,i[2]),height:Math.max(1,i[3])}}return{width:1024,height:1024}}async function _(t,e){const n=x(t),o=e?.scale??1,a=Math.max(1,Math.round((e?.width??n.width)*o)),r=Math.max(1,Math.round((e?.height??n.height)*o)),i=document.createElement("canvas");i.width=a,i.height=r;const l=i.getContext("2d");if(!l)throw new Error("无法创建 PNG 画布");e?.backgroundColor?(l.fillStyle=e.backgroundColor,l.fillRect(0,0,a,r)):l.clearRect(0,0,a,r);const f=new Blob([t],{type:"image/svg+xml;charset=utf-8"}),u=URL.createObjectURL(f);try{const c=new Image;await new Promise((w,b)=>{c.onload=()=>w(),c.onerror=()=>b(new Error("SVG 转 PNG 失败")),c.src=u}),l.drawImage(c,0,0,a,r)}finally{URL.revokeObjectURL(u)}const g=await new Promise(c=>{i.toBlob(c,"image/png")});if(!g)throw new Error("PNG 编码失败");return g}async function R(t,e,n){const o=await _(t,n);s(o,e)}function m(t){return t.replace(/[<>:"/\\|?*\x00-\x1F]/g,"_").replace(/\s+/g,"_").substring(0,200)}function h(t,e){const n=m(Array.from(t).slice(0,8).join(""));return`${m(e.substring(0,20))}_${n}`}function B(t,e){return`${h(t,e)}.svg`}function L(t,e){return`${h(t,e)}.png`}export{_ as convertSvgToPngBlob,s as downloadBlob,F as downloadMultipleFiles,R as downloadPngFromSvg,P as downloadSvg,p as downloadText,L as generatePngFilename,B as generateSvgFilename,m as sanitizeFilename}; diff --git a/frontend/dist/assets/index-9cGmT6aX.css b/frontend/dist/assets/index-BvZNih7U.css similarity index 83% rename from frontend/dist/assets/index-9cGmT6aX.css rename to frontend/dist/assets/index-BvZNih7U.css index 8c42091..cdd04ec 100644 --- a/frontend/dist/assets/index-9cGmT6aX.css +++ b/frontend/dist/assets/index-BvZNih7U.css @@ -1 +1 @@ -*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-top-4{top:-1rem}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.z-10{z-index:10}.z-50{z-index:50}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-\[17px\]{margin-left:17px}.ml-2{margin-left:.5rem}.mr-\[1px\]{margin-right:1px}.mt-3{margin-top:.75rem}.box-border{box-sizing:border-box}.block{display:block}.hidden{display:none}.h-\[15px\]{height:15px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[24px\]{height:24px}.h-\[30px\]{height:30px}.h-\[42px\]{height:42px}.h-\[9px\]{height:9px}.h-12{height:3rem}.h-24{height:6rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.h2{height:.5rem}.h3{height:.75rem}.max-w-\[225px\]{max-width:225px}.max-w-\[320px\]{max-width:320px}.min-h-\[120px\]{min-height:120px}.min-h-0{min-height:0}.min-w-\[120px\]{min-width:120px}.min-w-\[80px\]{min-width:80px}.min-w-0{min-width:0}.w-\[11px\]{width:11px}.w-\[15px\]{width:15px}.w-\[18px\]{width:18px}.w-\[24px\]{width:24px}.w-\[54px\]{width:54px}.w-12{width:3rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.w-screen{width:100vw}.flex{display:flex}.flex-\[2\]{flex:2}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\[8px\]{gap:8px}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-0>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(0px * var(--un-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(.5rem * var(--un-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-\[\#3EE4C3\]{--un-border-opacity:1;border-color:rgb(62 228 195 / var(--un-border-opacity))}.border-\[\#8552A1\]{--un-border-opacity:1;border-color:rgb(133 82 161 / var(--un-border-opacity))}.border-\[\#9b6bc2\]{--un-border-opacity:1;border-color:rgb(155 107 194 / var(--un-border-opacity))}.border-\[\#c9cdd4\]{--un-border-opacity:1;border-color:rgb(201 205 212 / var(--un-border-opacity))}.border-\[\#f7e0e0\]{--un-border-opacity:1;border-color:rgb(247 224 224 / var(--un-border-opacity))}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border-none{border-style:none}.border-solid{border-style:solid}.bg-\[\#9b6bc2\]{--un-bg-opacity:1;background-color:rgb(155 107 194 / var(--un-bg-opacity))}.bg-\[\#F3EDF7\]{--un-bg-opacity:1;background-color:rgb(243 237 247 / var(--un-bg-opacity))}.bg-\[\#f7f8fa\]{--un-bg-opacity:1;background-color:rgb(247 248 250 / var(--un-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-transparent{background-color:transparent}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.object-cover{object-fit:cover}.object-contain{object-fit:contain}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-\[8px\]{padding-left:8px;padding-right:8px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-\[8px\]{padding-top:8px;padding-bottom:8px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-\[8px\]{padding-bottom:8px}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pr-\[8px\]{padding-right:8px}.pr-\[9px\]{padding-right:9px}.pr-2{padding-right:.5rem}.pt-1{padding-top:.25rem}.text-center{text-align:center}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-\[\#4e5969\]{--un-text-opacity:1;color:rgb(78 89 105 / var(--un-text-opacity))}.text-\[\#8552A1\]{--un-text-opacity:1;color:rgb(133 82 161 / var(--un-text-opacity))}.text-\[\#86909c\]{--un-text-opacity:1;color:rgb(134 144 156 / var(--un-text-opacity))}.text-black{--un-text-opacity:1;color:rgb(0 0 0 / var(--un-text-opacity))}.text-gray-400{--un-text-opacity:1;color:rgb(156 163 175 / var(--un-text-opacity))}.text-gray-500{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity))}.text-gray-800{--un-text-opacity:1;color:rgb(31 41 55 / var(--un-text-opacity))}.hover\:text-gray-600:hover{--un-text-opacity:1;color:rgb(75 85 99 / var(--un-text-opacity))}.font-bold{font-weight:700}.font-medium{font-weight:500}.leading-\[30px\]{line-height:30px}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.opacity-0{opacity:0}.opacity-70,.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-85:hover{opacity:.85}.shadow-sm{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.placeholder-\[\#4e5969\]::placeholder{--un-placeholder-opacity:1;color:rgb(78 89 105 / var(--un-placeholder-opacity))}.placeholder-\[\#a2a0a9\]::placeholder{--un-placeholder-opacity:1;color:rgb(162 160 169 / var(--un-placeholder-opacity))}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{width:100%;height:100vh}.scrollbar-hover{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hover::-webkit-scrollbar{width:0;height:0}.scrollbar-hover[data-overflowing=true]:hover{scrollbar-width:thin;scrollbar-color:#c9cdd4 transparent}.scrollbar-hover[data-overflowing=true]:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-hover[data-overflowing=true]:hover::-webkit-scrollbar-thumb{background-color:#c9cdd4;border-radius:9999px}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.tree-icon-wrapper[data-v-1709e607]{position:relative;width:17px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tree-toggle[data-v-1709e607]{width:15px;height:15px;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.tree-vertical-line[data-v-1709e607]{position:absolute;left:8px;top:20px;bottom:12px;width:1px;background:#c9cdd4}.tree-horizontal-line[data-v-1709e607]{position:absolute;left:8px;top:12px;width:10px;height:1px;background:#c9cdd4}.favorite-active[data-v-1709e607]{filter:brightness(0) saturate(100%) invert(16%) sepia(96%) saturate(7491%) hue-rotate(356deg) brightness(99%) contrast(119%)}.favorite-indent[data-v-e8bbd3fa]{padding-left:2ch}.favorite-active[data-v-e8bbd3fa]{filter:brightness(0) saturate(100%) invert(16%) sepia(96%) saturate(7491%) hue-rotate(356deg) brightness(99%) contrast(119%)}.svg-preview-container[data-v-0268643c]{width:fit-content;max-width:100%}.svg-preview-container[data-v-0268643c] svg{display:block;width:auto;height:auto;max-width:100%;max-height:none}.font-size-range[data-v-5a621ad6]{-webkit-appearance:none;appearance:none;height:3px;border-radius:10px;background:#e5e6eb}.font-size-range[data-v-5a621ad6]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e6eb;cursor:pointer}.font-size-range[data-v-5a621ad6]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e6eb;cursor:pointer}.font-size-range[data-v-5a621ad6]::-moz-range-track{height:3px;border-radius:10px;background:transparent}@media(max-width:768px){.app-container[data-v-5a621ad6]{padding:4px;overflow:hidden}.header-row[data-v-5a621ad6]{height:48px;gap:4px;padding:0 4px;flex-wrap:nowrap}.logo-box[data-v-5a621ad6]{width:48px;height:48px;border-radius:12px}.app-title[data-v-5a621ad6]{display:none}.slider-box[data-v-5a621ad6]{width:132px!important;flex:1;min-width:100px;gap:4px;padding:0 4px;height:24px!important}.input-box-desktop[data-v-5a621ad6]{display:none}.input-row-mobile[data-v-5a621ad6]{display:flex!important;gap:6px;margin-bottom:4px;padding-top:0;padding-bottom:0}.export-group[data-v-5a621ad6]{gap:2px;padding:2px}.export-label[data-v-5a621ad6]{width:12px;height:28px}.export-btn[data-v-5a621ad6],.export-btn img[data-v-5a621ad6]{width:32px;height:32px}.weixin-btn[data-v-5a621ad6]{width:36px!important;height:28px!important}.main-content[data-v-5a621ad6]{flex-direction:column;gap:4px;padding:0 4px;overflow:hidden}.sidebar-left[data-v-5a621ad6]{display:none}.preview-box[data-v-5a621ad6]{flex:1;min-height:0;border-color:#3ee4c3}.preview-box h2[data-v-5a621ad6]{font-size:14px}.bottom-section-mobile[data-v-5a621ad6]{display:flex!important;flex-direction:row;gap:8px;flex:1;min-height:0}.font-selector-mobile[data-v-5a621ad6],.favorites-mobile[data-v-5a621ad6]{flex:1;min-width:0;min-height:0}.font-selector-mobile h2[data-v-5a621ad6],.favorites-mobile h2[data-v-5a621ad6]{font-size:14px;margin-bottom:4px}.font-selector-mobile[data-v-5a621ad6] .text-\[16px\],.font-selector-mobile[data-v-5a621ad6] .text-base{font-size:14px!important}.copyright-footer[data-v-5a621ad6]{font-size:10px;padding:4px 0;height:auto;flex-shrink:0}}@media(max-width:480px){.header-row[data-v-5a621ad6]{height:44px;gap:2px}.logo-box[data-v-5a621ad6]{width:44px;height:44px}.slider-box[data-v-5a621ad6]{width:100px!important;min-width:80px}.export-btn[data-v-5a621ad6],.export-btn img[data-v-5a621ad6]{width:28px;height:28px}.weixin-btn[data-v-5a621ad6]{width:32px!important;height:24px!important}.bottom-section-mobile[data-v-5a621ad6]{flex-direction:column}} +*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-top-4{top:-1rem}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.z-10{z-index:10}.z-50{z-index:50}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-\[17px\]{margin-left:17px}.ml-2{margin-left:.5rem}.mr-\[1px\]{margin-right:1px}.mt-3{margin-top:.75rem}.box-border{box-sizing:border-box}.block{display:block}.hidden{display:none}.h-\[15px\]{height:15px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[24px\]{height:24px}.h-\[30px\]{height:30px}.h-\[42px\]{height:42px}.h-\[9px\]{height:9px}.h-12{height:3rem}.h-24{height:6rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.h2{height:.5rem}.h3{height:.75rem}.max-w-\[225px\]{max-width:225px}.max-w-\[320px\]{max-width:320px}.min-h-\[120px\]{min-height:120px}.min-h-0{min-height:0}.min-w-\[120px\]{min-width:120px}.min-w-\[80px\]{min-width:80px}.min-w-0{min-width:0}.w-\[11px\]{width:11px}.w-\[15px\]{width:15px}.w-\[18px\]{width:18px}.w-\[24px\]{width:24px}.w-\[54px\]{width:54px}.w-12{width:3rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.w-screen{width:100vw}.flex{display:flex}.flex-\[2\]{flex:2}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\[8px\]{gap:8px}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-0>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(0px * var(--un-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(.5rem * var(--un-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-\[\#3EE4C3\]{--un-border-opacity:1;border-color:rgb(62 228 195 / var(--un-border-opacity))}.border-\[\#8552A1\]{--un-border-opacity:1;border-color:rgb(133 82 161 / var(--un-border-opacity))}.border-\[\#9b6bc2\]{--un-border-opacity:1;border-color:rgb(155 107 194 / var(--un-border-opacity))}.border-\[\#c9cdd4\]{--un-border-opacity:1;border-color:rgb(201 205 212 / var(--un-border-opacity))}.border-\[\#f7e0e0\]{--un-border-opacity:1;border-color:rgb(247 224 224 / var(--un-border-opacity))}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border-none{border-style:none}.border-solid{border-style:solid}.bg-\[\#9b6bc2\]{--un-bg-opacity:1;background-color:rgb(155 107 194 / var(--un-bg-opacity))}.bg-\[\#F3EDF7\]{--un-bg-opacity:1;background-color:rgb(243 237 247 / var(--un-bg-opacity))}.bg-\[\#f7f8fa\]{--un-bg-opacity:1;background-color:rgb(247 248 250 / var(--un-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-transparent{background-color:transparent}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.object-cover{object-fit:cover}.object-contain{object-fit:contain}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-\[8px\]{padding-left:8px;padding-right:8px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-\[8px\]{padding-top:8px;padding-bottom:8px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-\[8px\]{padding-bottom:8px}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pr-\[8px\]{padding-right:8px}.pr-\[9px\]{padding-right:9px}.pr-2{padding-right:.5rem}.pt-1{padding-top:.25rem}.text-center{text-align:center}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-\[\#4e5969\]{--un-text-opacity:1;color:rgb(78 89 105 / var(--un-text-opacity))}.text-\[\#8552A1\]{--un-text-opacity:1;color:rgb(133 82 161 / var(--un-text-opacity))}.text-\[\#86909c\]{--un-text-opacity:1;color:rgb(134 144 156 / var(--un-text-opacity))}.text-black{--un-text-opacity:1;color:rgb(0 0 0 / var(--un-text-opacity))}.text-gray-400{--un-text-opacity:1;color:rgb(156 163 175 / var(--un-text-opacity))}.text-gray-500{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity))}.text-gray-800{--un-text-opacity:1;color:rgb(31 41 55 / var(--un-text-opacity))}.hover\:text-gray-600:hover{--un-text-opacity:1;color:rgb(75 85 99 / var(--un-text-opacity))}.font-bold{font-weight:700}.font-medium{font-weight:500}.leading-\[30px\]{line-height:30px}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.opacity-0{opacity:0}.opacity-70,.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-85:hover{opacity:.85}.shadow-sm{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.placeholder-\[\#4e5969\]::placeholder{--un-placeholder-opacity:1;color:rgb(78 89 105 / var(--un-placeholder-opacity))}.placeholder-\[\#a2a0a9\]::placeholder{--un-placeholder-opacity:1;color:rgb(162 160 169 / var(--un-placeholder-opacity))}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{width:100%;height:100vh}.scrollbar-hover{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hover::-webkit-scrollbar{width:0;height:0}.scrollbar-hover[data-overflowing=true]:hover{scrollbar-width:thin;scrollbar-color:#c9cdd4 transparent}.scrollbar-hover[data-overflowing=true]:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-hover[data-overflowing=true]:hover::-webkit-scrollbar-thumb{background-color:#c9cdd4;border-radius:9999px}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.tree-icon-wrapper[data-v-1709e607]{position:relative;width:17px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tree-toggle[data-v-1709e607]{width:15px;height:15px;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.tree-vertical-line[data-v-1709e607]{position:absolute;left:8px;top:20px;bottom:12px;width:1px;background:#c9cdd4}.tree-horizontal-line[data-v-1709e607]{position:absolute;left:8px;top:12px;width:10px;height:1px;background:#c9cdd4}.favorite-active[data-v-1709e607]{filter:brightness(0) saturate(100%) invert(16%) sepia(96%) saturate(7491%) hue-rotate(356deg) brightness(99%) contrast(119%)}.favorite-indent[data-v-e8bbd3fa]{padding-left:2ch}.favorite-active[data-v-e8bbd3fa]{filter:brightness(0) saturate(100%) invert(16%) sepia(96%) saturate(7491%) hue-rotate(356deg) brightness(99%) contrast(119%)}.svg-preview-container[data-v-0268643c]{width:fit-content;max-width:100%}.svg-preview-container[data-v-0268643c] svg{display:block;width:auto;height:auto;max-width:100%;max-height:none}.font-size-range[data-v-5f1e44f1]{-webkit-appearance:none;appearance:none;height:3px;border-radius:10px;background:#e5e6eb}.font-size-range[data-v-5f1e44f1]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e6eb;cursor:pointer}.font-size-range[data-v-5f1e44f1]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e6eb;cursor:pointer}.font-size-range[data-v-5f1e44f1]::-moz-range-track{height:3px;border-radius:10px;background:transparent}.copyright-footer[data-v-5f1e44f1]{height:24px;padding-top:16px}@media(max-width:768px){.app-container[data-v-5f1e44f1]{padding:4px;overflow:hidden}.header-row[data-v-5f1e44f1]{height:48px;gap:4px;padding:0 4px;flex-wrap:nowrap}.logo-box[data-v-5f1e44f1]{width:48px;height:48px;border-radius:12px}.app-title[data-v-5f1e44f1]{display:none}.slider-box[data-v-5f1e44f1]{width:132px!important;flex:1;min-width:100px;gap:4px;padding:0 4px;height:24px!important}.input-box-desktop[data-v-5f1e44f1]{display:none}.input-row-mobile[data-v-5f1e44f1]{display:flex!important;gap:6px;margin-bottom:4px;padding-top:0;padding-bottom:0}.export-group[data-v-5f1e44f1]{gap:2px;padding:2px}.export-label[data-v-5f1e44f1]{width:12px;height:28px}.export-btn[data-v-5f1e44f1],.export-btn img[data-v-5f1e44f1]{width:32px;height:32px}.weixin-btn[data-v-5f1e44f1]{width:36px!important;height:28px!important}.main-content[data-v-5f1e44f1]{flex-direction:column;gap:4px;padding:0 4px;overflow:hidden}.sidebar-left[data-v-5f1e44f1]{display:none}.preview-box[data-v-5f1e44f1]{flex:1;min-height:0;border-color:#3ee4c3}.preview-box h2[data-v-5f1e44f1]{font-size:14px}.bottom-section-mobile[data-v-5f1e44f1]{display:flex!important;flex-direction:row;gap:8px;flex:1;min-height:0}.font-selector-mobile[data-v-5f1e44f1],.favorites-mobile[data-v-5f1e44f1]{flex:1;min-width:0;min-height:0}.font-selector-mobile h2[data-v-5f1e44f1],.favorites-mobile h2[data-v-5f1e44f1]{font-size:14px;margin-bottom:4px}.font-selector-mobile[data-v-5f1e44f1] .text-\[16px\],.font-selector-mobile[data-v-5f1e44f1] .text-base{font-size:14px!important}.copyright-footer[data-v-5f1e44f1]{font-size:10px;padding:4px 0;height:auto;flex-shrink:0}}@media(max-width:480px){.header-row[data-v-5f1e44f1]{height:44px;gap:2px}.logo-box[data-v-5f1e44f1]{width:44px;height:44px}.slider-box[data-v-5f1e44f1]{width:100px!important;min-width:80px}.export-btn[data-v-5f1e44f1],.export-btn img[data-v-5f1e44f1]{width:28px;height:28px}.weixin-btn[data-v-5f1e44f1]{width:32px!important;height:24px!important}.bottom-section-mobile[data-v-5f1e44f1]{flex-direction:column}} diff --git a/frontend/dist/assets/index-RDAzKva3.js b/frontend/dist/assets/index-JIsg-Hgz.js similarity index 99% rename from frontend/dist/assets/index-RDAzKva3.js rename to frontend/dist/assets/index-JIsg-Hgz.js index 3225829..9cfd2fe 100644 --- a/frontend/dist/assets/index-RDAzKva3.js +++ b/frontend/dist/assets/index-JIsg-Hgz.js @@ -1,4 +1,4 @@ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerPolicy&&(a.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?a.credentials="include":s.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(s){if(s.ep)return;s.ep=!0;const a=r(s);fetch(s.href,a)}})();function zs(e){const t=Object.create(null);for(const r of e.split(","))t[r]=1;return r=>r in t}const xe={},cr=[],dt=()=>{},Xo=()=>!1,Rn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vs=e=>e.startsWith("onUpdate:"),Re=Object.assign,Ws=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},i0=Object.prototype.hasOwnProperty,de=(e,t)=>i0.call(e,t),ee=Array.isArray,fr=e=>In(e)==="[object Map]",Ko=e=>In(e)==="[object Set]",re=e=>typeof e=="function",Oe=e=>typeof e=="string",Zt=e=>typeof e=="symbol",Se=e=>e!==null&&typeof e=="object",Yo=e=>(Se(e)||re(e))&&re(e.then)&&re(e.catch),Jo=Object.prototype.toString,In=e=>Jo.call(e),l0=e=>In(e).slice(8,-1),Qo=e=>In(e)==="[object Object]",An=e=>Oe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ur=zs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Mn=e=>{const t=Object.create(null);return(r=>t[r]||(t[r]=e(r)))},u0=/-\w/g,gt=Mn(e=>e.replace(u0,t=>t.slice(1).toUpperCase())),c0=/\B([A-Z])/g,nr=Mn(e=>e.replace(c0,"-$1").toLowerCase()),Zs=Mn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Kn=Mn(e=>e?`on${Zs(e)}`:""),Ht=(e,t)=>!Object.is(e,t),pn=(e,...t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:r})},$s=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Sa;const Pn=()=>Sa||(Sa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Nr(e){if(ee(e)){const t={};for(let r=0;r{if(r){const n=r.split(h0);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ht(e){let t="";if(Oe(e))t=e;else if(ee(e))for(let r=0;r!!(e&&e.__v_isRef===!0),Ke=e=>Oe(e)?e:e==null?"":ee(e)||Se(e)&&(e.toString===Jo||!re(e.toString))?ri(e)?Ke(e.value):JSON.stringify(e,ni,2):String(e),ni=(e,t)=>ri(t)?ni(e,t.value):fr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[n,s],a)=>(r[Yn(n,a)+" =>"]=s,r),{})}:Ko(t)?{[`Set(${t.size})`]:[...t.values()].map(r=>Yn(r))}:Zt(t)?Yn(t):Se(t)&&!ee(t)&&!Qo(t)?String(t):t,Yn=(e,t="")=>{var r;return Zt(e)?`Symbol(${(r=e.description)!=null?r:t})`:e};let Ie;class si{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ie,!t&&Ie&&(this.index=(Ie.scopes||(Ie.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,r;if(this.scopes)for(t=0,r=this.scopes.length;t0&&--this._on===0&&(Ie=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let r,n;for(r=0,n=this.effects.length;r0)return;if(Lr){let t=Lr;for(Lr=void 0;t;){const r=t.next;t.next=void 0,t.flags&=-9,t=r}}let e;for(;_r;){let t=_r;for(_r=void 0;t;){const r=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=r}}if(e)throw e}function ci(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function fi(e){let t,r=e.depsTail,n=r;for(;n;){const s=n.prevDep;n.version===-1?(n===r&&(r=s),Xs(n),x0(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=s}e.deps=t,e.depsTail=r}function ys(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(hi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function hi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Gr)||(e.globalVersion=Gr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ys(e))))return;e.flags|=2;const t=e.dep,r=be,n=Ye;be=e,Ye=!0;try{ci(e);const s=e.fn(e._value);(t.version===0||Ht(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{be=r,Ye=n,fi(e),e.flags&=-3}}function Xs(e,t=!1){const{dep:r,prevSub:n,nextSub:s}=e;if(n&&(n.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=n,e.nextSub=void 0),r.subs===e&&(r.subs=n,!n&&r.computed)){r.computed.flags&=-5;for(let a=r.computed.deps;a;a=a.nextDep)Xs(a,!0)}!t&&!--r.sc&&r.map&&r.map.delete(r.key)}function x0(e){const{prevDep:t,nextDep:r}=e;t&&(t.nextDep=r,e.prevDep=void 0),r&&(r.prevDep=t,e.nextDep=void 0)}let Ye=!0;const pi=[];function Ct(){pi.push(Ye),Ye=!1}function kt(){const e=pi.pop();Ye=e===void 0?!0:e}function wa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const r=be;be=void 0;try{t()}finally{be=r}}}let Gr=0;class y0{constructor(t,r){this.sub=t,this.dep=r,this.version=r.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ks{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!be||!Ye||be===this.computed)return;let r=this.activeLink;if(r===void 0||r.sub!==be)r=this.activeLink=new y0(be,this),be.deps?(r.prevDep=be.depsTail,be.depsTail.nextDep=r,be.depsTail=r):be.deps=be.depsTail=r,di(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){const n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=be.depsTail,r.nextDep=void 0,be.depsTail.nextDep=r,be.depsTail=r,be.deps===r&&(be.deps=n)}return r}trigger(t){this.version++,Gr++,this.notify(t)}notify(t){js();try{for(let r=this.subs;r;r=r.prevSub)r.sub.notify()&&r.sub.dep.notify()}finally{qs()}}}function di(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)di(n)}const r=e.dep.subs;r!==e&&(e.prevSub=r,r&&(r.nextSub=e)),e.dep.subs=e}}const xn=new WeakMap,Qt=Symbol(""),bs=Symbol(""),Hr=Symbol("");function Ae(e,t,r){if(Ye&&be){let n=xn.get(e);n||xn.set(e,n=new Map);let s=n.get(r);s||(n.set(r,s=new Ks),s.map=n,s.key=r),s.track()}}function bt(e,t,r,n,s,a){const o=xn.get(e);if(!o){Gr++;return}const i=l=>{l&&l.trigger()};if(js(),t==="clear")o.forEach(i);else{const l=ee(e),c=l&&An(r);if(l&&r==="length"){const u=Number(n);o.forEach((h,f)=>{(f==="length"||f===Hr||!Zt(f)&&f>=u)&&i(h)})}else switch((r!==void 0||o.has(void 0))&&i(o.get(r)),c&&i(o.get(Hr)),t){case"add":l?c&&i(o.get("length")):(i(o.get(Qt)),fr(e)&&i(o.get(bs)));break;case"delete":l||(i(o.get(Qt)),fr(e)&&i(o.get(bs)));break;case"set":fr(e)&&i(o.get(Qt));break}}qs()}function b0(e,t){const r=xn.get(e);return r&&r.get(t)}function sr(e){const t=fe(e);return t===e?t:(Ae(t,"iterate",Hr),Ze(e)?t:t.map(Je))}function Dn(e){return Ae(e=fe(e),"iterate",Hr),e}function Mt(e,t){return Et(e)?dr(Tt(e)?Je(t):t):Je(t)}const S0={__proto__:null,[Symbol.iterator](){return Qn(this,Symbol.iterator,e=>Mt(this,e))},concat(...e){return sr(this).concat(...e.map(t=>ee(t)?sr(t):t))},entries(){return Qn(this,"entries",e=>(e[1]=Mt(this,e[1]),e))},every(e,t){return xt(this,"every",e,t,void 0,arguments)},filter(e,t){return xt(this,"filter",e,t,r=>r.map(n=>Mt(this,n)),arguments)},find(e,t){return xt(this,"find",e,t,r=>Mt(this,r),arguments)},findIndex(e,t){return xt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return xt(this,"findLast",e,t,r=>Mt(this,r),arguments)},findLastIndex(e,t){return xt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return xt(this,"forEach",e,t,void 0,arguments)},includes(...e){return es(this,"includes",e)},indexOf(...e){return es(this,"indexOf",e)},join(e){return sr(this).join(e)},lastIndexOf(...e){return es(this,"lastIndexOf",e)},map(e,t){return xt(this,"map",e,t,void 0,arguments)},pop(){return Fr(this,"pop")},push(...e){return Fr(this,"push",e)},reduce(e,...t){return Ta(this,"reduce",e,t)},reduceRight(e,...t){return Ta(this,"reduceRight",e,t)},shift(){return Fr(this,"shift")},some(e,t){return xt(this,"some",e,t,void 0,arguments)},splice(...e){return Fr(this,"splice",e)},toReversed(){return sr(this).toReversed()},toSorted(e){return sr(this).toSorted(e)},toSpliced(...e){return sr(this).toSpliced(...e)},unshift(...e){return Fr(this,"unshift",e)},values(){return Qn(this,"values",e=>Mt(this,e))}};function Qn(e,t,r){const n=Dn(e),s=n[t]();return n!==e&&!Ze(e)&&(s._next=s.next,s.next=()=>{const a=s._next();return a.done||(a.value=r(a.value)),a}),s}const w0=Array.prototype;function xt(e,t,r,n,s,a){const o=Dn(e),i=o!==e&&!Ze(e),l=o[t];if(l!==w0[t]){const h=l.apply(e,a);return i?Je(h):h}let c=r;o!==e&&(i?c=function(h,f){return r.call(this,Mt(e,h),f,e)}:r.length>2&&(c=function(h,f){return r.call(this,h,f,e)}));const u=l.call(o,c,n);return i&&s?s(u):u}function Ta(e,t,r,n){const s=Dn(e);let a=r;return s!==e&&(Ze(e)?r.length>3&&(a=function(o,i,l){return r.call(this,o,i,l,e)}):a=function(o,i,l){return r.call(this,o,Mt(e,i),l,e)}),s[t](a,...n)}function es(e,t,r){const n=fe(e);Ae(n,"iterate",Hr);const s=n[t](...r);return(s===-1||s===!1)&&Nn(r[0])?(r[0]=fe(r[0]),n[t](...r)):s}function Fr(e,t,r=[]){Ct(),js();const n=fe(e)[t].apply(e,r);return qs(),kt(),n}const T0=zs("__proto__,__v_isRef,__isVue"),vi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Zt));function F0(e){Zt(e)||(e=String(e));const t=fe(this);return Ae(t,"has",e),t.hasOwnProperty(e)}class gi{constructor(t=!1,r=!1){this._isReadonly=t,this._isShallow=r}get(t,r,n){if(r==="__v_skip")return t.__v_skip;const s=this._isReadonly,a=this._isShallow;if(r==="__v_isReactive")return!s;if(r==="__v_isReadonly")return s;if(r==="__v_isShallow")return a;if(r==="__v_raw")return n===(s?a?A0:bi:a?yi:xi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=ee(t);if(!s){let l;if(o&&(l=S0[r]))return l;if(r==="hasOwnProperty")return F0}const i=Reflect.get(t,r,Ce(t)?t:n);if((Zt(r)?vi.has(r):T0(r))||(s||Ae(t,"get",r),a))return i;if(Ce(i)){const l=o&&An(r)?i:i.value;return s&&Se(l)?ws(l):l}return Se(i)?s?ws(i):Bn(i):i}}class mi extends gi{constructor(t=!1){super(!1,t)}set(t,r,n,s){let a=t[r];const o=ee(t)&&An(r);if(!this._isShallow){const c=Et(a);if(!Ze(n)&&!Et(n)&&(a=fe(a),n=fe(n)),!o&&Ce(a)&&!Ce(n))return c||(a.value=n),!0}const i=o?Number(r)e,sn=e=>Reflect.getPrototypeOf(e);function U0(e,t,r){return function(...n){const s=this.__v_raw,a=fe(s),o=fr(a),i=e==="entries"||e===Symbol.iterator&&o,l=e==="keys"&&o,c=s[e](...n),u=r?Ss:t?dr:Je;return!t&&Ae(a,"iterate",l?bs:Qt),Re(Object.create(c),{next(){const{value:h,done:f}=c.next();return f?{value:h,done:f}:{value:i?[u(h[0]),u(h[1])]:u(h),done:f}}})}}function an(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function _0(e,t){const r={get(s){const a=this.__v_raw,o=fe(a),i=fe(s);e||(Ht(s,i)&&Ae(o,"get",s),Ae(o,"get",i));const{has:l}=sn(o),c=t?Ss:e?dr:Je;if(l.call(o,s))return c(a.get(s));if(l.call(o,i))return c(a.get(i));a!==o&&a.get(s)},get size(){const s=this.__v_raw;return!e&&Ae(fe(s),"iterate",Qt),s.size},has(s){const a=this.__v_raw,o=fe(a),i=fe(s);return e||(Ht(s,i)&&Ae(o,"has",s),Ae(o,"has",i)),s===i?a.has(s):a.has(s)||a.has(i)},forEach(s,a){const o=this,i=o.__v_raw,l=fe(i),c=t?Ss:e?dr:Je;return!e&&Ae(l,"iterate",Qt),i.forEach((u,h)=>s.call(a,c(u),c(h),o))}};return Re(r,e?{add:an("add"),set:an("set"),delete:an("delete"),clear:an("clear")}:{add(s){!t&&!Ze(s)&&!Et(s)&&(s=fe(s));const a=fe(this);return sn(a).has.call(a,s)||(a.add(s),bt(a,"add",s,s)),this},set(s,a){!t&&!Ze(a)&&!Et(a)&&(a=fe(a));const o=fe(this),{has:i,get:l}=sn(o);let c=i.call(o,s);c||(s=fe(s),c=i.call(o,s));const u=l.call(o,s);return o.set(s,a),c?Ht(a,u)&&bt(o,"set",s,a):bt(o,"add",s,a),this},delete(s){const a=fe(this),{has:o,get:i}=sn(a);let l=o.call(a,s);l||(s=fe(s),l=o.call(a,s)),i&&i.call(a,s);const c=a.delete(s);return l&&bt(a,"delete",s,void 0),c},clear(){const s=fe(this),a=s.size!==0,o=s.clear();return a&&bt(s,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(s=>{r[s]=U0(s,e,t)}),r}function Ys(e,t){const r=_0(e,t);return(n,s,a)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(de(r,s)&&s in n?r:n,s,a)}const L0={get:Ys(!1,!1)},R0={get:Ys(!1,!0)},I0={get:Ys(!0,!1)};const xi=new WeakMap,yi=new WeakMap,bi=new WeakMap,A0=new WeakMap;function M0(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function P0(e){return e.__v_skip||!Object.isExtensible(e)?0:M0(l0(e))}function Bn(e){return Et(e)?e:Js(e,!1,k0,L0,xi)}function D0(e){return Js(e,!1,O0,R0,yi)}function ws(e){return Js(e,!0,E0,I0,bi)}function Js(e,t,r,n,s){if(!Se(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const a=P0(e);if(a===0)return e;const o=s.get(e);if(o)return o;const i=new Proxy(e,a===2?n:r);return s.set(e,i),i}function Tt(e){return Et(e)?Tt(e.__v_raw):!!(e&&e.__v_isReactive)}function Et(e){return!!(e&&e.__v_isReadonly)}function Ze(e){return!!(e&&e.__v_isShallow)}function Nn(e){return e?!!e.__v_raw:!1}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function Qs(e){return!de(e,"__v_skip")&&Object.isExtensible(e)&&ei(e,"__v_skip",!0),e}const Je=e=>Se(e)?Bn(e):e,dr=e=>Se(e)?ws(e):e;function Ce(e){return e?e.__v_isRef===!0:!1}function ge(e){return B0(e,!1)}function B0(e,t){return Ce(e)?e:new N0(e,t)}class N0{constructor(t,r){this.dep=new Ks,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?t:fe(t),this._value=r?t:Je(t),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(t){const r=this._rawValue,n=this.__v_isShallow||Ze(t)||Et(t);t=n?t:fe(t),Ht(t,r)&&(this._rawValue=t,this._value=n?t:Je(t),this.dep.trigger())}}function Le(e){return Ce(e)?e.value:e}const G0={get:(e,t,r)=>t==="__v_raw"?e:Le(Reflect.get(e,t,r)),set:(e,t,r,n)=>{const s=e[t];return Ce(s)&&!Ce(r)?(s.value=r,!0):Reflect.set(e,t,r,n)}};function Si(e){return Tt(e)?e:new Proxy(e,G0)}function H0(e){const t=ee(e)?new Array(e.length):{};for(const r in e)t[r]=V0(e,r);return t}class z0{constructor(t,r,n){this._object=t,this._key=r,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._raw=fe(t);let s=!0,a=t;if(!ee(t)||!An(String(r)))do s=!Nn(a)||Ze(a);while(s&&(a=a.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=Le(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ce(this._raw[this._key])){const r=this._object[this._key];if(Ce(r)){r.value=t;return}}this._object[this._key]=t}get dep(){return b0(this._raw,this._key)}}function V0(e,t,r){return new z0(e,t,r)}class W0{constructor(t,r,n){this.fn=t,this.setter=r,this._value=void 0,this.dep=new Ks(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Gr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return ui(this,!0),!0}get value(){const t=this.dep.track();return hi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Z0(e,t,r=!1){let n,s;return re(e)?n=e:(n=e.get,s=e.set),new W0(n,s,r)}const on={},yn=new WeakMap;let Kt;function $0(e,t=!1,r=Kt){if(r){let n=yn.get(r);n||yn.set(r,n=[]),n.push(e)}}function j0(e,t,r=xe){const{immediate:n,deep:s,once:a,scheduler:o,augmentJob:i,call:l}=r,c=E=>s?E:Ze(E)||s===!1||s===0?St(E,1):St(E);let u,h,f,p,x=!1,O=!1;if(Ce(e)?(h=()=>e.value,x=Ze(e)):Tt(e)?(h=()=>c(e),x=!0):ee(e)?(O=!0,x=e.some(E=>Tt(E)||Ze(E)),h=()=>e.map(E=>{if(Ce(E))return E.value;if(Tt(E))return c(E);if(re(E))return l?l(E,2):E()})):re(e)?t?h=l?()=>l(e,2):e:h=()=>{if(f){Ct();try{f()}finally{kt()}}const E=Kt;Kt=u;try{return l?l(e,3,[p]):e(p)}finally{Kt=E}}:h=dt,t&&s){const E=h,_=s===!0?1/0:s;h=()=>St(E(),_)}const w=oi(),g=()=>{u.stop(),w&&w.active&&Ws(w.effects,u)};if(a&&t){const E=t;t=(..._)=>{E(..._),g()}}let y=O?new Array(e.length).fill(on):on;const S=E=>{if(!(!(u.flags&1)||!u.dirty&&!E))if(t){const _=u.run();if(s||x||(O?_.some((K,H)=>Ht(K,y[H])):Ht(_,y))){f&&f();const K=Kt;Kt=u;try{const H=[_,y===on?void 0:O&&y[0]===on?[]:y,p];y=_,l?l(t,3,H):t(...H)}finally{Kt=K}}}else u.run()};return i&&i(S),u=new ii(h),u.scheduler=o?()=>o(S,!1):S,p=E=>$0(E,!1,u),f=u.onStop=()=>{const E=yn.get(u);if(E){if(l)l(E,4);else for(const _ of E)_();yn.delete(u)}},t?n?S(!0):y=u.run():o?o(S.bind(null,!0),!0):u.run(),g.pause=u.pause.bind(u),g.resume=u.resume.bind(u),g.stop=g,g}function St(e,t=1/0,r){if(t<=0||!Se(e)||e.__v_skip||(r=r||new Map,(r.get(e)||0)>=t))return e;if(r.set(e,t),t--,Ce(e))St(e.value,t,r);else if(ee(e))for(let n=0;n{St(n,t,r)});else if(Qo(e)){for(const n in e)St(e[n],t,r);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&St(e[n],t,r)}return e}function Xr(e,t,r,n){try{return n?e(...n):e()}catch(s){Gn(s,t,r)}}function mt(e,t,r,n){if(re(e)){const s=Xr(e,t,r,n);return s&&Yo(s)&&s.catch(a=>{Gn(a,t,r)}),s}if(ee(e)){const s=[];for(let a=0;a>>1,s=De[n],a=zr(s);a=zr(r)?De.push(e):De.splice(X0(t),0,e),e.flags|=1,Ti()}}function Ti(){bn||(bn=wi.then(Ci))}function K0(e){ee(e)?hr.push(...e):Pt&&e.id===-1?Pt.splice(ir+1,0,e):e.flags&1||(hr.push(e),e.flags|=1),Ti()}function Fa(e,t,r=ut+1){for(;rzr(r)-zr(n));if(hr.length=0,Pt){Pt.push(...t);return}for(Pt=t,ir=0;ire.id==null?e.flags&2?-1:1/0:e.id;function Ci(e){try{for(ut=0;ut{n._d&&Ma(-1);const a=Sn(t);let o;try{o=e(...s)}finally{Sn(a),n._d&&Ma(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function lr(e,t){if(Ve===null)return e;const r=Wn(Ve),n=e.dirs||(e.dirs=[]);for(let s=0;s1)return r&&re(t)?t.call(n&&n.proxy):t}}function Q0(){return!!(tl()||er)}const eu=Symbol.for("v-scx"),tu=()=>Rr(eu);function Bt(e,t,r){return Ei(e,t,r)}function Ei(e,t,r=xe){const{immediate:n,deep:s,flush:a,once:o}=r,i=Re({},r),l=t&&n||!t&&a!=="post";let c;if(Wr){if(a==="sync"){const p=tu();c=p.__watcherHandles||(p.__watcherHandles=[])}else if(!l){const p=()=>{};return p.stop=dt,p.resume=dt,p.pause=dt,p}}const u=Me;i.call=(p,x,O)=>mt(p,u,x,O);let h=!1;a==="post"?i.scheduler=p=>{ze(p,u&&u.suspense)}:a!=="sync"&&(h=!0,i.scheduler=(p,x)=>{x?p():ta(p)}),i.augmentJob=p=>{t&&(p.flags|=4),h&&(p.flags|=2,u&&(p.id=u.uid,p.i=u))};const f=j0(e,t,i);return Wr&&(c?c.push(f):l&&f()),f}function ru(e,t,r){const n=this.proxy,s=Oe(e)?e.includes(".")?Oi(n,e):()=>n[e]:e.bind(n,n);let a;re(t)?a=t:(a=t.handler,r=t);const o=Yr(this),i=Ei(s,a.bind(n),r);return o(),i}function Oi(e,t){const r=t.split(".");return()=>{let n=e;for(let s=0;se.__isTeleport,au=Symbol("_leaveCb");function ra(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ra(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Kr(e,t){return re(e)?Re({name:e.name},t,{setup:e}):e}function Ui(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const wn=new WeakMap;function Ir(e,t,r,n,s=!1){if(ee(e)){e.forEach((x,O)=>Ir(x,t&&(ee(t)?t[O]:t),r,n,s));return}if(Ar(n)&&!s){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ir(e,t,r,n.component.subTree);return}const a=n.shapeFlag&4?Wn(n.component):n.el,o=s?null:a,{i,r:l}=e,c=t&&t.r,u=i.refs===xe?i.refs={}:i.refs,h=i.setupState,f=fe(h),p=h===xe?Xo:x=>de(f,x);if(c!=null&&c!==l){if(Ca(t),Oe(c))u[c]=null,p(c)&&(h[c]=null);else if(Ce(c)){c.value=null;const x=t;x.k&&(u[x.k]=null)}}if(re(l))Xr(l,i,12,[o,u]);else{const x=Oe(l),O=Ce(l);if(x||O){const w=()=>{if(e.f){const g=x?p(l)?h[l]:u[l]:l.value;if(s)ee(g)&&Ws(g,a);else if(ee(g))g.includes(a)||g.push(a);else if(x)u[l]=[a],p(l)&&(h[l]=u[l]);else{const y=[a];l.value=y,e.k&&(u[e.k]=y)}}else x?(u[l]=o,p(l)&&(h[l]=o)):O&&(l.value=o,e.k&&(u[e.k]=o))};if(o){const g=()=>{w(),wn.delete(e)};g.id=-1,wn.set(e,g),ze(g,r)}else Ca(e),w()}}}function Ca(e){const t=wn.get(e);t&&(t.flags|=8,wn.delete(e))}Pn().requestIdleCallback;Pn().cancelIdleCallback;const Ar=e=>!!e.type.__asyncLoader,_i=e=>e.type.__isKeepAlive;function ou(e,t){Li(e,"a",t)}function iu(e,t){Li(e,"da",t)}function Li(e,t,r=Me){const n=e.__wdc||(e.__wdc=()=>{let s=r;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Hn(t,n,r),r){let s=r.parent;for(;s&&s.parent;)_i(s.parent.vnode)&&lu(n,t,r,s),s=s.parent}}function lu(e,t,r,n){const s=Hn(t,e,n,!0);Ai(()=>{Ws(n[t],s)},r)}function Hn(e,t,r=Me,n=!1){if(r){const s=r[e]||(r[e]=[]),a=t.__weh||(t.__weh=(...o)=>{Ct();const i=Yr(r),l=mt(t,r,e,o);return i(),kt(),l});return n?s.unshift(a):s.push(a),a}}const Ot=e=>(t,r=Me)=>{(!Wr||e==="sp")&&Hn(e,(...n)=>t(...n),r)},uu=Ot("bm"),Ri=Ot("m"),cu=Ot("bu"),fu=Ot("u"),Ii=Ot("bum"),Ai=Ot("um"),hu=Ot("sp"),pu=Ot("rtg"),du=Ot("rtc");function vu(e,t=Me){Hn("ec",e,t)}const gu="directives",mu=Symbol.for("v-ndc");function xu(e){return yu(gu,e)}function yu(e,t,r=!0,n=!1){const s=Ve||Me;if(s){const a=s.type,o=ka(s[e]||a[e],t)||ka(s.appContext[e],t);return!o&&n?a:o}}function ka(e,t){return e&&(e[t]||e[gt(t)]||e[Zs(gt(t))])}function Tn(e,t,r,n){let s;const a=r,o=ee(e);if(o||Oe(e)){const i=o&&Tt(e);let l=!1,c=!1;i&&(l=!Ze(e),c=Et(e),e=Dn(e)),s=new Array(e.length);for(let u=0,h=e.length;ut(i,l,void 0,a));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;le?rl(e)?Wn(e):Ts(e.parent):null,Mr=Re(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ts(e.parent),$root:e=>Ts(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Pi(e),$forceUpdate:e=>e.f||(e.f=()=>{ta(e.update)}),$nextTick:e=>e.n||(e.n=ea.bind(e.proxy)),$watch:e=>ru.bind(e)}),ts=(e,t)=>e!==xe&&!e.__isScriptSetup&&de(e,t),bu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:r,setupState:n,data:s,props:a,accessCache:o,type:i,appContext:l}=e;if(t[0]!=="$"){const f=o[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return s[t];case 4:return r[t];case 3:return a[t]}else{if(ts(n,t))return o[t]=1,n[t];if(s!==xe&&de(s,t))return o[t]=2,s[t];if(de(a,t))return o[t]=3,a[t];if(r!==xe&&de(r,t))return o[t]=4,r[t];Fs&&(o[t]=0)}}const c=Mr[t];let u,h;if(c)return t==="$attrs"&&Ae(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(r!==xe&&de(r,t))return o[t]=4,r[t];if(h=l.config.globalProperties,de(h,t))return h[t]},set({_:e},t,r){const{data:n,setupState:s,ctx:a}=e;return ts(s,t)?(s[t]=r,!0):n!==xe&&de(n,t)?(n[t]=r,!0):de(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(a[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:n,appContext:s,props:a,type:o}},i){let l;return!!(r[i]||e!==xe&&i[0]!=="$"&&de(e,i)||ts(t,i)||de(a,i)||de(n,i)||de(Mr,i)||de(s.config.globalProperties,i)||(l=o.__cssModules)&&l[i])},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:de(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}};function Ea(e){return ee(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}let Fs=!0;function Su(e){const t=Pi(e),r=e.proxy,n=e.ctx;Fs=!1,t.beforeCreate&&Oa(t.beforeCreate,e,"bc");const{data:s,computed:a,methods:o,watch:i,provide:l,inject:c,created:u,beforeMount:h,mounted:f,beforeUpdate:p,updated:x,activated:O,deactivated:w,beforeDestroy:g,beforeUnmount:y,destroyed:S,unmounted:E,render:_,renderTracked:K,renderTriggered:H,errorCaptured:L,serverPrefetch:P,expose:X,inheritAttrs:q,components:oe,directives:ae,filters:te}=t;if(c&&wu(c,n,null),o)for(const B in o){const W=o[B];re(W)&&(n[B]=W.bind(r))}if(s){const B=s.call(r,r);Se(B)&&(e.data=Bn(B))}if(Fs=!0,a)for(const B in a){const W=a[B],ne=re(W)?W.bind(r,r):re(W.get)?W.get.bind(r,r):dt,me=!re(W)&&re(W.set)?W.set.bind(r):dt,le=ve({get:ne,set:me});Object.defineProperty(n,B,{enumerable:!0,configurable:!0,get:()=>le.value,set:pe=>le.value=pe})}if(i)for(const B in i)Mi(i[B],n,r,B);if(l){const B=re(l)?l.call(r):l;Reflect.ownKeys(B).forEach(W=>{J0(W,B[W])})}u&&Oa(u,e,"c");function z(B,W){ee(W)?W.forEach(ne=>B(ne.bind(r))):W&&B(W.bind(r))}if(z(uu,h),z(Ri,f),z(cu,p),z(fu,x),z(ou,O),z(iu,w),z(vu,L),z(du,K),z(pu,H),z(Ii,y),z(Ai,E),z(hu,P),ee(X))if(X.length){const B=e.exposed||(e.exposed={});X.forEach(W=>{Object.defineProperty(B,W,{get:()=>r[W],set:ne=>r[W]=ne,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===dt&&(e.render=_),q!=null&&(e.inheritAttrs=q),oe&&(e.components=oe),ae&&(e.directives=ae),P&&Ui(e)}function wu(e,t,r=dt){ee(e)&&(e=Cs(e));for(const n in e){const s=e[n];let a;Se(s)?"default"in s?a=Rr(s.from||n,s.default,!0):a=Rr(s.from||n):a=Rr(s),Ce(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:o=>a.value=o}):t[n]=a}}function Oa(e,t,r){mt(ee(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,r)}function Mi(e,t,r,n){let s=n.includes(".")?Oi(r,n):()=>r[n];if(Oe(e)){const a=t[e];re(a)&&Bt(s,a)}else if(re(e))Bt(s,e.bind(r));else if(Se(e))if(ee(e))e.forEach(a=>Mi(a,t,r,n));else{const a=re(e.handler)?e.handler.bind(r):t[e.handler];re(a)&&Bt(s,a,e)}}function Pi(e){const t=e.type,{mixins:r,extends:n}=t,{mixins:s,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,i=a.get(t);let l;return i?l=i:!s.length&&!r&&!n?l=t:(l={},s.length&&s.forEach(c=>Fn(l,c,o,!0)),Fn(l,t,o)),Se(t)&&a.set(t,l),l}function Fn(e,t,r,n=!1){const{mixins:s,extends:a}=t;a&&Fn(e,a,r,!0),s&&s.forEach(o=>Fn(e,o,r,!0));for(const o in t)if(!(n&&o==="expose")){const i=Tu[o]||r&&r[o];e[o]=i?i(e[o],t[o]):t[o]}return e}const Tu={data:Ua,props:_a,emits:_a,methods:Or,computed:Or,beforeCreate:Pe,created:Pe,beforeMount:Pe,mounted:Pe,beforeUpdate:Pe,updated:Pe,beforeDestroy:Pe,beforeUnmount:Pe,destroyed:Pe,unmounted:Pe,activated:Pe,deactivated:Pe,errorCaptured:Pe,serverPrefetch:Pe,components:Or,directives:Or,watch:Cu,provide:Ua,inject:Fu};function Ua(e,t){return t?e?function(){return Re(re(e)?e.call(this,this):e,re(t)?t.call(this,this):t)}:t:e}function Fu(e,t){return Or(Cs(e),Cs(t))}function Cs(e){if(ee(e)){const t={};for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${gt(t)}Modifiers`]||e[`${nr(t)}Modifiers`];function Uu(e,t,...r){if(e.isUnmounted)return;const n=e.vnode.props||xe;let s=r;const a=t.startsWith("update:"),o=a&&Ou(n,t.slice(7));o&&(o.trim&&(s=r.map(u=>Oe(u)?u.trim():u)),o.number&&(s=r.map($s)));let i,l=n[i=Kn(t)]||n[i=Kn(gt(t))];!l&&a&&(l=n[i=Kn(nr(t))]),l&&mt(l,e,6,s);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,mt(c,e,6,s)}}const _u=new WeakMap;function Bi(e,t,r=!1){const n=r?_u:t.emitsCache,s=n.get(e);if(s!==void 0)return s;const a=e.emits;let o={},i=!1;if(!re(e)){const l=c=>{const u=Bi(c,t,!0);u&&(i=!0,Re(o,u))};!r&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!a&&!i?(Se(e)&&n.set(e,null),null):(ee(a)?a.forEach(l=>o[l]=null):Re(o,a),Se(e)&&n.set(e,o),o)}function zn(e,t){return!e||!Rn(t)?!1:(t=t.slice(2).replace(/Once$/,""),de(e,t[0].toLowerCase()+t.slice(1))||de(e,nr(t))||de(e,t))}function La(e){const{type:t,vnode:r,proxy:n,withProxy:s,propsOptions:[a],slots:o,attrs:i,emit:l,render:c,renderCache:u,props:h,data:f,setupState:p,ctx:x,inheritAttrs:O}=e,w=Sn(e);let g,y;try{if(r.shapeFlag&4){const E=s||n,_=E;g=ft(c.call(_,E,u,h,p,f,x)),y=i}else{const E=t;g=ft(E.length>1?E(h,{attrs:i,slots:o,emit:l}):E(h,null)),y=t.props?i:Lu(i)}}catch(E){Pr.length=0,Gn(E,e,1),g=Ge(Vt)}let S=g;if(y&&O!==!1){const E=Object.keys(y),{shapeFlag:_}=S;E.length&&_&7&&(a&&E.some(Vs)&&(y=Ru(y,a)),S=vr(S,y,!1,!0))}return r.dirs&&(S=vr(S,null,!1,!0),S.dirs=S.dirs?S.dirs.concat(r.dirs):r.dirs),r.transition&&ra(S,r.transition),g=S,Sn(w),g}const Lu=e=>{let t;for(const r in e)(r==="class"||r==="style"||Rn(r))&&((t||(t={}))[r]=e[r]);return t},Ru=(e,t)=>{const r={};for(const n in e)(!Vs(n)||!(n.slice(9)in t))&&(r[n]=e[n]);return r};function Iu(e,t,r){const{props:n,children:s,component:a}=e,{props:o,children:i,patchFlag:l}=t,c=a.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&l>=0){if(l&1024)return!0;if(l&16)return n?Ra(n,o,c):!!o;if(l&8){const u=t.dynamicProps;for(let h=0;hObject.create(Ni),Hi=e=>Object.getPrototypeOf(e)===Ni;function Mu(e,t,r,n=!1){const s={},a=Gi();e.propsDefaults=Object.create(null),zi(e,t,s,a);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);r?e.props=n?s:D0(s):e.type.props?e.props=s:e.props=a,e.attrs=a}function Pu(e,t,r,n){const{props:s,attrs:a,vnode:{patchFlag:o}}=e,i=fe(s),[l]=e.propsOptions;let c=!1;if((n||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let h=0;h{l=!0;const[f,p]=Vi(h,t,!0);Re(o,f),p&&i.push(...p)};!r&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!a&&!l)return Se(e)&&n.set(e,cr),cr;if(ee(a))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",sa=e=>ee(e)?e.map(ft):[ft(e)],Bu=(e,t,r)=>{if(t._n)return t;const n=Y0((...s)=>sa(t(...s)),r);return n._c=!1,n},Wi=(e,t,r)=>{const n=e._ctx;for(const s in e){if(na(s))continue;const a=e[s];if(re(a))t[s]=Bu(s,a,n);else if(a!=null){const o=sa(a);t[s]=()=>o}}},Zi=(e,t)=>{const r=sa(t);e.slots.default=()=>r},$i=(e,t,r)=>{for(const n in t)(r||!na(n))&&(e[n]=t[n])},Nu=(e,t,r)=>{const n=e.slots=Gi();if(e.vnode.shapeFlag&32){const s=t._;s?($i(n,t,r),r&&ei(n,"_",s,!0)):Wi(t,n)}else t&&Zi(e,t)},Gu=(e,t,r)=>{const{vnode:n,slots:s}=e;let a=!0,o=xe;if(n.shapeFlag&32){const i=t._;i?r&&i===1?a=!1:$i(s,t,r):(a=!t.$stable,Wi(t,s)),o=t}else t&&(Zi(e,t),o={default:1});if(a)for(const i in s)!na(i)&&o[i]==null&&delete s[i]},ze=Zu;function Hu(e){return zu(e)}function zu(e,t){const r=Pn();r.__VUE__=!0;const{insert:n,remove:s,patchProp:a,createElement:o,createText:i,createComment:l,setText:c,setElementText:u,parentNode:h,nextSibling:f,setScopeId:p=dt,insertStaticContent:x}=e,O=(d,m,C,I=null,R=null,v=null,T=void 0,F=null,k=!!m.dynamicChildren)=>{if(d===m)return;d&&!Cr(d,m)&&(I=st(d),pe(d,R,v,!0),d=null),m.patchFlag===-2&&(k=!1,m.dynamicChildren=null);const{type:U,ref:j,shapeFlag:N}=m;switch(U){case Vn:w(d,m,C,I);break;case Vt:g(d,m,C,I);break;case ns:d==null&&y(m,C,I,T);break;case Ne:oe(d,m,C,I,R,v,T,F,k);break;default:N&1?_(d,m,C,I,R,v,T,F,k):N&6?ae(d,m,C,I,R,v,T,F,k):(N&64||N&128)&&U.process(d,m,C,I,R,v,T,F,k,_t)}j!=null&&R?Ir(j,d&&d.ref,v,m||d,!m):j==null&&d&&d.ref!=null&&Ir(d.ref,null,v,d,!0)},w=(d,m,C,I)=>{if(d==null)n(m.el=i(m.children),C,I);else{const R=m.el=d.el;m.children!==d.children&&c(R,m.children)}},g=(d,m,C,I)=>{d==null?n(m.el=l(m.children||""),C,I):m.el=d.el},y=(d,m,C,I)=>{[d.el,d.anchor]=x(d.children,m,C,I,d.el,d.anchor)},S=({el:d,anchor:m},C,I)=>{let R;for(;d&&d!==m;)R=f(d),n(d,C,I),d=R;n(m,C,I)},E=({el:d,anchor:m})=>{let C;for(;d&&d!==m;)C=f(d),s(d),d=C;s(m)},_=(d,m,C,I,R,v,T,F,k)=>{if(m.type==="svg"?T="svg":m.type==="math"&&(T="mathml"),d==null)K(m,C,I,R,v,T,F,k);else{const U=d.el&&d.el._isVueCE?d.el:null;try{U&&U._beginPatch(),P(d,m,R,v,T,F,k)}finally{U&&U._endPatch()}}},K=(d,m,C,I,R,v,T,F)=>{let k,U;const{props:j,shapeFlag:N,transition:G,dirs:Y}=d;if(k=d.el=o(d.type,v,j&&j.is,j),N&8?u(k,d.children):N&16&&L(d.children,k,null,I,R,rs(d,v),T,F),Y&&jt(d,null,I,"created"),H(k,d,d.scopeId,T,I),j){for(const ue in j)ue!=="value"&&!Ur(ue)&&a(k,ue,null,j[ue],v,I);"value"in j&&a(k,"value",null,j.value,v),(U=j.onVnodeBeforeMount)&&it(U,I,d)}Y&&jt(d,null,I,"beforeMount");const se=Vu(R,G);se&&G.beforeEnter(k),n(k,m,C),((U=j&&j.onVnodeMounted)||se||Y)&&ze(()=>{U&&it(U,I,d),se&&G.enter(k),Y&&jt(d,null,I,"mounted")},R)},H=(d,m,C,I,R)=>{if(C&&p(d,C),I)for(let v=0;v{for(let U=k;U{const F=m.el=d.el;let{patchFlag:k,dynamicChildren:U,dirs:j}=m;k|=d.patchFlag&16;const N=d.props||xe,G=m.props||xe;let Y;if(C&&qt(C,!1),(Y=G.onVnodeBeforeUpdate)&&it(Y,C,m,d),j&&jt(m,d,C,"beforeUpdate"),C&&qt(C,!0),(N.innerHTML&&G.innerHTML==null||N.textContent&&G.textContent==null)&&u(F,""),U?X(d.dynamicChildren,U,F,C,I,rs(m,R),v):T||W(d,m,F,null,C,I,rs(m,R),v,!1),k>0){if(k&16)q(F,N,G,C,R);else if(k&2&&N.class!==G.class&&a(F,"class",null,G.class,R),k&4&&a(F,"style",N.style,G.style,R),k&8){const se=m.dynamicProps;for(let ue=0;ue{Y&&it(Y,C,m,d),j&&jt(m,d,C,"updated")},I)},X=(d,m,C,I,R,v,T)=>{for(let F=0;F{if(m!==C){if(m!==xe)for(const v in m)!Ur(v)&&!(v in C)&&a(d,v,m[v],null,R,I);for(const v in C){if(Ur(v))continue;const T=C[v],F=m[v];T!==F&&v!=="value"&&a(d,v,F,T,R,I)}"value"in C&&a(d,"value",m.value,C.value,R)}},oe=(d,m,C,I,R,v,T,F,k)=>{const U=m.el=d?d.el:i(""),j=m.anchor=d?d.anchor:i("");let{patchFlag:N,dynamicChildren:G,slotScopeIds:Y}=m;Y&&(F=F?F.concat(Y):Y),d==null?(n(U,C,I),n(j,C,I),L(m.children||[],C,j,R,v,T,F,k)):N>0&&N&64&&G&&d.dynamicChildren&&d.dynamicChildren.length===G.length?(X(d.dynamicChildren,G,C,R,v,T,F),(m.key!=null||R&&m===R.subTree)&&ji(d,m,!0)):W(d,m,C,j,R,v,T,F,k)},ae=(d,m,C,I,R,v,T,F,k)=>{m.slotScopeIds=F,d==null?m.shapeFlag&512?R.ctx.activate(m,C,I,T,k):te(m,C,I,R,v,T,k):M(d,m,k)},te=(d,m,C,I,R,v,T)=>{const F=d.component=Qu(d,I,R);if(_i(d)&&(F.ctx.renderer=_t),ec(F,!1,T),F.asyncDep){if(R&&R.registerDep(F,z,T),!d.el){const k=F.subTree=Ge(Vt);g(null,k,m,C),d.placeholder=k.el}}else z(F,d,m,C,R,v,T)},M=(d,m,C)=>{const I=m.component=d.component;if(Iu(d,m,C))if(I.asyncDep&&!I.asyncResolved){B(I,m,C);return}else I.next=m,I.update();else m.el=d.el,I.vnode=m},z=(d,m,C,I,R,v,T)=>{const F=()=>{if(d.isMounted){let{next:N,bu:G,u:Y,parent:se,vnode:ue}=d;{const Be=qi(d);if(Be){N&&(N.el=ue.el,B(d,N,T)),Be.asyncDep.then(()=>{d.isUnmounted||F()});return}}let he=N,we;qt(d,!1),N?(N.el=ue.el,B(d,N,T)):N=ue,G&&pn(G),(we=N.props&&N.props.onVnodeBeforeUpdate)&&it(we,se,N,ue),qt(d,!0);const Te=La(d),Fe=d.subTree;d.subTree=Te,O(Fe,Te,h(Fe.el),st(Fe),d,R,v),N.el=Te.el,he===null&&Au(d,Te.el),Y&&ze(Y,R),(we=N.props&&N.props.onVnodeUpdated)&&ze(()=>it(we,se,N,ue),R)}else{let N;const{el:G,props:Y}=m,{bm:se,m:ue,parent:he,root:we,type:Te}=d,Fe=Ar(m);qt(d,!1),se&&pn(se),!Fe&&(N=Y&&Y.onVnodeBeforeMount)&&it(N,he,m),qt(d,!0);{we.ce&&we.ce._def.shadowRoot!==!1&&we.ce._injectChildStyle(Te);const Be=d.subTree=La(d);O(null,Be,C,I,d,R,v),m.el=Be.el}if(ue&&ze(ue,R),!Fe&&(N=Y&&Y.onVnodeMounted)){const Be=m;ze(()=>it(N,he,Be),R)}(m.shapeFlag&256||he&&Ar(he.vnode)&&he.vnode.shapeFlag&256)&&d.a&&ze(d.a,R),d.isMounted=!0,m=C=I=null}};d.scope.on();const k=d.effect=new ii(F);d.scope.off();const U=d.update=k.run.bind(k),j=d.job=k.runIfDirty.bind(k);j.i=d,j.id=d.uid,k.scheduler=()=>ta(j),qt(d,!0),U()},B=(d,m,C)=>{m.component=d;const I=d.vnode.props;d.vnode=m,d.next=null,Pu(d,m.props,I,C),Gu(d,m.children,C),Ct(),Fa(d),kt()},W=(d,m,C,I,R,v,T,F,k=!1)=>{const U=d&&d.children,j=d?d.shapeFlag:0,N=m.children,{patchFlag:G,shapeFlag:Y}=m;if(G>0){if(G&128){me(U,N,C,I,R,v,T,F,k);return}else if(G&256){ne(U,N,C,I,R,v,T,F,k);return}}Y&8?(j&16&&Xe(U,R,v),N!==U&&u(C,N)):j&16?Y&16?me(U,N,C,I,R,v,T,F,k):Xe(U,R,v,!0):(j&8&&u(C,""),Y&16&&L(N,C,I,R,v,T,F,k))},ne=(d,m,C,I,R,v,T,F,k)=>{d=d||cr,m=m||cr;const U=d.length,j=m.length,N=Math.min(U,j);let G;for(G=0;Gj?Xe(d,R,v,!0,!1,N):L(m,C,I,R,v,T,F,k,N)},me=(d,m,C,I,R,v,T,F,k)=>{let U=0;const j=m.length;let N=d.length-1,G=j-1;for(;U<=N&&U<=G;){const Y=d[U],se=m[U]=k?Dt(m[U]):ft(m[U]);if(Cr(Y,se))O(Y,se,C,null,R,v,T,F,k);else break;U++}for(;U<=N&&U<=G;){const Y=d[N],se=m[G]=k?Dt(m[G]):ft(m[G]);if(Cr(Y,se))O(Y,se,C,null,R,v,T,F,k);else break;N--,G--}if(U>N){if(U<=G){const Y=G+1,se=YG)for(;U<=N;)pe(d[U],R,v,!0),U++;else{const Y=U,se=U,ue=new Map;for(U=se;U<=G;U++){const He=m[U]=k?Dt(m[U]):ft(m[U]);He.key!=null&&ue.set(He.key,U)}let he,we=0;const Te=G-se+1;let Fe=!1,Be=0;const Tr=new Array(Te);for(U=0;U=Te){pe(He,R,v,!0);continue}let ot;if(He.key!=null)ot=ue.get(He.key);else for(he=se;he<=G;he++)if(Tr[he-se]===0&&Cr(He,m[he])){ot=he;break}ot===void 0?pe(He,R,v,!0):(Tr[ot-se]=U+1,ot>=Be?Be=ot:Fe=!0,O(He,m[ot],C,null,R,v,T,F,k),we++)}const xa=Fe?Wu(Tr):cr;for(he=xa.length-1,U=Te-1;U>=0;U--){const He=se+U,ot=m[He],ya=m[He+1],ba=He+1{const{el:v,type:T,transition:F,children:k,shapeFlag:U}=d;if(U&6){le(d.component.subTree,m,C,I);return}if(U&128){d.suspense.move(m,C,I);return}if(U&64){T.move(d,m,C,_t);return}if(T===Ne){n(v,m,C);for(let N=0;NF.enter(v),R);else{const{leave:N,delayLeave:G,afterLeave:Y}=F,se=()=>{d.ctx.isUnmounted?s(v):n(v,m,C)},ue=()=>{v._isLeaving&&v[au](!0),N(v,()=>{se(),Y&&Y()})};G?G(v,se,ue):ue()}else n(v,m,C)},pe=(d,m,C,I=!1,R=!1)=>{const{type:v,props:T,ref:F,children:k,dynamicChildren:U,shapeFlag:j,patchFlag:N,dirs:G,cacheIndex:Y}=d;if(N===-2&&(R=!1),F!=null&&(Ct(),Ir(F,null,C,d,!0),kt()),Y!=null&&(m.renderCache[Y]=void 0),j&256){m.ctx.deactivate(d);return}const se=j&1&&G,ue=!Ar(d);let he;if(ue&&(he=T&&T.onVnodeBeforeUnmount)&&it(he,m,d),j&6)Sr(d.component,C,I);else{if(j&128){d.suspense.unmount(C,I);return}se&&jt(d,null,m,"beforeUnmount"),j&64?d.type.remove(d,m,C,_t,I):U&&!U.hasOnce&&(v!==Ne||N>0&&N&64)?Xe(U,m,C,!1,!0):(v===Ne&&N&384||!R&&j&16)&&Xe(k,m,C),I&&Ut(d)}(ue&&(he=T&&T.onVnodeUnmounted)||se)&&ze(()=>{he&&it(he,m,d),se&&jt(d,null,m,"unmounted")},C)},Ut=d=>{const{type:m,el:C,anchor:I,transition:R}=d;if(m===Ne){br(C,I);return}if(m===ns){E(d);return}const v=()=>{s(C),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if(d.shapeFlag&1&&R&&!R.persisted){const{leave:T,delayLeave:F}=R,k=()=>T(C,v);F?F(d.el,v,k):k()}else v()},br=(d,m)=>{let C;for(;d!==m;)C=f(d),s(d),d=C;s(m)},Sr=(d,m,C)=>{const{bum:I,scope:R,job:v,subTree:T,um:F,m:k,a:U}=d;Aa(k),Aa(U),I&&pn(I),R.stop(),v&&(v.flags|=8,pe(T,d,m,C)),F&&ze(F,m),ze(()=>{d.isUnmounted=!0},m)},Xe=(d,m,C,I=!1,R=!1,v=0)=>{for(let T=v;T{if(d.shapeFlag&6)return st(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const m=f(d.anchor||d.el),C=m&&m[nu];return C?f(C):m};let at=!1;const nn=(d,m,C)=>{let I;d==null?m._vnode&&(pe(m._vnode,null,null,!0),I=m._vnode.component):O(m._vnode||null,d,m,null,null,null,C),m._vnode=d,at||(at=!0,Fa(I),Fi(),at=!1)},_t={p:O,um:pe,m:le,r:Ut,mt:te,mc:L,pc:W,pbc:X,n:st,o:e};return{render:nn,hydrate:void 0,createApp:Eu(nn)}}function rs({type:e,props:t},r){return r==="svg"&&e==="foreignObject"||r==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:r}function qt({effect:e,job:t},r){r?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Vu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ji(e,t,r=!1){const n=e.children,s=t.children;if(ee(n)&&ee(s))for(let a=0;a>1,e[r[i]]0&&(t[n]=r[a-1]),r[a]=n)}}for(a=r.length,o=r[a-1];a-- >0;)r[a]=o,o=t[o];return r}function qi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qi(t)}function Aa(e){if(e)for(let t=0;te.__isSuspense;function Zu(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):K0(e)}const Ne=Symbol.for("v-fgt"),Vn=Symbol.for("v-txt"),Vt=Symbol.for("v-cmt"),ns=Symbol.for("v-stc"),Pr=[];let We=null;function ie(e=!1){Pr.push(We=e?null:[])}function $u(){Pr.pop(),We=Pr[Pr.length-1]||null}let Vr=1;function Ma(e,t=!1){Vr+=e,e<0&&We&&t&&(We.hasOnce=!0)}function Yi(e){return e.dynamicChildren=Vr>0?We||cr:null,$u(),Vr>0&&We&&We.push(e),e}function ce(e,t,r,n,s,a){return Yi(A(e,t,r,n,s,a,!0))}function Ji(e,t,r,n,s){return Yi(Ge(e,t,r,n,s,!0))}function Qi(e){return e?e.__v_isVNode===!0:!1}function Cr(e,t){return e.type===t.type&&e.key===t.key}const el=({key:e})=>e??null,dn=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?Oe(e)||Ce(e)||re(e)?{i:Ve,r:e,k:t,f:!!r}:e:null);function A(e,t=null,r=null,n=0,s=null,a=e===Ne?0:1,o=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&el(t),ref:t&&dn(t),scopeId:ki,slotScopeIds:null,children:r,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:a,patchFlag:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Ve};return i?(aa(l,r),a&128&&e.normalize(l)):r&&(l.shapeFlag|=Oe(r)?8:16),Vr>0&&!o&&We&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&We.push(l),l}const Ge=ju;function ju(e,t=null,r=null,n=0,s=null,a=!1){if((!e||e===mu)&&(e=Vt),Qi(e)){const i=vr(e,t,!0);return r&&aa(i,r),Vr>0&&!a&&We&&(i.shapeFlag&6?We[We.indexOf(e)]=i:We.push(i)),i.patchFlag=-2,i}if(sc(e)&&(e=e.__vccOpts),t){t=qu(t);let{class:i,style:l}=t;i&&!Oe(i)&&(t.class=ht(i)),Se(l)&&(Nn(l)&&!ee(l)&&(l=Re({},l)),t.style=Nr(l))}const o=Oe(e)?1:Ki(e)?128:su(e)?64:Se(e)?4:re(e)?2:0;return A(e,t,r,n,s,o,a,!0)}function qu(e){return e?Nn(e)||Hi(e)?Re({},e):e:null}function vr(e,t,r=!1,n=!1){const{props:s,ref:a,patchFlag:o,children:i,transition:l}=e,c=t?Ku(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&el(c),ref:t&&t.ref?r&&a?ee(a)?a.concat(dn(t)):[a,dn(t)]:dn(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ne?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&vr(e.ssContent),ssFallback:e.ssFallback&&vr(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ra(u,l.clone(u)),u}function Xu(e=" ",t=0){return Ge(Vn,null,e,t)}function Nt(e="",t=!1){return t?(ie(),Ji(Vt,null,e)):Ge(Vt,null,e)}function ft(e){return e==null||typeof e=="boolean"?Ge(Vt):ee(e)?Ge(Ne,null,e.slice()):Qi(e)?Dt(e):Ge(Vn,null,String(e))}function Dt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:vr(e)}function aa(e,t){let r=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ee(t))r=16;else if(typeof t=="object")if(n&65){const s=t.default;s&&(s._c&&(s._d=!1),aa(e,s()),s._c&&(s._d=!0));return}else{r=32;const s=t._;!s&&!Hi(t)?t._ctx=Ve:s===3&&Ve&&(Ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else re(t)?(t={default:t,_ctx:Ve},r=32):(t=String(t),n&64?(r=16,t=[Xu(t)]):r=8);e.children=t,e.shapeFlag|=r}function Ku(...e){const t={};for(let r=0;rMe||Ve;let Cn,Es;{const e=Pn(),t=(r,n)=>{let s;return(s=e[r])||(s=e[r]=[]),s.push(n),a=>{s.length>1?s.forEach(o=>o(a)):s[0](a)}};Cn=t("__VUE_INSTANCE_SETTERS__",r=>Me=r),Es=t("__VUE_SSR_SETTERS__",r=>Wr=r)}const Yr=e=>{const t=Me;return Cn(e),e.scope.on(),()=>{e.scope.off(),Cn(t)}},Pa=()=>{Me&&Me.scope.off(),Cn(null)};function rl(e){return e.vnode.shapeFlag&4}let Wr=!1;function ec(e,t=!1,r=!1){t&&Es(t);const{props:n,children:s}=e.vnode,a=rl(e);Mu(e,n,a,t),Nu(e,s,r||t);const o=a?tc(e,t):void 0;return t&&Es(!1),o}function tc(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,bu);const{setup:n}=r;if(n){Ct();const s=e.setupContext=n.length>1?nc(e):null,a=Yr(e),o=Xr(n,e,0,[e.props,s]),i=Yo(o);if(kt(),a(),(i||e.sp)&&!Ar(e)&&Ui(e),i){if(o.then(Pa,Pa),t)return o.then(l=>{Da(e,l)}).catch(l=>{Gn(l,e,0)});e.asyncDep=o}else Da(e,o)}else nl(e)}function Da(e,t,r){re(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Se(t)&&(e.setupState=Si(t)),nl(e)}function nl(e,t,r){const n=e.type;e.render||(e.render=n.render||dt);{const s=Yr(e);Ct();try{Su(e)}finally{kt(),s()}}}const rc={get(e,t){return Ae(e,"get",""),e[t]}};function nc(e){const t=r=>{e.exposed=r||{}};return{attrs:new Proxy(e.attrs,rc),slots:e.slots,emit:e.emit,expose:t}}function Wn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Si(Qs(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in Mr)return Mr[r](e)},has(t,r){return r in t||r in Mr}})):e.proxy}function sc(e){return re(e)&&"__vccOpts"in e}const ve=(e,t)=>Z0(e,t,Wr),ac="3.5.27";let Os;const Ba=typeof window<"u"&&window.trustedTypes;if(Ba)try{Os=Ba.createPolicy("vue",{createHTML:e=>e})}catch{}const sl=Os?e=>Os.createHTML(e):e=>e,oc="http://www.w3.org/2000/svg",ic="http://www.w3.org/1998/Math/MathML",yt=typeof document<"u"?document:null,Na=yt&&yt.createElement("template"),lc={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,n)=>{const s=t==="svg"?yt.createElementNS(oc,e):t==="mathml"?yt.createElementNS(ic,e):r?yt.createElement(e,{is:r}):yt.createElement(e);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>yt.createTextNode(e),createComment:e=>yt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>yt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,n,s,a){const o=r?r.previousSibling:t.lastChild;if(s&&(s===a||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),r),!(s===a||!(s=s.nextSibling)););else{Na.innerHTML=sl(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Na.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,r)}return[o?o.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},uc=Symbol("_vtc");function cc(e,t,r){const n=e[uc];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const Ga=Symbol("_vod"),fc=Symbol("_vsh"),hc=Symbol(""),pc=/(?:^|;)\s*display\s*:/;function dc(e,t,r){const n=e.style,s=Oe(r);let a=!1;if(r&&!s){if(t)if(Oe(t))for(const o of t.split(";")){const i=o.slice(0,o.indexOf(":")).trim();r[i]==null&&vn(n,i,"")}else for(const o in t)r[o]==null&&vn(n,o,"");for(const o in r)o==="display"&&(a=!0),vn(n,o,r[o])}else if(s){if(t!==r){const o=n[hc];o&&(r+=";"+o),n.cssText=r,a=pc.test(r)}}else t&&e.removeAttribute("style");Ga in e&&(e[Ga]=a?n.display:"",e[fc]&&(n.display="none"))}const Ha=/\s*!important$/;function vn(e,t,r){if(ee(r))r.forEach(n=>vn(e,t,n));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const n=vc(e,t);Ha.test(r)?e.setProperty(nr(n),r.replace(Ha,""),"important"):e[n]=r}}const za=["Webkit","Moz","ms"],ss={};function vc(e,t){const r=ss[t];if(r)return r;let n=gt(t);if(n!=="filter"&&n in e)return ss[t]=n;n=Zs(n);for(let s=0;sas||(yc.then(()=>as=0),as=Date.now());function Sc(e,t){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;mt(wc(n,r.value),t,5,[n])};return r.value=e,r.attached=bc(),r}function wc(e,t){if(ee(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(n=>s=>!s._stopped&&n&&n(s))}else return t}const qa=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Tc=(e,t,r,n,s,a)=>{const o=s==="svg";t==="class"?cc(e,n,o):t==="style"?dc(e,r,n):Rn(t)?Vs(t)||mc(e,t,r,n,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Fc(e,t,n,o))?(Za(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Wa(e,t,n,o,a,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Oe(n))?Za(e,gt(t),n,a,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Wa(e,t,n,o))};function Fc(e,t,r,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&qa(t)&&re(r));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 qa(t)&&Oe(r)?!1:t in e}const Xa=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ee(t)?r=>pn(t,r):t};function Cc(e){e.target.composing=!0}function Ka(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const os=Symbol("_assign");function Ya(e,t,r){return t&&(e=e.trim()),r&&(e=$s(e)),e}const kc={created(e,{modifiers:{lazy:t,trim:r,number:n}},s){e[os]=Xa(s);const a=n||s.props&&s.props.type==="number";ur(e,t?"change":"input",o=>{o.target.composing||e[os](Ya(e.value,r,a))}),(r||a)&&ur(e,"change",()=>{e.value=Ya(e.value,r,a)}),t||(ur(e,"compositionstart",Cc),ur(e,"compositionend",Ka),ur(e,"change",Ka))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:r,modifiers:{lazy:n,trim:s,number:a}},o){if(e[os]=Xa(o),e.composing)return;const i=(a||e.type==="number")&&!/^0\d/.test(e.value)?$s(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n&&t===r||s&&e.value.trim()===l)||(e.value=l))}},Ec=["ctrl","shift","alt","meta"],Oc={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)=>Ec.some(r=>e[`${r}Key`]&&!t.includes(r))},Uc=(e,t)=>{const r=e._withMods||(e._withMods={}),n=t.join(".");return r[n]||(r[n]=((s,...a)=>{for(let o=0;o{const t=Lc().createApp(...e),{mount:r}=t;return t.mount=n=>{const s=Ac(n);if(!s)return;const a=t._component;!re(a)&&!a.render&&!a.template&&(a.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const o=r(s,!1,Ic(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t});function Ic(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ac(e){return Oe(e)?document.querySelector(e):e}let al;const Zn=e=>al=e,ol=Symbol();function Us(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Dr;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Dr||(Dr={}));function Mc(){const e=ai(!0),t=e.run(()=>ge({}));let r=[],n=[];const s=Qs({install(a){Zn(s),s._a=a,a.provide(ol,s),a.config.globalProperties.$pinia=s,n.forEach(o=>r.push(o)),n=[]},use(a){return this._a?r.push(a):n.push(a),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return s}const il=()=>{};function Qa(e,t,r,n=il){e.add(t);const s=()=>{e.delete(t)&&n()};return!r&&oi()&&m0(s),s}function ar(e,...t){e.forEach(r=>{r(...t)})}const Pc=e=>e(),eo=Symbol(),is=Symbol();function _s(e,t){e instanceof Map&&t instanceof Map?t.forEach((r,n)=>e.set(n,r)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const r in t){if(!t.hasOwnProperty(r))continue;const n=t[r],s=e[r];Us(s)&&Us(n)&&e.hasOwnProperty(r)&&!Ce(n)&&!Tt(n)?e[r]=_s(s,n):e[r]=n}return e}const Dc=Symbol();function Bc(e){return!Us(e)||!Object.prototype.hasOwnProperty.call(e,Dc)}const{assign:It}=Object;function Nc(e){return!!(Ce(e)&&e.effect)}function Gc(e,t,r,n){const{state:s,actions:a,getters:o}=t,i=r.state.value[e];let l;function c(){i||(r.state.value[e]=s?s():{});const u=H0(r.state.value[e]);return It(u,a,Object.keys(o||{}).reduce((h,f)=>(h[f]=Qs(ve(()=>{Zn(r);const p=r._s.get(e);return o[f].call(p,p)})),h),{}))}return l=ll(e,c,t,r,n,!0),l}function ll(e,t,r={},n,s,a){let o;const i=It({actions:{}},r),l={deep:!0};let c,u,h=new Set,f=new Set,p;const x=n.state.value[e];!a&&!x&&(n.state.value[e]={});let O;function w(L){let P;c=u=!1,typeof L=="function"?(L(n.state.value[e]),P={type:Dr.patchFunction,storeId:e,events:p}):(_s(n.state.value[e],L),P={type:Dr.patchObject,payload:L,storeId:e,events:p});const X=O=Symbol();ea().then(()=>{O===X&&(c=!0)}),u=!0,ar(h,P,n.state.value[e])}const g=a?function(){const{state:P}=r,X=P?P():{};this.$patch(q=>{It(q,X)})}:il;function y(){o.stop(),h.clear(),f.clear(),n._s.delete(e)}const S=(L,P="")=>{if(eo in L)return L[is]=P,L;const X=function(){Zn(n);const q=Array.from(arguments),oe=new Set,ae=new Set;function te(B){oe.add(B)}function M(B){ae.add(B)}ar(f,{args:q,name:X[is],store:_,after:te,onError:M});let z;try{z=L.apply(this&&this.$id===e?this:_,q)}catch(B){throw ar(ae,B),B}return z instanceof Promise?z.then(B=>(ar(oe,B),B)).catch(B=>(ar(ae,B),Promise.reject(B))):(ar(oe,z),z)};return X[eo]=!0,X[is]=P,X},E={_p:n,$id:e,$onAction:Qa.bind(null,f),$patch:w,$reset:g,$subscribe(L,P={}){const X=Qa(h,L,P.detached,()=>q()),q=o.run(()=>Bt(()=>n.state.value[e],oe=>{(P.flush==="sync"?u:c)&&L({storeId:e,type:Dr.direct,events:p},oe)},It({},l,P)));return X},$dispose:y},_=Bn(E);n._s.set(e,_);const H=(n._a&&n._a.runWithContext||Pc)(()=>n._e.run(()=>(o=ai()).run(()=>t({action:S}))));for(const L in H){const P=H[L];if(Ce(P)&&!Nc(P)||Tt(P))a||(x&&Bc(P)&&(Ce(P)?P.value=x[L]:_s(P,x[L])),n.state.value[e][L]=P);else if(typeof P=="function"){const X=S(P,L);H[L]=X,i.actions[L]=P}}return It(_,H),It(fe(_),H),Object.defineProperty(_,"$state",{get:()=>n.state.value[e],set:L=>{w(P=>{It(P,L)})}}),n._p.forEach(L=>{It(_,o.run(()=>L({store:_,app:n._a,pinia:n,options:i})))}),x&&a&&r.hydrate&&r.hydrate(_.$state,x),c=!0,u=!0,_}function ul(e,t,r){let n;const s=typeof t=="function";n=s?r:t;function a(o,i){const l=Q0();return o=o||(l?Rr(ol,null):null),o&&Zn(o),o=al,o._s.has(e)||(s?ll(e,t,n,o):Gc(e,n,o)),o._s.get(e)}return a.$id=e,a}const Hc="modulepreload",zc=function(e){return"/"+e},to={},ro=function(t,r,n){let s=Promise.resolve();if(r&&r.length>0){let l=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=o?.nonce||o?.getAttribute("nonce");s=l(r.map(c=>{if(c=zc(c),c in to)return;to[c]=!0;const u=c.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${h}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":Hc,u||(f.as="script"),f.crossOrigin="",f.href=c,i&&f.setAttribute("nonce",i),document.head.appendChild(f),u)return new Promise((p,x)=>{f.addEventListener("load",p),f.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${c}`)))})}))}function a(o){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o}return s.then(o=>{for(const i of o||[])i.status==="rejected"&&a(i.reason);return t().catch(a)})},Vc="/assets/webicon-K25S575h.svg",Wc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='360'%20height='33'%20fill='none'%20viewBox='0%200%20360%2033'%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%238552A1'%20d='M7.305%2015.333h7.898l-.856%201.51h8.49l.593-2.883H5.594L7.832%202.7%205.857.87h50.874L54.1%2013.96H36.724l-.592%202.883h17.572l-.856%204.12H35.276l-.395%201.968h17.507l-.79%203.936H34.09l-.263%201.373h20.468l-.79%203.89H0l.79-3.89h19.744l.263-1.373H4.87l.79-3.936h15.927l.395-1.968h-9.938l-.724%201.373H3.16l4.145-7.003ZM20.007%205.63H43.24l.33-1.373H20.336l-.329%201.373Zm22.311%204.668.263-1.327H19.35l-.263%201.327h23.232Zm51.795%2010.894.527-2.793h-9.872l.79-3.982h31.327l-.79%203.982h-10.004l-.526%202.793h8.753l-.855%204.165h-8.754l-.724%203.432h10.465l-.856%204.028H81.477l.856-4.028h10.2l.725-3.433H84.57l.856-4.165h8.687ZM85.36%204.622l-4.804.321-.856%204.303h5.66l-.855%204.21H78.12l-3.95%2019.498h-8.687l3.95-19.498H62.72l.856-4.21h5.989l.79-3.662-5.66.366.855-4.21L86.216.411l-.856%204.21ZM89.572.87h29.09l-2.369%2011.762h-29.09L89.573.87ZM59.101%2031.307l4.212-16.111h5.594l-4.212%2016.11H59.1Zm16.65%200%202.37-16.111h5.594l-2.37%2016.11h-5.594ZM107.21%208.65l.724-3.8h-9.345l-.724%203.8h9.345Zm35.276%2011.031.395-1.785%2014.545-3.112h-28.958l.921-4.44h43.766l-1.053%205.31-17.111%204.027h21.258l-.856%204.44h-21.324l-1.118%205.72c-.176.886-.757%201.626-1.744%202.22-.988.596-2.117.893-3.39.893h-12.965l5.857-4.302.922-4.531h-21.258l.856-4.44h21.257ZM163.81%206.957h-25.009l-.461%202.472h-13.755l1.382-6.82h19.942l.197-.915L144.066%200h15.927l-.593%202.61h19.086l-1.382%206.82h-13.755l.461-2.472Zm48.044%202.197-4.41%2013.044h2.962l2.896-14.371h-11.847l.856-4.348h11.846l.395-1.74L212.446%200h14.413l-.724%203.479h11.847l-.856%204.348H225.28l-2.962%2014.371h3.028l.855-13.044h8.161l-1.58%2023.022h-8.095l.329-5.63h-3.553l-1.317%206.408h-11.912l1.25-6.407h-3.488l-1.908%205.63h-8.161l7.766-23.023h8.161Zm-12.176-4.806-.197.961-5.594%2027.645h-11.913l5.266-25.951-3.818.503%201.053-5.217L200.534.092l-.856%204.256Zm79.503%2019.361%201.514%201.053%205.396-3.021H268.98l3.554-6.088h-4.081l.856-4.302h5.726l1.974-3.387h-4.607l.856-4.21h6.186l1.514-2.61L279.313%200h12.504l-2.04%203.753h9.872l-.856%204.211h-11.32l-1.776%203.387h14.018l-.856%204.302h-15.532l-1.119%202.106h14.216l-1.185%205.446-9.148%205.264%206.516%204.44h-11.846l-12.702-9.2h11.122Zm-33.565-9.566%203.751-6.545h-3.356l.856-4.257h4.936l1.118-1.922-1.316-1.373h9.346l-1.909%203.295h11.846l-.855%204.257h-13.426l-3.883%206.82h2.962l1.118-5.31h8.161l-1.053%205.31h3.686l-.79%204.073h-3.751l-.724%203.524%204.936-.457-.922%204.577-4.936.457-1.25%206.27h-9.872l1.053-5.309-9.938.916.921-4.577%209.938-.915.922-4.486h-8.424l.855-4.348Zm78.252%205.127%202.041-9.933h16.914l3.422-3.25h-6.581l-2.304%201.831h-11.122l8.687-6.82-1.25-1.052h13.623l-2.633%202.06h13.69l-.79%204.119-3.357%203.112h5.66l-2.04%209.932H360l-.856%204.12h-12.702L356.907%2033h-10.596l-6.845-6.957-9.016%206.774h-11.715l13.097-9.429h-10.991l.856-4.119h2.171ZM311.956%205.446l.856-4.165L311.232%200h12.505l-1.119%205.447h2.567l-.856%204.348h-2.632l-.856%204.394%202.698-.55-.987%204.76-2.698.55-2.172%2010.847c-.176.855-.735%201.572-1.678%202.151-.944.58-2.052.87-3.324.87h-10.53l5.133-4.12%201.514-7.46-4.278.87.987-4.806%204.212-.87%201.383-6.636h-4.147l.856-4.348h4.146Zm34.75%207.231-1.317%206.5h4.081l1.316-6.5h-4.08Zm-13.097.138-1.316%206.453h4.014l1.316-6.453h-4.014Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='a'%3e%3cpath%20fill='%23fff'%20d='M0%200h360v33H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",Zc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='15'%20height='13'%20fill='none'%20viewBox='0%200%2015%2013'%3e%3cpath%20fill='%235C5C66'%20d='M9.668%2012.667a.333.333%200%200%201-.31-.213L7.885%208.667H2.119L.646%2012.454a.333.333%200%201%201-.622-.242l4.667-12a.333.333%200%200%201%20.621%200l4.667%2012a.333.333%200%200%201-.31.455ZM2.378%208h5.248L5.002%201.253%202.378%208Zm11.957-6h-4a.333.333%200%201%201%200-.667h4a.333.333%200%200%201%200%20.667Z'/%3e%3c/svg%3e",$c="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='22'%20height='20'%20fill='none'%20viewBox='0%200%2022%2020'%3e%3cpath%20fill='%235C5C66'%20d='M14.503%2020a.5.5%200%200%201-.466-.319L11.826%2014h-8.65L.97%2019.681a.501.501%200%200%201-.928.024.5.5%200%200%201-.004-.386l7-18a.5.5%200%200%201%20.932%200l7%2018a.5.5%200%200%201-.466.681ZM3.567%2013h7.871L7.503%202.88%203.567%2013Zm14.936-6a.5.5%200%200%201-.5-.5V4h-2.5a.5.5%200%200%201%200-1h2.5V.5a.5.5%200%200%201%201%200V3h2.5a.5.5%200%201%201%200%201h-2.5v2.5a.5.5%200%200%201-.5.5Z'/%3e%3c/svg%3e",jc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%20fill='none'%20viewBox='0%200%2036%2036'%3e%3cpath%20fill='%23FCFCFC'%20d='M22.774%2013.238a6.734%206.734%200%201%201-4.77-1.98%206.702%206.702%200%200%201%204.77%201.98Z'/%3e%3cpath%20fill='%2300E8CF'%20d='M18.005%206.76v4.498a6.703%206.703%200%200%200-4.769%201.98L10.05%2010.05a11.238%2011.238%200%200%201%207.955-3.292Z'/%3e%3cpath%20fill='%2370FFEF'%20d='M18.005.761V6.76a11.239%2011.239%200%200%200-7.955%203.292L5.813%205.815A17.162%2017.162%200%200%201%2018.005.76Z'/%3e%3cpath%20fill='%230064B5'%20d='m10.05%2010.051%203.186%203.187a6.702%206.702%200%200%200-1.98%204.768H6.759a11.239%2011.239%200%200%201%203.292-7.955Z'/%3e%3cpath%20fill='%230091FF'%20d='M10.05%2010.051a11.238%2011.238%200%200%200-3.292%207.955H.76A17.162%2017.162%200%200%201%205.813%205.815l4.237%204.236Z'/%3e%3cpath%20fill='%2331C4FF'%20d='M11.257%2018.006a6.7%206.7%200%200%200%201.98%204.769l-3.187%203.187a11.24%2011.24%200%200%201-3.292-7.956h4.499Z'/%3e%3cpath%20fill='%239EEBFF'%20d='M6.758%2018.006a11.24%2011.24%200%200%200%203.292%207.956l-4.237%204.236A17.162%2017.162%200%200%201%20.76%2018.006h5.998Z'/%3e%3cpath%20fill='%235F4A9E'%20d='M18.005%2024.754v4.5a11.239%2011.239%200%200%201-7.955-3.292l3.186-3.187a6.702%206.702%200%200%200%204.769%201.98Z'/%3e%3cpath%20fill='%239D87E0'%20d='M10.05%2025.962a11.24%2011.24%200%200%200%207.955%203.291v5.998a17.16%2017.16%200%200%201-12.192-5.053l4.237-4.236Z'/%3e%3cpath%20fill='%23FF468C'%20d='M25.96%2025.962a11.241%2011.241%200%200%201-7.955%203.291v-4.499a6.7%206.7%200%200%200%204.769-1.98l3.186%203.188Z'/%3e%3cpath%20fill='%23FFA1C8'%20d='m25.96%2025.962%204.236%204.236a17.162%2017.162%200%200%201-12.191%205.053v-5.998a11.239%2011.239%200%200%200%207.955-3.291Z'/%3e%3cpath%20fill='%23F03049'%20d='M24.753%2018.006h4.499a11.241%2011.241%200%200%201-3.292%207.956l-3.186-3.187a6.7%206.7%200%200%200%201.979-4.769Z'/%3e%3cpath%20fill='%23FF636E'%20d='M29.252%2018.006h5.998a17.163%2017.163%200%200%201-5.053%2012.192l-4.237-4.236a11.241%2011.241%200%200%200%203.292-7.956Z'/%3e%3cpath%20fill='%23FE8205'%20d='M25.96%2010.051a11.24%2011.24%200%200%201%203.292%207.955h-4.499a6.701%206.701%200%200%200-1.98-4.768l3.187-3.187Z'/%3e%3cpath%20fill='%23FFA426'%20d='M35.25%2018.006h-5.998a11.24%2011.24%200%200%200-3.292-7.955l4.236-4.236a17.163%2017.163%200%200%201%205.054%2012.191Z'/%3e%3cpath%20fill='%23FFC247'%20d='m25.96%2010.051-3.186%203.187a6.702%206.702%200%200%200-4.77-1.98V6.76a11.24%2011.24%200%200%201%207.956%203.292Z'/%3e%3cpath%20fill='%23FFFD78'%20d='M30.197%205.815%2025.96%2010.05a11.24%2011.24%200%200%200-7.955-3.292V.761a17.162%2017.162%200%200%201%2012.192%205.054Z'/%3e%3cpath%20fill='%23000'%20d='m32.863%2010.832%201.35-.653a19.376%2019.376%200%200%200-.854-1.56L32.08%209.4c.286.467.546.948.783%201.432Z'/%3e%3cpath%20fill='%23000'%20d='m34.88%2011.743-1.406.525c.589%201.601.924%203.284.993%204.988H29.97a11.883%2011.883%200%200%200-2.967-7.186l3.186-3.185c.317.347.62.707.905%201.08l1.19-.914a17.995%2017.995%200%200%200-29.629%2020.35l1.277-.786a16.459%2016.459%200%200%201-2.405-7.859H6.03a11.882%2011.882%200%200%200%202.985%207.18l-3.188%203.187a16.61%2016.61%200%200%201-.91-1.075l-1.19.914A18%2018%200%200%200%2034.88%2011.744ZM5.822%206.883l3.185%203.187a11.883%2011.883%200%200%200-2.965%207.186H1.543a16.345%2016.345%200%200%201%204.28-10.372Zm16.424%2015.365a5.998%205.998%200%201%201%201.757-4.242%205.96%205.96%200%200%201-1.757%204.242ZM12.2%2013.26a7.424%207.424%200%200%200-1.652%203.995H7.545a10.39%2010.39%200%200%201%202.533-6.116l2.121%202.12Zm10.55-1.06a7.423%207.423%200%200%200-3.995-1.651V7.546a10.39%2010.39%200%200%201%206.117%202.533L22.75%2012.2Zm-5.495-1.655a7.422%207.422%200%200%200-3.993%201.658l-2.124-2.123a10.39%2010.39%200%200%201%206.117-2.534v3Zm-6.711%208.211A7.423%207.423%200%200%200%2012.2%2022.75l-2.123%202.124a10.39%2010.39%200%200%201-2.533-6.117h2.999Zm2.715%205.057a7.423%207.423%200%200%200%203.996%201.65v3.004a10.39%2010.39%200%200%201-6.117-2.534l2.121-2.12Zm5.496%201.654a7.423%207.423%200%200%200%203.993-1.657l2.123%202.123a10.39%2010.39%200%200%201-6.116%202.534v-3Zm7.177-.594-2.121-2.121a7.423%207.423%200%200%200%201.651-3.996h3.003a10.39%2010.39%200%200%201-2.533%206.117Zm2.533-7.617h-2.999a7.423%207.423%200%200%200-1.658-3.993l2.124-2.123a10.39%2010.39%200%200%201%202.533%206.116Zm-9.71-15.729a16.358%2016.358%200%200%201%2010.36%204.31l-3.181%203.18a11.89%2011.89%200%200%200-7.18-2.985V1.527Zm-1.5.018v4.5a11.89%2011.89%200%200%200-7.187%202.964L6.882%205.824a16.345%2016.345%200%200%201%2010.373-4.279Zm-7.187%2025.459a11.89%2011.89%200%200%200%207.187%202.965v4.499a16.354%2016.354%200%200%201-10.373-4.28l3.186-3.184Zm8.687%207.481V29.98a11.898%2011.898%200%200%200%207.186-2.976l3.186%203.186a16.37%2016.37%200%200%201-10.372%204.295Zm11.42-5.37-3.18-3.18a11.882%2011.882%200%200%200%202.983-7.179h4.506a16.352%2016.352%200%200%201-4.31%2010.36Z'/%3e%3c/svg%3e",qc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='42'%20fill='none'%20viewBox='0%200%2018%2042'%3e%3cpath%20fill='%2300E8CF'%20d='M12.723%205.08H3.775v.442c0%20.513.14.917.42%201.212.263.28.652.42%201.164.42h7.2c.56%200%20.987-.125%201.282-.373.264-.233.42-.59.466-1.072l.07-.955a.771.771%200%200%201%20.268-.56.882.882%200%200%201%20.594-.21.794.794%200%200%201%20.571.28.81.81%200%200%201%20.198.606l-.07.955c-.078.948-.42%201.678-1.025%202.19-.606.529-1.39.793-2.354.793h-7.2c-.947%200-1.732-.303-2.353-.909-.606-.606-.909-1.398-.909-2.377V.816c0-.218.082-.408.245-.571A.809.809%200%200%201%202.936%200h9.787c.217%200%20.411.082.582.245a.764.764%200%200%201%20.256.57v3.45a.754.754%200%200%201-.256.582.842.842%200%200%201-.582.233ZM.839%2011.068h10.043v-.979a.78.78%200%200%201%20.244-.57.809.809%200%200%201%20.595-.245c.217%200%20.407.082.57.245a.782.782%200%200%201%20.245.57v.98h3.659c.217%200%20.407.08.57.244a.782.782%200%200%201%20.245.57.808.808%200%200%201-.245.595.782.782%200%200%201-.57.245h-3.659v7.572a.809.809%200%200%201-.245.595.782.782%200%200%201-.57.244.81.81%200%200%201-.595-.244.809.809%200%200%201-.244-.595v-7.572H.839a.809.809%200%200%201-.594-.245.809.809%200%200%201-.245-.594c0-.218.082-.408.245-.571a.809.809%200%200%201%20.594-.245Zm11.045-9.414h-8.11V3.45h8.11V1.654ZM6.198%2014.866v2.866a.809.809%200%200%201-.245.595.782.782%200%200%201-.57.244.809.809%200%200%201-.595-.244.809.809%200%200%201-.244-.595v-2.866a.81.81%200%200%201%20.244-.594.809.809%200%200%201%20.595-.245c.217%200%20.407.082.57.245a.81.81%200%200%201%20.245.594ZM1.266%2041.161v-7.456c0-.233.081-.431.244-.594a.809.809%200%200%201%20.595-.245c.233%200%20.427.081.582.245a.83.83%200%200%201%20.233.594v6.64h4.66v-9.6H2.99a.83.83%200%200%201-.594-.233.771.771%200%200%201-.245-.582v-6.268c0-.218.082-.408.245-.571a.809.809%200%200%201%20.594-.245c.218%200%20.408.082.571.245a.782.782%200%200%201%20.245.57v5.453H7.58v-7.2a.81.81%200%200%201%20.245-.594.809.809%200%200%201%20.594-.245c.218%200%20.408.082.571.245a.809.809%200%200%201%20.245.594v7.2h3.775v-5.569a.78.78%200%200%201%20.244-.57.809.809%200%200%201%20.595-.245.78.78%200%200%201%20.57.244.782.782%200%200%201%20.245.571v6.385a.771.771%200%200%201-.245.582.801.801%200%200%201-.57.233H9.235v9.6h4.66v-6.757a.81.81%200%200%201%20.245-.594.782.782%200%200%201%20.57-.245.81.81%200%200%201%20.595.245.81.81%200%200%201%20.245.594v7.573a.809.809%200%200%201-.245.594.81.81%200%200%201-.594.245H2.105a.809.809%200%200%201-.595-.245.809.809%200%200%201-.244-.594Z'/%3e%3c/svg%3e",Xc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='48'%20fill='none'%20viewBox='0%200%2048%2048'%3e%3ccircle%20cx='24'%20cy='24'%20r='24'%20fill='%238552A1'%20opacity='.2'/%3e%3ccircle%20cx='24'%20cy='24'%20r='18'%20fill='%238552A1'/%3e%3cpath%20fill='%23F3EDF7'%20d='M12.062%2018.99H17.4v1.942h-4.425c-.51%200-.834.025-.97.074-.287.1-.43.343-.43.728%200%20.324.137.573.41.747.15.1.555.15%201.214.15h1.475c.946%200%201.692.199%202.24.597.61.448.915%201.107.915%201.979%200%20.66-.187%201.263-.56%201.81-.274.436-.607.722-.999.86-.392.136-1.048.204-1.97.204H9.13V26.14h4.461c.548%200%20.921-.006%201.12-.019.448-.05.672-.305.672-.765%200-.373-.149-.629-.448-.765-.149-.075-.51-.112-1.082-.112h-1.512c-.598%200-1.055-.038-1.373-.112a2.451%202.451%200%200%201-.886-.411%202.399%202.399%200%200%201-.794-.98A3.14%203.14%200%200%201%209%2021.64c0-.908.33-1.63.99-2.165.398-.324%201.088-.486%202.072-.486Zm9.325%200%202.314%206.254%202.54-6.254h2.65l-3.92%209.091h-2.688l-3.622-9.09h2.726Zm12.946%200H39v9.036c0%20.51-.06.964-.177%201.362-.118.398-.29.734-.514%201.008a2.196%202.196%200%200%201-1.036.719c-.404.13-.992.196-1.764.196h-4.984V29.37h4.648c.548%200%20.905-.084%201.073-.252.168-.168.252-.514.252-1.037h-2.296c-.734%200-1.34-.077-1.82-.233a3.438%203.438%200%200%201-1.297-.774c-.909-.86-1.363-2.042-1.363-3.547%200-1.718.554-2.969%201.662-3.753a3.86%203.86%200%200%201%201.26-.606c.442-.119%201.005-.178%201.69-.178Zm2.166%207.15v-5.208h-2.073c-1.443%200-2.165.871-2.165%202.613%200%20.847.196%201.49.588%201.932.392.442.961.663%201.708.663h1.941Z'/%3e%3c/svg%3e",Kc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='48'%20fill='none'%20viewBox='0%200%2048%2048'%3e%3ccircle%20cx='24'%20cy='24'%20r='24'%20fill='%232420A8'%20opacity='.2'/%3e%3ccircle%20cx='24'%20cy='24'%20r='18'%20fill='%232420A8'/%3e%3cpath%20fill='%23F3EDF7'%20d='M9%2031.301v-12.3h4.296c.833%200%201.463.051%201.891.155.429.104.839.31%201.23.615%201.065.832%201.598%202.112%201.598%203.837%200%201.31-.392%202.369-1.175%203.177a3.537%203.537%200%200%201-1.35.88c-.508.184-1.129.276-1.863.276H11.46v3.36H9Zm4.131-10.391h-1.67v5.122h1.505c.795%200%201.377-.172%201.744-.514.514-.453.771-1.15.771-2.093%200-.808-.202-1.43-.606-1.864-.404-.434-.985-.651-1.744-.651Zm6.683%207.031v-8.94h4.737c.71%200%201.251.051%201.625.155.373.104.713.29%201.019.56.624.575.936%201.481.936%202.717v5.508h-2.46v-5.783c0-.44-.098-.759-.294-.955-.196-.196-.52-.293-.973-.293h-2.13v7.031h-2.46ZM34.41%2019H39v8.886c0%20.502-.058.949-.174%201.34a2.807%202.807%200%200%201-.505.992%202.161%202.161%200%200%201-1.02.707c-.397.128-.975.193-1.734.193h-4.902v-1.91h4.571c.539%200%20.89-.082%201.056-.248.165-.165.248-.505.248-1.019h-2.258c-.723%200-1.32-.076-1.79-.23a3.381%203.381%200%200%201-1.277-.761c-.893-.845-1.34-2.008-1.34-3.488%200-1.69.545-2.92%201.634-3.69a3.806%203.806%200%200%201%201.24-.598c.434-.116.988-.174%201.661-.174Zm2.13%207.032V20.91h-2.038c-1.42%200-2.13.856-2.13%202.57%200%20.832.193%201.466.578%201.9.386.435.946.652%201.68.652h1.91Z'/%3e%3c/svg%3e",no="/assets/weixin-nJMOnnsQ.svg";String.prototype.codePointAt||(function(){var e=(function(){try{var r={},n=Object.defineProperty,s=n(r,r,r)&&n}catch{}return s})(),t=function(r){if(this==null)throw TypeError();var n=String(this),s=n.length,a=r?Number(r):0;if(a!=a&&(a=0),!(a<0||a>=s)){var o=n.charCodeAt(a),i;return o>=55296&&o<=56319&&s>a+1&&(i=n.charCodeAt(a+1),i>=56320&&i<=57343)?(o-55296)*1024+i-56320+65536:o}};e?e(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t})();var oa=0,cl=-3;function Zr(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function Yc(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new Zr,this.dtree=new Zr}var fl=new Zr,hl=new Zr,ia=new Uint8Array(30),la=new Uint16Array(30),pl=new Uint8Array(30),dl=new Uint16Array(30),Jc=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),so=new Zr,lt=new Uint8Array(320);function vl(e,t,r,n){var s,a;for(s=0;s>>=1,t}function ct(e,t,r){if(!t)return r;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function Ls(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++s,r+=t.table[s],n-=t.table[s];while(n>=0);return e.tag=a,e.bitcount-=s,t.trans[r+n]}function tf(e,t,r){var n,s,a,o,i,l;for(n=ct(e,5,257),s=ct(e,5,1),a=ct(e,4,4),o=0;o<19;++o)lt[o]=0;for(o=0;o8;)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],r=e.source[e.sourceIndex+3],r=256*r+e.source[e.sourceIndex+2],t!==(~r&65535))return cl;for(e.sourceIndex+=4,n=t;n;--n)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,oa}function nf(e,t){var r=new Yc(e,t),n,s,a;do{switch(n=ef(r),s=ct(r,2,0),s){case 0:a=rf(r);break;case 1:a=oo(r,fl,hl);break;case 2:tf(r,r.ltree,r.dtree),a=oo(r,r.ltree,r.dtree);break;default:a=cl}if(a!==oa)throw new Error("Data error")}while(!n);return r.destLenthis.x2&&(this.x2=e)),typeof t=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),tthis.y2&&(this.y2=t))};$t.prototype.addX=function(e){this.addPoint(e,null)};$t.prototype.addY=function(e){this.addPoint(null,e)};$t.prototype.addBezier=function(e,t,r,n,s,a,o,i){var l=[e,t],c=[r,n],u=[s,a],h=[o,i];this.addPoint(e,t),this.addPoint(o,i);for(var f=0;f<=1;f++){var p=6*l[f]-12*c[f]+6*u[f],x=-3*l[f]+9*c[f]-9*u[f]+3*h[f],O=3*c[f]-3*l[f];if(x===0){if(p===0)continue;var w=-O/p;0=0&&l>0&&(i+=" "),i+=t(c)}return i}for(var n="",s=0;s=0&&e<=255,"Byte value should be between 0 and 255."),[e]};Q.BYTE=rt(1);D.CHAR=function(e){return[e.charCodeAt(0)]};Q.CHAR=rt(1);D.CHARARRAY=function(e){typeof e>"u"&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],r=0;r"u"?0:e.length};D.USHORT=function(e){return[e>>8&255,e&255]};Q.USHORT=rt(2);D.SHORT=function(e){return e>=lo&&(e=-(2*lo-e)),[e>>8&255,e&255]};Q.SHORT=rt(2);D.UINT24=function(e){return[e>>16&255,e>>8&255,e&255]};Q.UINT24=rt(3);D.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]};Q.ULONG=rt(4);D.LONG=function(e){return e>=uo&&(e=-(2*uo-e)),[e>>24&255,e>>16&255,e>>8&255,e&255]};Q.LONG=rt(4);D.FIXED=D.ULONG;Q.FIXED=Q.ULONG;D.FWORD=D.SHORT;Q.FWORD=Q.SHORT;D.UFWORD=D.USHORT;Q.UFWORD=Q.USHORT;D.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,e&255]};Q.LONGDATETIME=rt(8);D.TAG=function(e){return J.argument(e.length===4,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]};Q.TAG=rt(4);D.Card8=D.BYTE;Q.Card8=Q.BYTE;D.Card16=D.USHORT;Q.Card16=Q.USHORT;D.OffSize=D.BYTE;Q.OffSize=Q.BYTE;D.SID=D.USHORT;Q.SID=Q.USHORT;D.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?(e=e-108,[(e>>8)+247,e&255]):e>=-1131&&e<=-108?(e=-e-108,[(e>>8)+251,e&255]):e>=-32768&&e<=32767?D.NUMBER16(e):D.NUMBER32(e)};Q.NUMBER=function(e){return D.NUMBER(e).length};D.NUMBER16=function(e){return[28,e>>8&255,e&255]};Q.NUMBER16=rt(3);D.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,e&255]};Q.NUMBER32=rt(5);D.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var s="",a=0,o=t.length;a>8&255,t[t.length]=n&255}return t};Q.UTF16=function(e){return e.length*2};var Rs={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};gr.MACSTRING=function(e,t,r,n){var s=Rs[n];if(s!==void 0){for(var a="",o=0;o=128&&(a=r[a],a===void 0))return;n[s]=a}return n}};Q.MACSTRING=function(e,t){var r=D.MACSTRING(e,t);return r!==void 0?r.length:0};function Is(e){return e>=-128&&e<=127}function of(e,t,r){for(var n=0,s=e.length;t>8&255,l+256&255)}return a}D.VARDELTAS=function(e){for(var t=0,r=[];t=-128&&n<=127?t=lf(e,t,r):t=uf(e,t,r)}return r};D.INDEX=function(e){for(var t=1,r=[t],n=[],s=0;s>8,t[h+1]=f&255,t=t.concat(n[u])}return t};Q.TABLE=function(e){for(var t=0,r=e.fields.length,n=0;n0)return new b(this.data,this.offset+t).parseStruct(e)};b.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new b(this.data,this.offset+t).parseStruct(e)};b.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,s=new Array(r),a=0;a>1,t.skip("uShort",3),e.glyphIndexMap={};for(var o=new $.Parser(r,n+s+14),i=new $.Parser(r,n+s+16+a*2),l=new $.Parser(r,n+s+16+a*4),c=new $.Parser(r,n+s+16+a*6),u=n+s+16+a*8,h=0;h=0;s-=1){var a=$.getUShort(e,t+4+s*8),o=$.getUShort(e,t+4+s*8+2);if(a===3&&(o===0||o===1||o===10)||a===0&&(o===0||o===1||o===2||o===3||o===4)){n=$.getULong(e,t+4+s*8+4);break}}if(n===-1)throw new Error("No valid cmap sub-tables found.");var i=new $.Parser(e,t+n);if(r.format=i.parseUShort(),r.format===12)gf(r,i);else if(r.format===4)mf(r,i,e,t,n);else throw new Error("Only format 4 and 12 cmap tables are supported (found format "+r.format+").");return r}function yf(e,t,r){e.segments.push({end:t,start:t,delta:-(t-r),offset:0,glyphIndex:r})}function bf(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}function Sf(e){var t=!0,r;for(r=e.length-1;r>0;r-=1){var n=e.get(r);if(n.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),t=!1;break}}var s=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:t?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:t?12:20}];t||(s=s.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),s=s.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var a=new V.Table("cmap",s);for(a.segments=[],r=0;r>4,o=s&15;if(a===r||(t+=n[a],o===r))break;t+=n[o]}return parseFloat(t)}function Mf(e,t){var r,n,s,a;if(t===28)return r=e.parseByte(),n=e.parseByte(),r<<8|n;if(t===29)return r=e.parseByte(),n=e.parseByte(),s=e.parseByte(),a=e.parseByte(),r<<24|n<<16|s<<8|a;if(t===30)return Af(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return r=e.parseByte(),(t-247)*256+r+108;if(t>=251&&t<=254)return r=e.parseByte(),-(t-251)*256-r-108;throw new Error("Invalid b0 "+t)}function Pf(e){for(var t={},r=0;r>1,l.length=0,u=!0}function H(L){for(var P,X,q,oe,ae,te,M,z,B,W,ne,me,le=0;le1&&!u&&(E=l.shift()+g,u=!0),p+=l.pop(),_(f,p);break;case 5:for(;l.length>0;)f+=l.shift(),p+=l.shift(),i.lineTo(f,p);break;case 6:for(;l.length>0&&(f+=l.shift(),i.lineTo(f,p),l.length!==0);)p+=l.shift(),i.lineTo(f,p);break;case 7:for(;l.length>0&&(p+=l.shift(),i.lineTo(f,p),l.length!==0);)f+=l.shift(),i.lineTo(f,p);break;case 8:for(;l.length>0;)n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o+l.shift(),i.curveTo(n,s,a,o,f,p);break;case 10:ae=l.pop()+O,te=x[ae],te&&H(te);break;case 11:return;case 12:switch(pe=L[le],le+=1,pe){case 35:n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),M=a+l.shift(),z=o+l.shift(),B=M+l.shift(),W=z+l.shift(),ne=B+l.shift(),me=W+l.shift(),f=ne+l.shift(),p=me+l.shift(),l.shift(),i.curveTo(n,s,a,o,M,z),i.curveTo(B,W,ne,me,f,p);break;case 34:n=f+l.shift(),s=p,a=n+l.shift(),o=s+l.shift(),M=a+l.shift(),z=o,B=M+l.shift(),W=o,ne=B+l.shift(),me=p,f=ne+l.shift(),i.curveTo(n,s,a,o,M,z),i.curveTo(B,W,ne,me,f,p);break;case 36:n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),M=a+l.shift(),z=o,B=M+l.shift(),W=o,ne=B+l.shift(),me=W+l.shift(),f=ne+l.shift(),i.curveTo(n,s,a,o,M,z),i.curveTo(B,W,ne,me,f,p);break;case 37:n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),M=a+l.shift(),z=o+l.shift(),B=M+l.shift(),W=z+l.shift(),ne=B+l.shift(),me=W+l.shift(),Math.abs(ne-f)>Math.abs(me-p)?f=ne+l.shift():p=me+l.shift(),i.curveTo(n,s,a,o,M,z),i.curveTo(B,W,ne,me,f,p);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+pe),l.length=0}break;case 14:l.length>0&&!u&&(E=l.shift()+g,u=!0),h&&(i.closePath(),h=!1);break;case 18:K();break;case 19:case 20:K(),le+=c+7>>3;break;case 21:l.length>2&&!u&&(E=l.shift()+g,u=!0),p+=l.pop(),f+=l.pop(),_(f,p);break;case 22:l.length>1&&!u&&(E=l.shift()+g,u=!0),f+=l.pop(),_(f,p);break;case 23:K();break;case 24:for(;l.length>2;)n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o+l.shift(),i.curveTo(n,s,a,o,f,p);f+=l.shift(),p+=l.shift(),i.lineTo(f,p);break;case 25:for(;l.length>6;)f+=l.shift(),p+=l.shift(),i.lineTo(f,p);n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o+l.shift(),i.curveTo(n,s,a,o,f,p);break;case 26:for(l.length%2&&(f+=l.shift());l.length>0;)n=f,s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a,p=o+l.shift(),i.curveTo(n,s,a,o,f,p);break;case 27:for(l.length%2&&(p+=l.shift());l.length>0;)n=f+l.shift(),s=p,a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o,i.curveTo(n,s,a,o,f,p);break;case 28:P=L[le],X=L[le+1],l.push((P<<24|X<<16)>>16),le+=2;break;case 29:ae=l.pop()+e.gsubrsBias,te=e.gsubrs[ae],te&&H(te);break;case 30:for(;l.length>0&&(n=f,s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o+(l.length===1?l.shift():0),i.curveTo(n,s,a,o,f,p),l.length!==0);)n=f+l.shift(),s=p,a=n+l.shift(),o=s+l.shift(),p=o+l.shift(),f=a+(l.length===1?l.shift():0),i.curveTo(n,s,a,o,f,p);break;case 31:for(;l.length>0&&(n=f+l.shift(),s=p,a=n+l.shift(),o=s+l.shift(),p=o+l.shift(),f=a+(l.length===1?l.shift():0),i.curveTo(n,s,a,o,f,p),l.length!==0);)n=f,s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o+(l.length===1?l.shift():0),i.curveTo(n,s,a,o,f,p);break;default:pe<32?console.log("Glyph "+t.index+": unknown operator "+pe):pe<247?l.push(pe-139):pe<251?(P=L[le],le+=1,l.push((pe-247)*256+P+108)):pe<255?(P=L[le],le+=1,l.push(-(pe-251)*256-P-108)):(P=L[le],X=L[le+1],q=L[le+2],oe=L[le+3],le+=4,l.push((P<<24|X<<16|q<<8|oe)/65536))}}}return H(r),t.advanceWidth=E,i}function Hf(e,t,r,n){var s=[],a,o=new $.Parser(e,t),i=o.parseCard8();if(i===0)for(var l=0;l=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");s.push(a)}else if(i===3){var c=o.parseCard16(),u=o.parseCard16();if(u!==0)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+u);for(var h,f=0;f=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");if(h>r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+h);for(;u=0&&(r=n),n=t.indexOf(e),n>=0?r=n+gn.length:(r=gn.length+t.length,t.push(e)),r}function Vf(){return new V.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function Wf(e){var t=new V.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var r=0;r=r.begin&&e=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r}function yh(e){return new V.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)}var Bs={parse:xh,make:yh,unicodeRanges:Ds,getUnicodeRange:mh};function bh(e,t){var r={},n=new $.Parser(e,t);switch(r.version=n.parseVersion(),r.italicAngle=n.parseFixed(),r.underlinePosition=n.parseShort(),r.underlineThickness=n.parseShort(),r.isFixedPitch=n.parseULong(),r.minMemType42=n.parseULong(),r.maxMemType42=n.parseULong(),r.minMemType1=n.parseULong(),r.maxMemType1=n.parseULong(),r.version){case 1:r.names=Yt.slice();break;case 2:r.numberOfGlyphs=n.parseUShort(),r.glyphNameIndex=new Array(r.numberOfGlyphs);for(var s=0;s=Yt.length){var o=n.parseChar();r.names.push(n.parseString(o))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var i=0;ih.value.tag?1:-1}),t.fields=t.fields.concat(n),t.fields=t.fields.concat(s),t}function So(e,t,r){for(var n=0;n0){var a=e.glyphs.get(s);return a.getMetrics()}}return r}function kh(e){for(var t=0,r=0;rw||l===void 0)&&w>0&&(l=w),c 123 are reserved for internal usage");if(O.name!==".notdef"){var y=O.getMetrics();t.push(y.xMin),r.push(y.yMin),n.push(y.xMax),s.push(y.yMax),o.push(y.leftSideBearing),i.push(y.rightSideBearing),a.push(O.advanceWidth)}}var S={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,r),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,s),advanceWidthMax:Math.max.apply(null,a),advanceWidthAvg:kh(a),minLeftSideBearing:Math.min.apply(null,o),maxLeftSideBearing:Math.max.apply(null,o),minRightSideBearing:Math.min.apply(null,i)};S.ascender=e.ascender,S.descender=e.descender;var E=_l.make({flags:3,unitsPerEm:e.unitsPerEm,xMin:S.xMin,yMin:S.yMin,xMax:S.xMax,yMax:S.yMax,lowestRecPPEM:3,createdTimestamp:e.createdTimestamp}),_=Ll.make({ascender:S.ascender,descender:S.descender,advanceWidthMax:S.advanceWidthMax,minLeftSideBearing:S.minLeftSideBearing,minRightSideBearing:S.minRightSideBearing,xMaxExtent:S.maxLeftSideBearing+(S.xMax-S.xMin),numberOfHMetrics:e.glyphs.length}),K=Al.make(e.glyphs.length),H=Bs.make(Object.assign({xAvgCharWidth:Math.round(S.advanceWidthAvg),usFirstCharIndex:l,usLastCharIndex:c,ulUnicodeRange1:u,ulUnicodeRange2:h,ulUnicodeRange3:f,ulUnicodeRange4:p,sTypoAscender:S.ascender,sTypoDescender:S.descender,sTypoLineGap:0,usWinAscent:S.yMax,usWinDescent:Math.abs(S.yMin),ulCodePageRange1:1,sxHeight:So(e,"xyvw",{yMax:Math.round(S.ascender/2)}).yMax,sCapHeight:So(e,"HIKLEFJMNTZBDPRAGOQSUVWXY",S).yMax,usDefaultChar:e.hasChar(" ")?32:0,usBreakChar:e.hasChar(" ")?32:0},e.tables.os2)),L=Rl.make(e.glyphs),P=xl.make(e.glyphs),X=e.getEnglishName("fontFamily"),q=e.getEnglishName("fontSubfamily"),oe=X+" "+q,ae=e.getEnglishName("postScriptName");ae||(ae=X.replace(/\s/g,"")+"-"+q);var te={};for(var M in e.names)te[M]=e.names[M];te.uniqueID||(te.uniqueID={en:e.getEnglishName("manufacturer")+":"+oe}),te.postScriptName||(te.postScriptName={en:ae}),te.preferredFamily||(te.preferredFamily=e.names.fontFamily),te.preferredSubfamily||(te.preferredSubfamily=e.names.fontSubfamily);var z=[],B=Nl.make(te,z),W=z.length>0?Il.make(z):void 0,ne=Gl.make(),me=Ul.make(e.glyphs,{version:e.getEnglishName("version"),fullName:oe,familyName:X,weightName:q,postScriptName:ae,unitsPerEm:e.unitsPerEm,fontBBox:[0,S.yMin,S.ascender,S.advanceWidthMax]}),le=e.metas&&Object.keys(e.metas).length>0?zl.make(e.metas):void 0,pe=[E,_,K,H,B,P,ne,me,L];W&&pe.push(W),e.tables.gsub&&pe.push(Hl.make(e.tables.gsub)),le&&pe.push(le);for(var Ut=Vl(pe),br=Ut.encode(),Sr=ha(br),Xe=Ut.fields,st=!1,at=0;at>>1,a=e[s].tag;if(a===t)return s;a>>1,a=e[s];if(a===t)return s;a>>1;r=e[a];var o=r.start;if(o===t)return r;o0)return r=e[n-1],t>r.end?0:r}function Jr(e,t){this.font=e,this.tableName=t}Jr.prototype={searchTag:cs,binSearch:wo,getTable:function(e){var t=this.font.tables[this.tableName];return!t&&e&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map(function(t){return t.tag}):[]},getDefaultScriptName:function(){var e=this.getTable();if(e){for(var t=!1,r=0;r=0)return n[s].script;if(t){var a={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-s,0,a),a.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||t==="dflt"||t==="DFLT")return n.defaultLangSys;var s=cs(n.langSysRecords,t);if(s>=0)return n.langSysRecords[s].langSys;if(r){var a={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-s,0,a),a.langSys}}},getFeatureTable:function(e,t,r,n){var s=this.getLangSysTable(e,t,n);if(s){for(var a,o=s.featureIndexes,i=this.font.tables[this.tableName].features,l=0;l=i[c-1].tag,"Features must be added in alphabetical order."),a={tag:r,feature:{params:0,lookupListIndexes:[]}},i.push(a),o.push(c),a.feature}}},getLookupTables:function(e,t,r,n,s){var a=this.getFeatureTable(e,t,r,s),o=[];if(a){for(var i,l=a.lookupListIndexes,c=this.font.tables[this.tableName].lookups,u=0;u=0?r:-1;case 2:var n=To(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(e.format===1)return e.glyphs;for(var t=[],r=e.ranges,n=0;n1,'Multiple: "by" must be an array of two or more ids');var s=this.getLookupTables(r,n,e,2,!0)[0],a=pa(s,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});J.assert(a.coverage.format===1,"Multiple: unable to modify coverage table format "+a.coverage.format);var o=t.sub,i=this.binSearch(a.coverage.glyphs,o);i<0&&(i=-1-i,a.coverage.glyphs.splice(i,0,o),a.sequences.splice(i,0,0)),a.sequences[i]=t.by};$e.prototype.addAlternate=function(e,t,r,n){var s=this.getLookupTables(r,n,e,3,!0)[0],a=pa(s,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});J.assert(a.coverage.format===1,"Alternate: unable to modify coverage table format "+a.coverage.format);var o=t.sub,i=this.binSearch(a.coverage.glyphs,o);i<0&&(i=-1-i,a.coverage.glyphs.splice(i,0,o),a.alternateSets.splice(i,0,0)),a.alternateSets[i]=t.by};$e.prototype.addLigature=function(e,t,r,n){var s=this.getLookupTables(r,n,e,4,!0)[0],a=s.subtables[0];a||(a={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},s.subtables[0]=a),J.assert(a.coverage.format===1,"Ligature: unable to modify coverage table format "+a.coverage.format);var o=t.sub[0],i=t.sub.slice(1),l={ligGlyph:t.by,components:i},c=this.binSearch(a.coverage.glyphs,o);if(c>=0){for(var u=a.ligatureSets[c],h=0;h0?(a=e.parseByte(),(t&s)===0&&(a=-a),a=r+a):(t&s)>0?a=r:a=r+e.parseShort(),a}function Wl(e,t,r){var n=new $.Parser(t,r);e.numberOfContours=n.parseShort(),e._xMin=n.parseShort(),e._yMin=n.parseShort(),e._xMax=n.parseShort(),e._yMax=n.parseShort();var s,a;if(e.numberOfContours>0){for(var o=e.endPointIndices=[],i=0;i0)for(var h=n.parseByte(),f=0;f0){var p=[],x;if(c>0){for(var O=0;O=0,p.push(x);for(var w=0,g=0;g0?(s&2)>0?(_.dx=n.parseShort(),_.dy=n.parseShort()):_.matchedPoints=[n.parseUShort(),n.parseUShort()]:(s&2)>0?(_.dx=n.parseChar(),_.dy=n.parseChar()):_.matchedPoints=[n.parseByte(),n.parseByte()],(s&8)>0?_.xScale=_.yScale=n.parseF2Dot14():(s&64)>0?(_.xScale=n.parseF2Dot14(),_.yScale=n.parseF2Dot14()):(s&128)>0&&(_.xScale=n.parseF2Dot14(),_.scale01=n.parseF2Dot14(),_.scale10=n.parseF2Dot14(),_.yScale=n.parseF2Dot14()),e.components.push(_),E=!!(s&32)}if(s&256){e.instructionLength=n.parseUShort(),e.instructions=[];for(var K=0;Kt.points.length-1||n.matchedPoints[1]>s.points.length-1)throw Error("Matched points out of range in "+t.name);var o=t.points[n.matchedPoints[0]],i=s.points[n.matchedPoints[1]],l={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};i=fs([i],l)[0],l.dx=o.x-i.x,l.dy=o.y-i.y,a=fs(s.points,l)}t.points=t.points.concat(a)}}return Zl(t.points)}function Ih(e,t,r,n){for(var s=new vt.GlyphSet(n),a=0;a2)){var r=this.font,n=this._prepState;if(!n||n.ppem!==t){var s=this._fpgmState;if(!s){Gt.prototype=Hh,s=this._fpgmState=new Gt("fpgm",r.tables.fpgm),s.funcs=[],s.font=r,exports.DEBUG&&(console.log("---EXEC FPGM---"),s.step=-1);try{rr(s)}catch(c){console.log("Hinting error in FPGM:"+c),this._errorState=3;return}}Gt.prototype=s,n=this._prepState=new Gt("prep",r.tables.prep),n.ppem=t;var a=r.tables.cvt;if(a)for(var o=n.cvt=new Array(a.length),i=t/r.unitsPerEm,l=0;l1))try{return Xl(e,n)}catch(c){this._errorState<1&&(console.log("Hinting error:"+c),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}}};Xl=function(e,t){var r=t.ppem/t.font.unitsPerEm,n=r,s=e.components,a,o,i;if(Gt.prototype=t,!s)i=new Gt("glyf",e.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),i.step=-1),Ns(e,i,r,n),o=i.gZone;else{var l=t.font;o=[],a=[];for(var c=0;c=176&&a<=183)n+=a-176+1;else if(a>=184&&a<=191)n+=(a-184+1)*2;else if(t&&s===1&&a===27)break;while(s>0);e.ip=n}function Co(e,t){exports.DEBUG&&console.log(t.step,"SVTCA["+e.axis+"]"),t.fv=t.pv=t.dpv=e}function ko(e,t){exports.DEBUG&&console.log(t.step,"SPVTCA["+e.axis+"]"),t.pv=t.dpv=e}function Eo(e,t){exports.DEBUG&&console.log(t.step,"SFVTCA["+e.axis+"]"),t.fv=e}function Oo(e,t){var r=t.stack,n=r.pop(),s=r.pop(),a=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log("SPVTL["+e+"]",n,s);var i,l;e?(i=a.y-o.y,l=o.x-a.x):(i=o.x-a.x,l=o.y-a.y),t.pv=t.dpv=tn(i,l)}function Uo(e,t){var r=t.stack,n=r.pop(),s=r.pop(),a=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log("SFVTL["+e+"]",n,s);var i,l;e?(i=a.y-o.y,l=o.x-a.x):(i=o.x-a.x,l=o.y-a.y),t.fv=tn(i,l)}function zh(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.pv=e.dpv=tn(n,r)}function Vh(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.fv=tn(n,r)}function Wh(e){var t=e.stack,r=e.pv;exports.DEBUG&&console.log(e.step,"GPV[]"),t.push(r.x*16384),t.push(r.y*16384)}function Zh(e){var t=e.stack,r=e.fv;exports.DEBUG&&console.log(e.step,"GFV[]"),t.push(r.x*16384),t.push(r.y*16384)}function $h(e){e.fv=e.pv,exports.DEBUG&&console.log(e.step,"SFVTPV[]")}function jh(e){var t=e.stack,r=t.pop(),n=t.pop(),s=t.pop(),a=t.pop(),o=t.pop(),i=e.z0,l=e.z1,c=i[r],u=i[n],h=l[s],f=l[a],p=e.z2[o];exports.DEBUG&&console.log("ISECT[], ",r,n,s,a,o);var x=c.x,O=c.y,w=u.x,g=u.y,y=h.x,S=h.y,E=f.x,_=f.y,K=(x-w)*(S-_)-(O-g)*(y-E),H=x*g-O*w,L=y*_-S*E;p.x=(H*(y-E)-L*(x-w))/K,p.y=(H*(S-_)-L*(O-g))/K}function qh(e){e.rp0=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP0[]",e.rp0)}function Xh(e){e.rp1=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP1[]",e.rp1)}function Kh(e){e.rp2=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP2[]",e.rp2)}function Yh(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP0[]",t),e.zp0=t,t){case 0:e.tZone||$n(e),e.z0=e.tZone;break;case 1:e.z0=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Jh(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP1[]",t),e.zp1=t,t){case 0:e.tZone||$n(e),e.z1=e.tZone;break;case 1:e.z1=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Qh(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP2[]",t),e.zp2=t,t){case 0:e.tZone||$n(e),e.z2=e.tZone;break;case 1:e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function ep(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZPS[]",t),e.zp0=e.zp1=e.zp2=t,t){case 0:e.tZone||$n(e),e.z0=e.z1=e.z2=e.tZone;break;case 1:e.z0=e.z1=e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function tp(e){e.loop=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SLOOP[]",e.loop)}function rp(e){exports.DEBUG&&console.log(e.step,"RTG[]"),e.round=Yl}function np(e){exports.DEBUG&&console.log(e.step,"RTHG[]"),e.round=Bh}function sp(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SMD[]",t),e.minDis=t/64}function ap(e){exports.DEBUG&&console.log(e.step,"ELSE[]"),Ql(e,!1)}function op(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"JMPR[]",t),e.ip+=t-1}function ip(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCVTCI[]",t),e.cvCutIn=t/64}function lp(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DUP[]"),t.push(t[t.length-1])}function hs(e){exports.DEBUG&&console.log(e.step,"POP[]"),e.stack.pop()}function up(e){exports.DEBUG&&console.log(e.step,"CLEAR[]"),e.stack.length=0}function cp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SWAP[]"),t.push(r),t.push(n)}function fp(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DEPTH[]"),t.push(t.length)}function hp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LOOPCALL[]",r,n);var s=e.ip,a=e.prog;e.prog=e.funcs[r];for(var o=0;o1?"loop "+(t.loop-i)+": ":"")+"SHP["+(e?"rp1":"rp2")+"]",c)}t.loop=1}function Io(e,t){var r=t.stack,n=e?t.rp1:t.rp2,s=(e?t.z0:t.z1)[n],a=t.fv,o=t.pv,i=r.pop(),l=t.z2[t.contours[i]],c=l;exports.DEBUG&&console.log(t.step,"SHC["+e+"]",i);var u=o.distance(s,s,!1,!0);do c!==s&&a.setRelative(c,c,u,o),c=c.nextPointOnContour;while(c!==l)}function Ao(e,t){var r=t.stack,n=e?t.rp1:t.rp2,s=(e?t.z0:t.z1)[n],a=t.fv,o=t.pv,i=r.pop();exports.DEBUG&&console.log(t.step,"SHZ["+e+"]",i);var l;switch(i){case 0:l=t.tZone;break;case 1:l=t.gZone;break;default:throw new Error("Invalid zone")}for(var c,u=o.distance(s,s,!1,!0),h=l.length-2,f=0;f1?"loop "+(e.loop-r)+": ":"")+"SHPIX[]",o,s),n.setRelative(i,i,s),n.touch(i)}e.loop=1}function xp(e){for(var t=e.stack,r=e.rp1,n=e.rp2,s=e.loop,a=e.z0[r],o=e.z1[n],i=e.fv,l=e.dpv,c=e.z2;s--;){var u=t.pop(),h=c[u];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-s)+": ":"")+"IP[]",u,r,"<->",n),i.interpolate(h,a,o,l),i.touch(h)}e.loop=1}function Mo(e,t){var r=t.stack,n=r.pop()/64,s=r.pop(),a=t.z1[s],o=t.z0[t.rp0],i=t.fv,l=t.pv;i.setRelative(a,o,n,l),i.touch(a),exports.DEBUG&&console.log(t.step,"MSIRP["+e+"]",n,s),t.rp1=t.rp0,t.rp2=s,e&&(t.rp0=s)}function yp(e){for(var t=e.stack,r=e.rp0,n=e.z0[r],s=e.loop,a=e.fv,o=e.pv,i=e.z1;s--;){var l=t.pop(),c=i[l];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-s)+": ":"")+"ALIGNRP[]",l),a.setRelative(c,n,0,o),a.touch(c)}e.loop=1}function bp(e){exports.DEBUG&&console.log(e.step,"RTDG[]"),e.round=Dh}function Po(e,t){var r=t.stack,n=r.pop(),s=r.pop(),a=t.z0[s],o=t.fv,i=t.pv,l=t.cvt[n];exports.DEBUG&&console.log(t.step,"MIAP["+e+"]",n,"(",l,")",s);var c=i.distance(a,qr);e&&(Math.abs(c-l)",i),t.stack.push(Math.round(i*64))}function Ep(e){exports.DEBUG&&console.log(e.step,"MPPEM[]"),e.stack.push(e.ppem)}function Op(e){exports.DEBUG&&console.log(e.step,"FLIPON[]"),e.autoFlip=!0}function Up(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LT[]",r,n),t.push(nr?1:0)}function Rp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"GTEQ[]",r,n),t.push(n>=r?1:0)}function Ip(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"EQ[]",r,n),t.push(r===n?1:0)}function Ap(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"NEQ[]",r,n),t.push(r!==n?1:0)}function Mp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ODD[]",r),t.push(Math.trunc(r)%2?1:0)}function Pp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"EVEN[]",r),t.push(Math.trunc(r)%2?0:1)}function Dp(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"IF[]",t),t||(Ql(e,!0),exports.DEBUG&&console.log(e.step,"EIF[]"))}function Bp(e){exports.DEBUG&&console.log(e.step,"EIF[]")}function Np(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"AND[]",r,n),t.push(r&&n?1:0)}function Gp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"OR[]",r,n),t.push(r||n?1:0)}function Hp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NOT[]",r),t.push(r?0:1)}function ps(e,t){var r=t.stack,n=r.pop(),s=t.fv,a=t.pv,o=t.ppem,i=t.deltaBase+(e-1)*16,l=t.deltaShift,c=t.z0;exports.DEBUG&&console.log(t.step,"DELTAP["+e+"]",n,r);for(var u=0;u>4);if(p===o){var x=(f&15)-8;x>=0&&x++,exports.DEBUG&&console.log(t.step,"DELTAPFIX",h,"by",x*l);var O=c[h];s.setRelative(O,O,x*l,a)}}}function zp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"SDB[]",r),e.deltaBase=r}function Vp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"SDS[]",r),e.deltaShift=Math.pow(.5,r)}function Wp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"ADD[]",r,n),t.push(n+r)}function Zp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SUB[]",r,n),t.push(n-r)}function $p(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"DIV[]",r,n),t.push(n*64/r)}function jp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MUL[]",r,n),t.push(n*r/64)}function qp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ABS[]",r),t.push(Math.abs(r))}function Xp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NEG[]",r),t.push(-r)}function Kp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"FLOOR[]",r),t.push(Math.floor(r/64)*64)}function Yp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"CEILING[]",r),t.push(Math.ceil(r/64)*64)}function hn(e,t){var r=t.stack,n=r.pop();exports.DEBUG&&console.log(t.step,"ROUND[]"),r.push(t.round(n/64)*64)}function Jp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"WCVTF[]",r,n),e.cvt[n]=r*e.ppem/e.font.unitsPerEm}function ds(e,t){var r=t.stack,n=r.pop(),s=t.ppem,a=t.deltaBase+(e-1)*16,o=t.deltaShift;exports.DEBUG&&console.log(t.step,"DELTAC["+e+"]",n,r);for(var i=0;i>4);if(u===s){var h=(c&15)-8;h>=0&&h++;var f=h*o;exports.DEBUG&&console.log(t.step,"DELTACFIX",l,"by",f),t.cvt[l]+=f}}}function Qp(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SROUND[]",t),e.round=Jl;var r;switch(t&192){case 0:r=.5;break;case 64:r=1;break;case 128:r=2;break;default:throw new Error("invalid SROUND value")}switch(e.srPeriod=r,t&48){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*r;break;case 32:e.srPhase=.5*r;break;case 48:e.srPhase=.75*r;break;default:throw new Error("invalid SROUND value")}t&=15,t===0?e.srThreshold=0:e.srThreshold=(t/8-.5)*r}function e2(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"S45ROUND[]",t),e.round=Jl;var r;switch(t&192){case 0:r=Math.sqrt(2)/2;break;case 64:r=Math.sqrt(2);break;case 128:r=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(e.srPeriod=r,t&48){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*r;break;case 32:e.srPhase=.5*r;break;case 48:e.srPhase=.75*r;break;default:throw new Error("invalid S45ROUND value")}t&=15,t===0?e.srThreshold=0:e.srThreshold=(t/8-.5)*r}function t2(e){exports.DEBUG&&console.log(e.step,"ROFF[]"),e.round=Ph}function r2(e){exports.DEBUG&&console.log(e.step,"RUTG[]"),e.round=Nh}function n2(e){exports.DEBUG&&console.log(e.step,"RDTG[]"),e.round=Gh}function s2(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANCTRL[]",t)}function No(e,t){var r=t.stack,n=r.pop(),s=r.pop(),a=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log(t.step,"SDPVTL["+e+"]",n,s);var i,l;e?(i=a.y-o.y,l=o.x-a.x):(i=o.x-a.x,l=o.y-a.y),t.dpv=tn(i,l)}function a2(e){var t=e.stack,r=t.pop(),n=0;exports.DEBUG&&console.log(e.step,"GETINFO[]",r),r&1&&(n=35),r&32&&(n|=4096),t.push(n)}function o2(e){var t=e.stack,r=t.pop(),n=t.pop(),s=t.pop();exports.DEBUG&&console.log(e.step,"ROLL[]"),t.push(n),t.push(r),t.push(s)}function i2(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MAX[]",r,n),t.push(Math.max(n,r))}function l2(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MIN[]",r,n),t.push(Math.min(n,r))}function u2(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANTYPE[]",t)}function c2(e){var t=e.stack.pop(),r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"INSTCTRL[]",t,r),t){case 1:e.inhibitGridFit=!!r;return;case 2:e.ignoreCvt=!!r;return;default:throw new Error("invalid INSTCTRL[] selector")}}function Lt(e,t){var r=t.stack,n=t.prog,s=t.ip;exports.DEBUG&&console.log(t.step,"PUSHB["+e+"]");for(var a=0;a=0?1:-1,w=Math.abs(w),e&&(y=a.cvt[i],n&&Math.abs(w-y)":"_")+(n?"R":"_")+(s===0?"Gr":s===1?"Bl":s===2?"Wh":"")+"]",e?i+"("+a.cvt[i]+","+y+")":"",l,"(d =",O,"->",g*w,")"),a.rp1=a.rp0,a.rp2=l,t&&(a.rp0=l)}ql=[Co.bind(void 0,wt),Co.bind(void 0,pt),ko.bind(void 0,wt),ko.bind(void 0,pt),Eo.bind(void 0,wt),Eo.bind(void 0,pt),Oo.bind(void 0,0),Oo.bind(void 0,1),Uo.bind(void 0,0),Uo.bind(void 0,1),zh,Vh,Wh,Zh,$h,jh,qh,Xh,Kh,Yh,Jh,Qh,ep,tp,rp,np,sp,ap,op,ip,void 0,void 0,lp,hs,up,cp,fp,dp,vp,void 0,void 0,void 0,hp,pp,gp,void 0,_o.bind(void 0,0),_o.bind(void 0,1),Lo.bind(void 0,wt),Lo.bind(void 0,pt),Ro.bind(void 0,0),Ro.bind(void 0,1),Io.bind(void 0,0),Io.bind(void 0,1),Ao.bind(void 0,0),Ao.bind(void 0,1),mp,xp,Mo.bind(void 0,0),Mo.bind(void 0,1),yp,bp,Po.bind(void 0,0),Po.bind(void 0,1),Sp,wp,Tp,Fp,Cp,kp,Do.bind(void 0,0),Do.bind(void 0,1),void 0,Bo.bind(void 0,0),Bo.bind(void 0,1),Ep,void 0,Op,void 0,void 0,Up,_p,Lp,Rp,Ip,Ap,Mp,Pp,Dp,Bp,Np,Gp,Hp,ps.bind(void 0,1),zp,Vp,Wp,Zp,$p,jp,qp,Xp,Kp,Yp,hn.bind(void 0,0),hn.bind(void 0,1),hn.bind(void 0,2),hn.bind(void 0,3),void 0,void 0,void 0,void 0,Jp,ps.bind(void 0,2),ps.bind(void 0,3),ds.bind(void 0,1),ds.bind(void 0,2),ds.bind(void 0,3),Qp,e2,void 0,void 0,t2,void 0,r2,n2,hs,hs,void 0,void 0,void 0,void 0,void 0,s2,No.bind(void 0,0),No.bind(void 0,1),a2,void 0,o2,i2,l2,u2,c2,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,Lt.bind(void 0,1),Lt.bind(void 0,2),Lt.bind(void 0,3),Lt.bind(void 0,4),Lt.bind(void 0,5),Lt.bind(void 0,6),Lt.bind(void 0,7),Lt.bind(void 0,8),Rt.bind(void 0,1),Rt.bind(void 0,2),Rt.bind(void 0,3),Rt.bind(void 0,4),Rt.bind(void 0,5),Rt.bind(void 0,6),Rt.bind(void 0,7),Rt.bind(void 0,8),Z.bind(void 0,0,0,0,0,0),Z.bind(void 0,0,0,0,0,1),Z.bind(void 0,0,0,0,0,2),Z.bind(void 0,0,0,0,0,3),Z.bind(void 0,0,0,0,1,0),Z.bind(void 0,0,0,0,1,1),Z.bind(void 0,0,0,0,1,2),Z.bind(void 0,0,0,0,1,3),Z.bind(void 0,0,0,1,0,0),Z.bind(void 0,0,0,1,0,1),Z.bind(void 0,0,0,1,0,2),Z.bind(void 0,0,0,1,0,3),Z.bind(void 0,0,0,1,1,0),Z.bind(void 0,0,0,1,1,1),Z.bind(void 0,0,0,1,1,2),Z.bind(void 0,0,0,1,1,3),Z.bind(void 0,0,1,0,0,0),Z.bind(void 0,0,1,0,0,1),Z.bind(void 0,0,1,0,0,2),Z.bind(void 0,0,1,0,0,3),Z.bind(void 0,0,1,0,1,0),Z.bind(void 0,0,1,0,1,1),Z.bind(void 0,0,1,0,1,2),Z.bind(void 0,0,1,0,1,3),Z.bind(void 0,0,1,1,0,0),Z.bind(void 0,0,1,1,0,1),Z.bind(void 0,0,1,1,0,2),Z.bind(void 0,0,1,1,0,3),Z.bind(void 0,0,1,1,1,0),Z.bind(void 0,0,1,1,1,1),Z.bind(void 0,0,1,1,1,2),Z.bind(void 0,0,1,1,1,3),Z.bind(void 0,1,0,0,0,0),Z.bind(void 0,1,0,0,0,1),Z.bind(void 0,1,0,0,0,2),Z.bind(void 0,1,0,0,0,3),Z.bind(void 0,1,0,0,1,0),Z.bind(void 0,1,0,0,1,1),Z.bind(void 0,1,0,0,1,2),Z.bind(void 0,1,0,0,1,3),Z.bind(void 0,1,0,1,0,0),Z.bind(void 0,1,0,1,0,1),Z.bind(void 0,1,0,1,0,2),Z.bind(void 0,1,0,1,0,3),Z.bind(void 0,1,0,1,1,0),Z.bind(void 0,1,0,1,1,1),Z.bind(void 0,1,0,1,1,2),Z.bind(void 0,1,0,1,1,3),Z.bind(void 0,1,1,0,0,0),Z.bind(void 0,1,1,0,0,1),Z.bind(void 0,1,1,0,0,2),Z.bind(void 0,1,1,0,0,3),Z.bind(void 0,1,1,0,1,0),Z.bind(void 0,1,1,0,1,1),Z.bind(void 0,1,1,0,1,2),Z.bind(void 0,1,1,0,1,3),Z.bind(void 0,1,1,1,0,0),Z.bind(void 0,1,1,1,0,1),Z.bind(void 0,1,1,1,0,2),Z.bind(void 0,1,1,1,0,3),Z.bind(void 0,1,1,1,1,0),Z.bind(void 0,1,1,1,1,1),Z.bind(void 0,1,1,1,1,2),Z.bind(void 0,1,1,1,1,3)];function xr(e){this.char=e,this.state={},this.activeState=null}function da(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function f2(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function et(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function jn(e){this.eventId=e,this.subscribers=[]}function h2(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach(function(s){Object.defineProperty(t.events,s,{value:new jn(s)})}),e&&r.forEach(function(s){var a=e[s];typeof a=="function"&&t.events[s].subscribe(a)});var n=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];n.forEach(function(s){t.events[s].subscribe(t.updateContextsRanges)})}function ke(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],h2.call(this,e)}xr.prototype.setState=function(e,t){return this.state[e]=t,this.activeState={key:e,value:this.state[e]},this.activeState};xr.prototype.getState=function(e){return this.state[e]||null};ke.prototype.inboundIndex=function(e){return e>=0&&e0&&e<=this.lookahead.length):return this.lookahead[e-1];default:return null}};ke.prototype.rangeToText=function(e){if(e instanceof da)return this.getRangeTokens(e).map(function(t){return t.char}).join("")};ke.prototype.getText=function(){return this.tokens.map(function(e){return e.char}).join("")};ke.prototype.getContext=function(e){var t=this.registeredContexts[e];return t||null};ke.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null};ke.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof jn&&n.subscribers.forEach(function(s){s.apply(r,t||[])})};ke.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if(typeof t!="function")return{FAIL:"missing context start check."};if(typeof r!="function")return{FAIL:"missing context end check."};var n=new f2(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n};ke.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))};ke.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}};ke.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];r.ranges=[]}};ke.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map(function(n){return n.char}),t=0;t=s.start&&e<=s.end){var a=e-s.start;return s.index+a}}break;default:return-1}return-1}function d2(e,t){var r=rn(e,t.coverage);return r===-1?null:e+t.deltaGlyphId}function v2(e,t){var r=rn(e,t.coverage);return r===-1?null:t.substitute[r]}function vs(e,t){for(var r=[],n=0;n=0;r--){var n=t[r],s=e0(n),a=Wt(n);if(!s&&!a)return!0;if(s)return!1}return!1}function _2(e){if(e0(e.current))return!1;for(var t=0;t0}r("fontFamily"),r("weightName"),r("manufacturer"),r("copyright"),r("version"),this.unitsPerEm>0};ye.prototype.toTables=function(){return Oh.fontToTable(this)};ye.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()};ye.prototype.toArrayBuffer=function(){for(var e=this.toTables(),t=e.encode(),r=new ArrayBuffer(t.length),n=new Uint8Array(r),s=0;s=1.2&&(s.markGlyphSets=r.parsePointer(Q2)),s}var td={parse:ed},tt=new Array(10);tt[1]=function(){var t=this.offset+this.relativeOffset,r=this.parseUShort();if(r===1)return{posFormat:1,coverage:this.parsePointer(b.coverage),value:this.parseValueRecord()};if(r===2)return{posFormat:2,coverage:this.parsePointer(b.coverage),values:this.parseValueRecordList()};J.assert(!1,"0x"+t.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")};tt[2]=function(){var t=this.offset+this.relativeOffset,r=this.parseUShort();J.assert(r===1||r===2,"0x"+t.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var n=this.parsePointer(b.coverage),s=this.parseUShort(),a=this.parseUShort();if(r===1)return{posFormat:r,coverage:n,valueFormat1:s,valueFormat2:a,pairSets:this.parseList(b.pointer(b.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(s),value2:this.parseValueRecord(a)}})))};if(r===2){var o=this.parsePointer(b.classDef),i=this.parsePointer(b.classDef),l=this.parseUShort(),c=this.parseUShort();return{posFormat:r,coverage:n,valueFormat1:s,valueFormat2:a,classDef1:o,classDef2:i,class1Count:l,class2Count:c,classRecords:this.parseList(l,b.list(c,function(){return{value1:this.parseValueRecord(s),value2:this.parseValueRecord(a)}}))}}};tt[3]=function(){return{error:"GPOS Lookup 3 not supported"}};tt[4]=function(){return{error:"GPOS Lookup 4 not supported"}};tt[5]=function(){return{error:"GPOS Lookup 5 not supported"}};tt[6]=function(){return{error:"GPOS Lookup 6 not supported"}};tt[7]=function(){return{error:"GPOS Lookup 7 not supported"}};tt[8]=function(){return{error:"GPOS Lookup 8 not supported"}};tt[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function rd(e,t){t=t||0;var r=new b(e,t),n=r.parseVersion(1);return J.argument(n===1||n===1.1,"Unsupported GPOS table version "+n),n===1?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(tt)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(tt),variations:r.parseFeatureVariationsList()}}var nd=new Array(10);function sd(e){return new V.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new V.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new V.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new V.LookupList(e.lookups,nd)}])}var ad={parse:rd,make:sd};function od(e){var t={};e.skip("uShort");var r=e.parseUShort();J.argument(r===0,"Unsupported kern sub-table version."),e.skip("uShort",2);var n=e.parseUShort();e.skip("uShort",3);for(var s=0;s1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var n=e.parseUShort(),s=n&255;if(e.skip("uShort"),s===0){var a=e.parseUShort();e.skip("uShort",3);for(var o=0;o0&&t&&t(Math.round(i/s*100))}const l=o.reduce((h,f)=>h+f.length,0),c=new Uint8Array(l);let u=0;for(const h of o)c.set(h,u),u+=h.length;return pd(c.buffer)}catch(r){throw new Error(`Failed to load font from ${e}: ${r}`)}}const yr=ul("font",()=>{function e(M){try{const z=localStorage.getItem(M);if(!z)return new Set;const B=JSON.parse(z);return Array.isArray(B)?new Set(B.map(String)):new Set}catch{return new Set}}function t(M,z){try{localStorage.setItem(M,JSON.stringify(Array.from(z)))}catch{}}const r=ge([]),n=ge(new Set),s=ge(e("font.favoriteFontIds")),a=ge(e("font.previewFontIds")),o=ge(e("font.expandedCategories")),i=ge([]),l=ge(!1),c=new Map,u=ve(()=>r.value.filter(M=>n.value.has(M.id))),h=ve(()=>r.value.filter(M=>s.value.has(M.id))),f=ve(()=>r.value.filter(M=>a.value.has(M.id))),p=ve(()=>ae(h.value));function x(M){r.value.push(M)}function O(M){const z=r.value.findIndex(B=>B.id===M);z!==-1&&r.value.splice(z,1),n.value.delete(M),s.value.delete(M),t("font.favoriteFontIds",s.value),a.value.delete(M),t("font.previewFontIds",a.value)}function w(M){n.value.add(M)}function g(M){n.value.delete(M)}function y(M){n.value.has(M)?g(M):w(M)}function S(){n.value.clear()}function E(M){const z=r.value.find(B=>B.id===M);z&&(z.isFavorite=!0,s.value.add(M),t("font.favoriteFontIds",s.value))}function _(M){const z=r.value.find(B=>B.id===M);z&&(z.isFavorite=!1,s.value.delete(M),t("font.favoriteFontIds",s.value))}function K(M){s.value.has(M)?_(M):E(M)}function H(M){a.value.add(M),t("font.previewFontIds",a.value)}function L(M){a.value.delete(M),t("font.previewFontIds",a.value)}function P(M){a.value.has(M)?L(M):H(M)}function X(){a.value.clear(),t("font.previewFontIds",a.value)}function q(M,z){const B=new Set(o.value);z?B.add(M):B.delete(M),o.value=B,t("font.expandedCategories",o.value)}async function oe(M){if(M.loaded||!M.path)return;const z=c.get(M.id);if(z){await z;return}const B=(async()=>{try{const W=await dd(M.path,ne=>{M.progress=ne});M.font=W,M.loaded=!0,M.progress=100}catch(W){throw console.error(`Failed to load font ${M.name}:`,W),W}finally{c.delete(M.id)}})();c.set(M.id,B),await B}function ae(M){const z=[],B=new Map;for(const W of M){let ne=B.get(W.category);ne||(ne={name:W.category,type:"category",children:[],expanded:o.value.has(W.category),selected:!1},B.set(W.category,ne),z.push(ne));const me={name:W.name,type:"font",fontInfo:W,expanded:!1,selected:n.value.has(W.id)};ne.children.push(me)}z.sort((W,ne)=>W.name.localeCompare(ne.name,"zh-CN"));for(const W of z)W.children&&W.children.sort((ne,me)=>ne.name.localeCompare(me.name,"zh-CN"));return z}function te(){i.value=ae(r.value)}return{fonts:r,selectedFontIds:n,favoriteFontIds:s,previewFontIds:a,expandedCategoryNames:o,fontTree:i,isLoadingFonts:l,selectedFonts:u,favoriteFonts:h,previewFonts:f,favoriteTree:p,addFont:x,removeFont:O,selectFont:w,unselectFont:g,toggleSelectFont:y,clearSelection:S,favoriteFont:E,unfavoriteFont:_,toggleFavorite:K,addToPreview:H,removeFromPreview:L,togglePreview:P,clearPreview:X,setCategoryExpanded:q,loadFont:oe,updateFontTree:te}});function vd(){const e=yr();async function t(){const n=["/frontend/public/fonts.json","/fonts.json"],s=[];for(const a of n){const o=`${a}?_ts=${Date.now()}`;try{console.log(`Fetching ${o}...`);const i=await fetch(o,{cache:"no-store"});if(console.log(`${a} response:`,i.status,i.statusText),!i.ok){s.push(`${a}: HTTP ${i.status}`);continue}const l=await i.json();if(!Array.isArray(l)){s.push(`${a}: JSON 不是数组`);continue}return l}catch(i){s.push(`${a}: ${i instanceof Error?i.message:String(i)}`)}}throw new Error(s.join(" | "))}async function r(){console.log("Starting to load font list..."),e.isLoadingFonts=!0;try{const n=await t();console.log("Loaded font list:",n.length,"fonts");for(const s of n){const a={id:s.id,name:s.name,path:s.path,category:s.category,isFavorite:!1,loaded:!1,progress:0};e.addFont(a)}e.updateFontTree(),console.log(`Successfully loaded ${n.length} fonts`)}catch(n){console.error("Failed to load font list:",n),alert(`加载字体列表失败:${n instanceof Error?n.message:"未知错误"}`)}finally{e.isLoadingFonts=!1,console.log("Font loading finished")}}return Ri(()=>{console.log("useFontLoader: onMounted called"),r()}),{loadFontList:r}}const r0=ul("ui",()=>{function e(P){return Math.max(10,Math.min(500,P))}const t=(()=>{try{const P=localStorage.getItem("ui.fontSize"),X=P?Number(P):NaN;return Number.isFinite(X)?e(X):100}catch{return 100}})(),r=(()=>{try{return localStorage.getItem("ui.inputText")||""}catch{return""}})(),n=(()=>{try{return localStorage.getItem("ui.textColor")||"#000000"}catch{return"#000000"}})(),s=(()=>{try{const P=localStorage.getItem("ui.selectedExportItems");return P?JSON.parse(P):[]}catch{return[]}})(),a=ge(r),o=ge(t),i=ge(n),l=ge(0),c=ge(!0),u=ge(s),h=ge(!1),f=ge(!0),p=ge(!0);function x(P){a.value=P;try{localStorage.setItem("ui.inputText",P)}catch{}}function O(P){const X=e(P);o.value=X;try{localStorage.setItem("ui.fontSize",String(X))}catch{}}function w(P){i.value=P;try{localStorage.setItem("ui.textColor",P)}catch{}}function g(P){l.value=P}function y(){c.value=!c.value}function S(P){const X=u.value.findIndex(q=>q.fontInfo.id===P.fontInfo.id);X>=0?u.value.splice(X,1):u.value.push(P);try{localStorage.setItem("ui.selectedExportItems",JSON.stringify(u.value))}catch{}}function E(P){const X=u.value.filter(q=>P.has(q.fontInfo.id));if(X.length!==u.value.length){u.value=X;try{localStorage.setItem("ui.selectedExportItems",JSON.stringify(u.value))}catch{}}}function _(){u.value=[];try{localStorage.setItem("ui.selectedExportItems",JSON.stringify([]))}catch{}}function K(P){u.value=[...P];try{localStorage.setItem("ui.selectedExportItems",JSON.stringify(u.value))}catch{}}function H(){f.value=!f.value}function L(){p.value=!p.value}return{inputText:a,fontSize:o,textColor:i,letterSpacing:l,enableLigatures:c,selectedExportItems:u,isExporting:h,isFontSelectorExpanded:f,isFavoritesExpanded:p,setInputText:x,setFontSize:O,setTextColor:w,setLetterSpacing:g,toggleLigatures:y,toggleExportItem:S,retainExportItemsByFontIds:E,clearExportSelection:_,selectAllExportItems:K,toggleFontSelectorExpanded:H,toggleFavoritesExpanded:L}}),tr=45;function Wo(e){return e.replace(/\r\n?/g,` `)}function Zo(e,t=tr){if(t<=0)return Wo(e);const n=Wo(e).split(` `),s=[];for(const a of n){const o=Array.from(a);if(o.length===0){s.push("");continue}for(let i=0;i(t.searchKeyword??"").trim().toLowerCase()),s=ve(()=>n.value.length>0),a=ve(()=>s.value||t.selectedOnly===!0);function o(y){if(y.type!=="category"||!y.children)return[];const S=y.children.filter(K=>K.type==="font"&&!!K.fontInfo),E=t.selectedOnly?S.filter(K=>r.previewFontIds.has(K.fontInfo.id)):S;if(!s.value)return E;const _=n.value;return y.name.toLowerCase().includes(_)?E:E.filter(K=>K.name.toLowerCase().includes(_))}function i(y){return y.type==="category"&&o(y).length>0}function l(y){return a.value?!0:!!y.expanded}function c(y){if(a.value)return;const S=!y.expanded;y.expanded=S,r.setCategoryExpanded(y.name,S)}function u(y,S){S.stopPropagation(),y.type==="font"&&y.fontInfo&&r.togglePreview(y.fontInfo.id)}function h(y,S){S.stopPropagation(),y.type==="font"&&y.fontInfo&&r.toggleFavorite(y.fontInfo.id)}function f(y){return y.type==="font"&&y.fontInfo?r.favoriteFontIds.has(y.fontInfo.id):!1}function p(y){return y.type==="font"&&y.fontInfo?r.previewFontIds.has(y.fontInfo.id):!1}function x(y){return o(y).map(S=>S.fontInfo.id)}function O(y){return o(y).length}function w(y){const S=x(y);return S.length>0&&S.every(E=>r.previewFontIds.has(E))}function g(y,S){S.stopPropagation();const E=x(y);E.length!==0&&(w(y)?E.forEach(_=>r.removeFromPreview(_)):E.forEach(_=>r.addToPreview(_)))}return(y,S)=>(ie(),ce("div",xd,[(ie(!0),ce(Ne,null,Tn(e.nodes,E=>(ie(),ce("div",{key:E.name},[i(E)?(ie(),ce("div",yd,[A("div",bd,[A("div",Sd,[A("button",{onClick:_=>c(E),class:"tree-toggle",disabled:a.value},[l(E)?(ie(),ce("img",{key:0,src:gd,alt:"收起",class:ht(["w-[15px] h-[15px]",{"opacity-70":a.value}])},null,2)):(ie(),ce("img",Td))],8,wd)]),A("div",{onClick:_=>c(E),class:ht(["text-base font-medium text-black flex-1 ml-2",a.value?"cursor-default":"cursor-pointer"])},Ke(E.name)+"("+Ke(O(E))+"字体) ",11,Fd),A("div",Cd,[A("button",{onClick:_=>g(E,_),class:"w-4 h-4 shrink-0 p-0 border-0 bg-transparent cursor-pointer hover:opacity-85 transition-opacity",title:"分类全选/全不选"},[A("img",{src:w(E)?Le(Hs):Le(Gs),alt:"分类全选/全不选",class:"w-full h-full"},null,8,Ed)],8,kd),S[0]||(S[0]=A("div",{class:"w-[18px] h-[17px] shrink-0","aria-hidden":"true"},null,-1))])]),l(E)&&o(E).length>0?(ie(),ce("div",Od)):Nt("",!0),l(E)&&o(E).length>0?(ie(),ce("div",Ud,[(ie(!0),ce(Ne,null,Tn(o(E),_=>(ie(),ce("div",{key:_.name,class:"flex items-center gap-2 border-b border-[#c9cdd4] pb-2 relative"},[S[1]||(S[1]=A("div",{class:"tree-horizontal-line"},null,-1)),S[2]||(S[2]=A("div",{class:"w-4 h-4 shrink-0 ml-[17px]"},[A("img",{src:n0,alt:"font",class:"w-full h-full"})],-1)),A("div",_d,Ke(_.name),1),A("button",{onClick:K=>u(_,K),class:ht(["w-[18px] h-[18px] shrink-0 border rounded-full flex items-center justify-center p-0 bg-transparent",p(_)?"bg-[#9b6bc2] border-[#9b6bc2]":"border-[#c9cdd4]"])},[p(_)?(ie(),ce("img",Rd)):Nt("",!0)],10,Ld),A("button",{onClick:K=>h(_,K),class:"w-[18px] h-[17px] shrink-0 p-0 border-0 bg-transparent"},[A("img",{src:s0,alt:"收藏",class:ht(["w-full h-full",f(_)?"favorite-active":""])},null,2)],8,Id)]))),128))])):Nt("",!0)])):Nt("",!0)]))),128))]))}}),qn=(e,t)=>{const r=e.__vccOpts||e;for(const[n,s]of t)r[n]=s;return r},Md=qn(Ad,[["__scopeId","data-v-1709e607"]]),Pd="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20fill='none'%20viewBox='0%200%2032%2032'%3e%3crect%20width='32'%20height='32'%20fill='%238552A1'%20rx='10'%20transform='matrix(-1%200%200%201%2032%200)'/%3e%3cpath%20fill='%23FEFDFE'%20d='m24.845%2022.204-5.101-5.105-2.64%202.64%205.105%205.104a1.085%201.085%200%200%200%201.527%200l1.108-1.108a1.09%201.09%200%200%200%200-1.531ZM17.22%2018.6l1.382-1.382-1.576-1.576a5.512%205.512%200%200%200-.63-7.032%205.51%205.51%200%200%200-7.785%200c-2.15%202.146-2.146%205.635%200%207.785a5.512%205.512%200%200%200%207.033.63l1.575%201.576Zm-7.541-3.288a3.983%203.983%200%200%201%200-5.635%203.983%203.983%200%200%201%205.635%200%203.983%203.983%200%200%201%200%205.635%203.983%203.983%200%200%201-5.635%200Z'/%3e%3c/svg%3e",Dd={class:"space-y-2 pb-1"},Bd={class:"sticky top-0 z-10 bg-white pt-1 pb-1"},Nd={class:"flex items-center gap-3"},Gd={class:"flex-1 min-w-0"},Hd={class:"h-8 rounded-[10px] bg-[#F3EDF7] pl-2 flex items-center"},zd={type:"button",class:"w-8 h-8 shrink-0 p-0 border-0 bg-transparent flex items-center justify-center","aria-hidden":"true"},Vd=["src"],Wd={key:0,class:"text-sm text-gray-500 text-center py-8"},$o=Kr({__name:"FontSelector",setup(e){const t=yr(),r=ge(""),n=ve(()=>t.fontTree),s=ve(()=>r.value.trim().toLowerCase()),a=ve(()=>{const u=s.value;return u.includes("选中")||u.includes("选择")||u.includes("已选")||u.includes("xuan")}),o=ve(()=>a.value?"":s.value),i=ve(()=>s.value.length>0);function l(u){if(u.type!=="category")return!1;const h=(u.children??[]).filter(x=>x.type==="font"&&!!x.fontInfo),f=a.value?h.filter(x=>!!x.fontInfo&&t.previewFontIds.has(x.fontInfo.id)):h;if(o.value.length===0)return f.length>0;const p=o.value;return u.name.toLowerCase().includes(p)?f.length>0:f.some(x=>x.name.toLowerCase().includes(p))}const c=ve(()=>i.value?n.value.some(u=>l(u)):n.value.length>0);return(u,h)=>(ie(),ce("div",Dd,[A("div",Bd,[A("div",Nd,[h[1]||(h[1]=A("div",{class:"text-[16px] leading-none text-black font-bold shrink-0"}," 选择字体 ",-1)),A("div",Gd,[A("div",Hd,[lr(A("input",{"onUpdate:modelValue":h[0]||(h[0]=f=>r.value=f),type:"text",placeholder:"输入搜索字体名称","aria-label":"字体搜索",class:"flex-1 min-w-0 bg-transparent border-none outline-none text-[14px] text-black placeholder-[#a2a0a9]"},null,512),[[kc,r.value]]),A("button",zd,[A("img",{src:Le(Pd),alt:"",class:"w-[24px] h-[24px]"},null,8,Vd)])])])])]),c.value?(ie(),Ji(Md,{key:1,nodes:n.value,"search-keyword":o.value,"selected-only":a.value},null,8,["nodes","search-keyword","selected-only"])):(ie(),ce("div",Wd,Ke(i.value?"未找到匹配字体":"暂无字体"),1))]))}}),Zd={class:"space-y-2"},$d={key:0,class:"text-sm text-gray-500 text-center py-8"},jd={key:1,class:"flex flex-col gap-3 favorite-indent"},qd={class:"flex-1 text-xs text-[#86909c]"},Xd=["onClick"],Kd={key:0,src:ma,alt:"选中",class:"w-[11px] h-[9px]"},Yd=["onClick"],Jd=Kr({__name:"FavoritesList",setup(e){const t=yr(),r=ve(()=>t.favoriteFonts);function n(i,l){l.stopPropagation(),t.togglePreview(i)}function s(i,l){l.stopPropagation(),t.toggleFavorite(i)}function a(i){return t.favoriteFontIds.has(i)}function o(i){return t.previewFontIds.has(i)}return(i,l)=>(ie(),ce("div",Zd,[r.value.length===0?(ie(),ce("div",$d," 暂无收藏字体 ")):(ie(),ce("div",jd,[(ie(!0),ce(Ne,null,Tn(r.value,c=>(ie(),ce("div",{key:c.id,class:"flex items-center gap-2 border-b border-[#c9cdd4] pb-2"},[l[0]||(l[0]=A("div",{class:"w-4 h-4 shrink-0"},[A("img",{src:n0,alt:"font",class:"w-full h-full"})],-1)),A("div",qd,Ke(c.name),1),A("button",{onClick:u=>n(c.id,u),class:ht(["w-[18px] h-[18px] shrink-0 border rounded-full flex items-center justify-center p-0 bg-transparent",o(c.id)?"bg-[#9b6bc2] border-[#9b6bc2]":"border-[#c9cdd4]"])},[o(c.id)?(ie(),ce("img",Kd)):Nt("",!0)],10,Xd),A("button",{onClick:u=>s(c.id,u),class:"w-[18px] h-[17px] shrink-0 p-0 border-0 bg-transparent"},[A("img",{src:s0,alt:"收藏",class:ht(["w-full h-full",a(c.id)?"favorite-active":""])},null,2)],8,Yd)]))),128))]))]))}}),jo=qn(Jd,[["__scopeId","data-v-e8bbd3fa"]]),Qd="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='10'%20height='10'%20fill='none'%20viewBox='0%200%2010%2010'%3e%3cpath%20fill='%230079F5'%20d='M7.432%209.596H2.164A2.165%202.165%200%200%201%200%207.432V2.164C0%20.97.97%200%202.164%200h5.268c1.195%200%202.164.97%202.164%202.164v5.268c0%201.195-.97%202.164-2.164%202.164Z'/%3e%3cpath%20fill='%23fff'%20d='M6.24%202.982a.36.36%200%200%200-.662%200l-1.272%202.98a.24.24%200%201%200%20.444.186l.147-.352a.813.813%200%200%201%20.75-.501h.524c.328%200%20.624.198.75.5l.147.353a.24.24%200%201%200%20.444-.187L6.24%202.982Zm.058%201.312a.42.42%200%201%201-.776.324.42.42%200%200%201%20.776-.324Zm-3.01-.587a.253.253%200%200%200-.465%200l-.774%201.814a.18.18%200%201%200%20.333.14l.08-.194a.495.495%200%200%201%20.457-.305h.273c.2%200%20.38.12.457.305l.08.194a.18.18%200%201%200%20.333-.14l-.774-1.814ZM3.055%204.84a.222.222%200%201%201%200-.443.222.222%200%200%201%200%20.443Z'/%3e%3c/svg%3e",e1="/api/render-svg",t1=3e4;function r1(){if(typeof window<"u"){const e=window.__FONT2SVG_API_URL__;if(typeof e=="string"&&e.trim())return e.trim()}return e1}function n1(e){if(!e||typeof e!="object")throw new Error("渲染服务返回格式无效");const t=typeof e.svg=="string"?e.svg:"";if(!t.trim())throw new Error("渲染服务未返回有效 SVG");return{svg:t,width:Number(e.width)||0,height:Number(e.height)||0,fontName:e.fontName||"Unknown",fontId:e.fontId||""}}function s1(e){const t=String(e.fontId||"").trim(),r=String(e.text||"");if(!t)throw new Error("缺少字体 ID");if(!r.trim())throw new Error("文本内容不能为空");return{fontId:t,text:r,fontSize:Number(e.fontSize)||120,fillColor:e.fillColor||"#000000",letterSpacing:Number(e.letterSpacing)||0,maxCharsPerLine:Number(e.maxCharsPerLine)||tr}}async function a0(e){const t=s1(e),r=new AbortController,n=setTimeout(()=>r.abort(),t1);let s;try{s=await fetch(r1(),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t),signal:r.signal})}catch(o){throw o instanceof DOMException&&o.name==="AbortError"?new Error("渲染服务请求超时"):new Error(`渲染服务请求失败:${o instanceof Error?o.message:String(o)}`)}finally{clearTimeout(n)}let a=null;try{a=await s.json()}catch{a=null}if(!s.ok){const o=a&&typeof a.error=="string"&&a.error.trim()?a.error:`渲染服务请求失败(HTTP ${s.status})`;throw new Error(o)}if(!a||!a.ok)throw new Error(a&&a.error||"渲染服务返回错误");return n1(a.data)}const a1=Object.freeze(Object.defineProperty({__proto__:null,renderSvgByApi:a0},Symbol.toStringTag,{value:"Module"})),o1={class:"flex flex-col gap-2"},i1={key:0,class:"text-[#86909c] text-center py-20"},l1={key:1,class:"flex flex-col gap-2"},u1={class:"flex items-center gap-[8px] border-b border-[#c9cdd4] pb-[8px] pr-[8px]"},c1={class:"flex-1 text-xs text-[#86909c]"},f1=["onClick"],h1={key:0,src:ma,alt:"选中",class:"w-[11px] h-[9px]"},p1=["onClick"],d1=["innerHTML"],v1={key:0,class:"text-xs text-[#86909c] text-center py-2"},g1=240,m1=4,x1=600,ms=20,y1=10,Er=120,b1=Kr({__name:"SvgPreview",setup(e,{expose:t}){const r=yr(),n=r0(),s=ge([]),a=ge(!1),o=ge(!1),i=ge([]),l=ge(0),c=ge(0),u=ge(null),h=ge(""),f=ve(()=>r.previewFonts),p=ve(()=>n.inputText),x=ve(()=>n.fontSize),O=ve(()=>n.textColor);let w=null,g=0,y=!1,S=null,E=null;const _=new Map,K=ve(()=>s.value.length>0&&s.value.every(v=>v.selected)),H=ve(()=>c.values.value.slice(0,c.value)),P=ve(()=>p.value.trim()!==""&&i.value.length>0),X=ve(()=>!H.value||L.value.length<=0?-1:Math.max(0,L.value.length-y1));function q(v){return v!==g}function oe(v=!0){if(w!==null&&(clearTimeout(w),w=null),!v){C();return}w=setTimeout(()=>{w=null,C()},g1)}function ae(v){let T=v.parentElement;for(;T;){const k=window.getComputedStyle(T).overflowY;if((k==="auto"||k==="scroll")&&T.scrollHeight>T.clientHeight)return T;T=T.parentElement}return null}function te(){S&&(S.disconnect(),S=null)}function M(){if(te(),!H.value||!u.value)return;const v=ae(u.value);S=new IntersectionObserver(T=>{T.some(k=>k.isIntersecting)&&m()},{root:v,threshold:.01}),S.observe(u.value)}function z(v,T){T===X.value&&(u.value=v instanceof HTMLElement?v:null)}function B(v,T="#000000"){const F=String(v||"").trim();return/^#[0-9a-fA-F]{6}$/.test(F)?F:T}function W(v,T=Er){return Number.isFinite(v)?Math.max(1,Math.min(2048,Math.round(v))):T}function ne(v){return Number(v).toFixed(2).replace(/\.?0+$/,"")}function me(v,T){const F=B(T);return v?/]*\sfill="[^"]*"/.test(v)?v.replace(/(]*\sfill=")[^"]*(")/,`$1${F}$2`):v.replace(/]*)>/,``):""}function le(v,T){return!v||!Number.isFinite(T)||T<=0?v:v.replace(/width="([0-9]+(?:\.[0-9]+)?)"/,(F,k)=>{const U=Number(k)*T;return`width="${ne(U)}"`}).replace(/height="([0-9]+(?:\.[0-9]+)?)"/,(F,k)=>{const U=Number(k)*T;return`height="${ne(U)}"`})}function pe(v,T,F,k){const U=Number.isFinite(F)?F.toFixed(4):"0.0000";return[v,U,String(k),T].join("::")}function Ut(v){return pe(v.id,String(p.value||""),Number(n.letterSpacing)||0,tr)}function br(v){const T=_.get(v);return T?(_.delete(v),_.set(v,T),T):null}function Sr(v,T){for(_.has(v)&&_.delete(v),_.set(v,T);_.size>x1;){const F=_.keys().next().value;if(F===void 0)break;_.delete(F)}}function Xe(v){const T=W(Number(x.value),Er),F=Number(v.renderFontSize)>0?Number(v.renderFontSize):Er,k=T/F;return{svg:le(me(v.baseSvg,O.value),k),width:Number(v.baseWidth)>0?Number(v.baseWidth)*k:0,height:Number(v.baseHeight)>0?Number(v.baseHeight)*k:0,fontName:v.svgResult.fontName||v.fontInfo.name}}function st(v){return{...v,svgResult:Xe(v)}}function at(){s.value.length!==0&&(s.value=s.value.map(v=>st(v)))}async function nn(v){const T=Ut(v),F=br(T);if(F)return F;const k=await a0({fontId:v.id,text:p.value,fontSize:Er,fillColor:"#000000",letterSpacing:Number(n.letterSpacing)||0,maxCharsPerLine:tr}),U={svg:k.svg,width:k.width,height:k.height,fontName:k.fontName||v.name,renderFontSize:Er};return Sr(T,U),U}async function _t(v,T,F,k){const U=Math.min(T+F,v.length),j=v.slice(T,U);if(j.length===0)return{items:[],errors:[]};const N=new Set(n.selectedExportItems.map(we=>we.fontInfo.id)),G=new Array(j.length).fill(null),Y=Math.min(m1,j.length);let se=0;const ue=[],he=async()=>{for(;;){if(q(k))return;const we=se;if(se+=1,we>=j.length)return;const Te=j[we];if(Te)try{const Fe=await nn(Te);if(!Fe||q(k))continue;const Be={fontInfo:Te,selected:N.has(Te.id),baseSvg:Fe.svg,baseWidth:Fe.width,baseHeight:Fe.height,renderFontSize:Fe.renderFontSize,svgResult:{svg:"",width:0,height:0,fontName:Fe.fontName||Te.name}};G[we]=st(Be)}catch(Fe){const Be=Fe instanceof Error?Fe.message:String(Fe);console.error(`Failed to render preview for ${Te.name}:`,Fe),ue.push(`${Te.name}: ${Be}`)}}};return await Promise.all(Array.from({length:Y},()=>he())),q(k)?{items:[],errors:[]}:{items:G.filter(we=>we!==null),errors:ue}}async function wr(v){if(q(v))return;if(o.value){if(E===v)return;o.value=!1,E=null}const T=l.value;if(!(T>=i.value.length)){o.value=!0,E=v;try{const F=await _t(i.value,T,ms,v);if(q(v))return;l.value=Math.min(T+ms,i.value.length);const k=new Set(s.value.map(j=>j.fontInfo.id)),U=F.items.filter(j=>!k.has(j.fontInfo.id));s.value=[...s.value,...U],c.value=Math.min(c.value+U.length,s.value.length),F.errors.length>0&&s.value.length===0?h.value=`预览生成失败:${F.errors[0]}`:s.value.length>0&&(h.value="")}catch(F){console.error("Failed to load preview batch:",F),h.value=`预览生成失败:${F instanceof Error?F.message:String(F)}`}finally{E===v&&(o.value=!1,E=null)}}}async function d(v){const T=++g,F=[...f.value],k=new Set(F.map(G=>G.id));if(n.retainExportItemsByFontIds(k),i.value=F,h.value="",!p.value||p.value.trim()===""||F.length===0){s.value=[],c.value=0,l.value=0,a.value=!1,o.value=!1,E=null;return}const U=new Set(F.map(G=>G.id)),j=new Set(v.map(G=>G.id)),N=F.filter(G=>!j.has(G.id));if(s.value=s.value.filter(G=>U.has(G.fontInfo.id)),c.value=Math.min(c.value,s.value.length),l.value=Math.min(l.value,F.length),N.length>0){s.value.length===0&&(a.value=!0);try{const G=await _t(N,0,N.length,T);if(q(T))return;const Y=new Set(s.value.map(ue=>ue.fontInfo.id)),se=G.items.filter(ue=>!Y.has(ue.fontInfo.id));se.length>0&&(s.value=[...se,...s.value],c.value=Math.min(c.value+se.length,s.value.length)),G.errors.length>0&&s.value.length===0&&(h.value=`预览生成失败:${G.errors[0]}`)}catch(G){console.error("Failed to incrementally load preview fonts:",G),h.value=`预览生成失败:${G instanceof Error?G.message:String(G)}`}finally{q(T)||(a.value=!1)}}if(!q(T)&&s.value.length===0&&l.valuek.id));if(n.retainExportItemsByFontIds(F),i.value=T,l.value=0,s.value=[],c.value=0,h.value="",!p.value||p.value.trim()===""||T.length===0){a.value=!1,o.value=!1,E=null;return}a.value=!0;try{await wr(v),!q(v)&&s.value.length===0&&l.value0&&p.value.trim()!==""&&!h.value&&(h.value="预览生成失败:服务未返回可用结果")}catch(k){console.error("Failed to regenerate previews:",k),h.value=`预览生成失败:${k instanceof Error?k.message:String(k)}`}finally{q(v)||(a.value=!1)}}Bt(f,(v,T)=>{if(!y||!T){oe(!1),y=!0;return}const F=new Set(T.map(k=>k.id));v.length===T.length&&v.every(k=>F.has(k.id))||(d(T),y=!0)},{immediate:!0}),Bt([p,()=>n.letterSpacing],()=>{oe(y),y=!0}),Bt([x,O],()=>{at()}),Bt([X,H],async()=>{u.value=null,await ea(),M()},{immediate:!0}),Ii(()=>{w!==null&&(clearTimeout(w),w=null),te(),g+=1,E=null});function I(v){v.selected=!v.selected,n.toggleExportItem(v)}function R(){if(s.value.length!==0){if(K.value){n.clearExportSelection(),s.value.forEach(v=>{v.selected=!1});return}s.value.forEach(v=>{v.selected=!0}),n.selectAllExportItems(s.value)}}return t({toggleSelectAllPreviewItems:R}),(v,T)=>(ie(),ce("div",o1,[s.value.length===0?(ie(),ce("div",i1,Ke(a.value?"生成预览中...":h.value?h.value:p.value.trim()===""||i.value.length===0?"请选择字体并输入内容":P.value?"暂无可显示预览":"请选择字体并输入内容"),1)):(ie(),ce("div",l1,[(ie(!0),ce(Ne,null,Tn(L.value,(F,k)=>(ie(),ce("div",{key:F.fontInfo.id,ref_for:!0,ref:U=>z(U,k),class:"flex flex-col gap-2"},[A("div",u1,[T[0]||(T[0]=A("div",{class:"w-[24px] h-[24px] shrink-0"},[A("img",{src:Qd,alt:"字体",class:"w-full h-full"})],-1)),A("div",c1,Ke(F.fontInfo.name),1),A("button",{onClick:U=>I(F),class:ht(["w-[18px] h-[18px] shrink-0 border rounded-full flex items-center justify-center p-0 bg-transparent",F.selected?"bg-[#9b6bc2] border-[#9b6bc2]":"border-[#c9cdd4]"])},[F.selected?(ie(),ce("img",h1)):Nt("",!0)],10,f1)]),A("div",{onClick:U=>I(F),class:"bg-white px-[8px] py-[8px] cursor-pointer"},[A("div",{innerHTML:F.svgResult.svg,class:"svg-preview-container"},null,8,d1)],8,p1)]))),128)),H.value?(ie(),ce("div",v1,Ke(o.value?"加载中...":`继续下滑加载更多(${L.value.length}/${i.value.length})`),1)):Nt("",!0)]))]))}}),S1=qn(b1,[["__scopeId","data-v-0268643c"]]),w1={class:"app-container w-screen h-screen box-border p-8px bg-white flex flex-col overflow-hidden"},T1={class:"header-row flex gap-2 items-center shrink-0 h-24 px-2 py-1"},F1={class:"slider-box flex items-center gap-3 px-2 shrink-0 relative",style:{width:"280px",height:"32px"}},C1={class:"flex-1 h-6 flex items-center relative"},k1=["value"],E1={class:"text-[#8552A1] text-[12px] font-medium text-center w-6"},O1={class:"shrink-0 relative w-9 h-9"},U1={class:"w-full h-full flex items-center justify-center cursor-pointer"},_1=["value"],L1={class:"input-box-desktop flex-1 min-w-[80px] bg-[#f7f8fa] rounded-lg px-2 py-1 h-12"},R1=["value"],I1={class:"export-group flex items-center gap-1 shrink-0 border border-[#8552A1] rounded-lg px-1 py-1 bg-[#f7f8fa] shadow-sm"},A1={class:"input-row-mobile hidden px-2 py-1 shrink-0"},M1={class:"flex-1 bg-[#f7f8fa] rounded-lg px-2 h-[30px]"},P1=["value"],D1={class:"bg-white rounded-xl p-6 shadow-xl relative max-w-[320px]"},B1={class:"main-content flex-1 flex gap-2 min-h-0 overflow-hidden px-2"},N1={class:"sidebar-left flex flex-col gap-2 shrink-0 overflow-hidden",style:{"flex-basis":"400px","max-width":"480px","min-width":"320px"}},G1={class:"font-selector-box flex-[2] border border-solid border-[#f7e0e0] rounded-lg p-1.5 flex flex-col gap-2 overflow-hidden min-h-0"},H1={class:"scrollbar-hover flex-1 overflow-y-auto overflow-x-hidden pr-2"},z1={class:"favorites-box border border-solid border-[#f7e0e0] rounded-lg p-1.5 flex flex-col gap-2 flex-1 overflow-hidden min-h-[120px]"},V1={class:"flex items-center pr-[9px]"},W1={class:"text-base text-black shrink-0 leading-none flex-1"},Z1=["src"],$1={class:"scrollbar-hover flex-1 overflow-y-auto overflow-x-hidden pr-2"},j1={class:"preview-box flex-1 border border-solid border-[#f7e0e0] rounded-lg p-1.5 flex flex-col gap-2 overflow-hidden min-w-0"},q1={class:"flex items-center pr-[9px]"},X1=["src"],K1={class:"scrollbar-hover flex-1 min-h-0 py-2 overflow-y-auto overflow-x-hidden"},Y1={class:"bottom-section-mobile hidden"},J1={class:"font-selector-mobile border border-solid border-[#3EE4C3] rounded-lg p-1.5 flex flex-col gap-1 overflow-hidden"},Q1={class:"scrollbar-hover flex-1 overflow-y-auto overflow-x-hidden"},ev={class:"favorites-mobile border border-solid border-[#3EE4C3] rounded-lg p-1.5 flex flex-col gap-1 overflow-hidden"},tv={class:"scrollbar-hover flex-1 overflow-y-auto overflow-x-hidden"},rv=Kr({__name:"App",setup(e){console.log("App.vue: script setup running...");const t=r0(),r=yr(),n=ge(null),s=ge(!1),a=ve(()=>{const w=(t.fontSize-10)/490*100;return Math.max(0,Math.min(100,w))}),o=ve(()=>{const w=r.previewFonts.map(y=>y.id);if(w.length===0)return!1;const g=new Set(t.selectedExportItems.map(y=>y.fontInfo.id));return w.every(y=>g.has(y))}),i=ve(()=>{const w=r.favoriteFonts.map(g=>g.id);return w.length===0?!1:w.every(g=>r.previewFontIds.has(g))}),l=ve(()=>r.favoriteFonts.length);try{vd(),console.log("App.vue: useFontLoader called successfully")}catch(w){console.error("App.vue: Error in useFontLoader:",w)}const c=Zo(t.inputText,tr);c!==t.inputText&&t.setInputText(c);async function u(w){t.retainExportItemsByFontIds(r.previewFontIds);const g=t.selectedExportItems,y=t.inputText.trim();if(g.length===0){alert("请选择需要导出的效果");return}if(!y){alert("请输入要导出的文字");return}try{const{renderSvgByApi:S}=await ro(async()=>{const{renderSvgByApi:q}=await Promise.resolve().then(()=>a1);return{renderSvgByApi:q}},void 0),{convertSvgToPngBlob:E,downloadSvg:_,downloadMultipleFiles:K,downloadPngFromSvg:H,generatePngFilename:L,generateSvgFilename:P}=await ro(async()=>{const{convertSvgToPngBlob:q,downloadSvg:oe,downloadMultipleFiles:ae,downloadPngFromSvg:te,generatePngFilename:M,generateSvgFilename:z}=await import("./download-DLZSn9-Q.js");return{convertSvgToPngBlob:q,downloadSvg:oe,downloadMultipleFiles:ae,downloadPngFromSvg:te,generatePngFilename:M,generateSvgFilename:z}},[]),X=async q=>S({fontId:q,text:y,fontSize:t.fontSize,fillColor:t.textColor,letterSpacing:Number(t.letterSpacing)||0,maxCharsPerLine:tr});if(g.length===1){const oe=g[0]?.fontInfo?.id;if(!oe){alert("选中字体信息无效,请重新选择后重试");return}const ae=await X(oe);if(w==="svg"){const te=P(y,ae.fontName);_(ae.svg,te)}else{const te=L(y,ae.fontName);await H(ae.svg,te,{width:ae.width,height:ae.height})}}else{const q=[];for(const oe of g)try{const ae=oe?.fontInfo?.id;if(!ae){console.warn("发现无效字体项,已跳过");continue}const te=await X(ae);if(w==="svg"){const M=P(y,te.fontName);q.push({name:M,content:te.svg})}else{const M=L(y,te.fontName),z=await E(te.svg,{width:te.width,height:te.height});q.push({name:M,content:z})}}catch(ae){console.warn(`字体 ${oe.fontInfo.name} 导出失败:`,ae)}q.length>0?await K(q,w==="svg"?"font2svg-svg-export.zip":"font2svg-png-export.zip"):alert(`所有字体${w.toUpperCase()}导出都失败了`)}}catch(S){console.error("导出失败:",S),alert(`导出失败: ${S instanceof Error?S.message:"未知错误"}`)}}function h(w){t.setFontSize(w)}function f(w){const g=w.target,y=Number(g.value);Number.isNaN(y)||t.setFontSize(y)}function p(w){const g=w.target,y=Zo(g.value,tr);y!==g.value&&(g.value=y),t.setInputText(y)}function x(){n.value?.toggleSelectAllPreviewItems()}function O(){const w=r.favoriteFonts.map(g=>g.id);if(w.length!==0){if(i.value){w.forEach(g=>r.removeFromPreview(g));return}w.forEach(g=>r.addToPreview(g))}}return console.log("App.vue: script setup completed"),(w,g)=>{const y=xu("overflow-aware");return ie(),ce("div",w1,[A("div",T1,[g[15]||(g[15]=A("div",{class:"logo-box w-12 h-12 rounded-xl overflow-hidden shrink-0"},[A("img",{src:Vc,alt:"logo",class:"w-full h-full object-cover"})],-1)),g[16]||(g[16]=A("div",{class:"app-title shrink-0 max-w-[225px] min-w-[120px]",style:{height:"72px"}},[A("img",{src:Wc,alt:"星程SVG文字生成 TEXT to SVG",class:"w-full h-full object-contain"})],-1)),A("div",F1,[A("button",{onClick:g[0]||(g[0]=S=>h(Le(t).fontSize-10)),class:"w-4 h-4 shrink-0 cursor-pointer hover:opacity-70 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"减小字体"},[...g[8]||(g[8]=[A("img",{src:Zc,alt:"A-",class:"w-4 h-4 object-contain"},null,-1)])]),A("div",C1,[A("input",{type:"range",min:"10",max:"500",step:"1",value:Le(t).fontSize,onInput:f,class:"font-size-range w-full h-6 cursor-pointer",style:Nr({background:`linear-gradient(to right, #9b6bc2 0%, #9b6bc2 ${a.value}%, #e5e6eb ${a.value}%, #e5e6eb 100%)`})},null,44,k1),A("div",{class:"absolute pointer-events-none -top-4",style:Nr({left:`calc(${a.value}% - 7px)`})},[A("div",E1,Ke(Le(t).fontSize),1)],4)]),A("button",{onClick:g[1]||(g[1]=S=>h(Le(t).fontSize+10)),class:"w-6 h-6 shrink-0 cursor-pointer hover:opacity-70 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"增大字体"},[...g[9]||(g[9]=[A("img",{src:$c,alt:"A+",class:"w-6 h-6 object-contain"},null,-1)])])]),A("div",O1,[A("label",U1,[g[10]||(g[10]=A("img",{src:jc,alt:"颜色",class:"w-9 h-9 object-contain"},null,-1)),A("input",{type:"color",value:Le(t).textColor,onInput:g[2]||(g[2]=S=>Le(t).setTextColor(S.target.value)),class:"absolute inset-0 opacity-0 cursor-pointer","aria-label":"选择文字颜色"},null,40,_1)])]),A("div",L1,[A("textarea",{value:Le(t).inputText,onInput:p,placeholder:"此处输入内容",class:"w-full h-full bg-transparent border-none outline-none text-base text-[#4e5969] placeholder-[#4e5969] resize-none leading-5 overflow-y-auto"},null,40,R1)]),A("div",I1,[g[14]||(g[14]=A("div",{class:"export-label w-[18px] h-[42px] shrink-0 pointer-events-none"},[A("img",{src:qc,alt:"导出",class:"w-full h-full object-contain"})],-1)),A("button",{onClick:g[3]||(g[3]=S=>u("svg")),class:"export-btn w-12 h-12 shrink-0 cursor-pointer hover:opacity-85 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"导出 SVG"},[...g[11]||(g[11]=[A("img",{src:Xc,alt:"导出SVG",class:"w-12 h-12 object-contain"},null,-1)])]),A("button",{onClick:g[4]||(g[4]=S=>u("png")),class:"export-btn w-12 h-12 shrink-0 cursor-pointer hover:opacity-85 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"导出 PNG"},[...g[12]||(g[12]=[A("img",{src:Kc,alt:"导出PNG",class:"w-12 h-12 object-contain"},null,-1)])]),A("button",{onClick:g[5]||(g[5]=S=>s.value=!0),class:"weixin-btn w-[54px] h-[42px] shrink-0 cursor-pointer hover:opacity-85 transition-opacity p-0 border-0 bg-transparent",title:"微信小程序"},[...g[13]||(g[13]=[A("img",{src:no,alt:"微信小程序二维码",class:"w-full h-full object-contain"},null,-1)])])])]),A("div",A1,[A("div",M1,[A("textarea",{value:Le(t).inputText,onInput:p,placeholder:"此处输入内容",class:"w-full h-full bg-transparent border-none outline-none text-sm text-[#4e5969] placeholder-[#4e5969] resize-none leading-[30px] overflow-hidden"},null,40,P1)])]),s.value?(ie(),ce("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:g[7]||(g[7]=Uc(S=>s.value=!1,["self"]))},[A("div",D1,[A("button",{onClick:g[6]||(g[6]=S=>s.value=!1),class:"absolute top-2 right-2 w-8 h-8 flex items-center justify-center text-gray-400 hover:text-gray-600 transition-colors border-0 bg-transparent cursor-pointer text-xl",title:"关闭"}," × "),g[17]||(g[17]=A("h3",{class:"text-center text-gray-800 font-medium mb-4"},"微信扫码使用小程序",-1)),g[18]||(g[18]=A("img",{src:no,alt:"微信小程序二维码",class:"w-64 h-64 object-contain"},null,-1))])])):Nt("",!0),A("div",B1,[A("div",N1,[A("div",G1,[lr((ie(),ce("div",H1,[Ge($o)])),[[y]])]),A("div",z1,[A("div",V1,[A("h2",W1," 已收藏字体("+Ke(l.value)+"字体) ",1),A("button",{onClick:O,class:"w-4 h-4 shrink-0 p-0 border-0 bg-transparent cursor-pointer hover:opacity-85 transition-opacity",title:"已收藏字体全选/全不选"},[A("img",{src:i.value?Le(Hs):Le(Gs),alt:"已收藏字体全选/全不选",class:"w-full h-full"},null,8,Z1)])]),lr((ie(),ce("div",$1,[Ge(jo)])),[[y]])])]),A("div",j1,[A("div",q1,[g[19]||(g[19]=A("h2",{class:"text-base text-black shrink-0 leading-none flex-1"},"效果预览",-1)),A("button",{onClick:x,class:"w-4 h-4 shrink-0 p-0 border-0 bg-transparent cursor-pointer hover:opacity-85 transition-opacity",title:"效果预览全选/全不选"},[A("img",{src:o.value?Le(Hs):Le(Gs),alt:"效果预览全选/全不选",class:"w-full h-full"},null,8,X1)])]),lr((ie(),ce("div",K1,[Ge(S1,{ref_key:"svgPreviewRef",ref:n},null,512)])),[[y]])]),A("div",Y1,[A("div",J1,[lr((ie(),ce("div",Q1,[Ge($o)])),[[y]])]),A("div",ev,[g[20]||(g[20]=A("h2",{class:"text-sm text-black shrink-0 leading-none"},"已收藏",-1)),lr((ie(),ce("div",tv,[Ge(jo)])),[[y]])])])]),g[21]||(g[21]=A("div",{class:"copyright-footer text-[#86909c] text-xs text-center shrink-0 flex items-center justify-center px-2"}," @版权说明:所有字体来源互联网分享,仅供效果预览,不做下载传播,如有侵权,请告知douboer@gmail.com ",-1))])}}}),o0=qn(rv,[["__scopeId","data-v-5a621ad6"]]);console.log("main.ts is loading...");console.log("App component:",o0);const Xn=Rc(o0);Xn.use(Mc());const xs=new WeakMap;function qo(e){const t=e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth;e.dataset.overflowing=t?"true":"false"}const nv={mounted(e){const t=()=>qo(e);t();const r=new ResizeObserver(t);r.observe(e);const n=new MutationObserver(t);n.observe(e,{childList:!0,subtree:!0,characterData:!0});const s=()=>t(),a=()=>t();e.addEventListener("mouseenter",s),window.addEventListener("resize",a),xs.set(e,{resizeObserver:r,mutationObserver:n,onMouseEnter:s,onWindowResize:a})},updated(e){qo(e)},unmounted(e){const t=xs.get(e);t&&(t.resizeObserver.disconnect(),t.mutationObserver.disconnect(),e.removeEventListener("mouseenter",t.onMouseEnter),window.removeEventListener("resize",t.onWindowResize),xs.delete(e))}};Xn.directive("overflow-aware",nv);Xn.config.errorHandler=(e,t,r)=>{console.error("Vue Error:",e),console.error("Error info:",r),console.error("Component instance:",t)};console.log("Mounting app to #app...");Xn.mount("#app");console.log("App mounted successfully!");export{ro as _}; +`)}const gd="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='15'%20height='15'%20fill='none'%20viewBox='0%200%2015%2015'%3e%3cpath%20fill='%23000'%20d='M15%207.5a7.5%207.5%200%201%201-15%200%207.5%207.5%200%200%201%2015%200Z'/%3e%3cpath%20fill='%23fff'%20d='M3%207.75A.75.75%200%200%201%203.75%207h7.5a.75.75%200%200%201%200%201.5h-7.5A.75.75%200%200%201%203%207.75Z'/%3e%3c/svg%3e",md="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='15'%20height='15'%20fill='none'%20viewBox='0%200%2015%2015'%3e%3cpath%20fill='%23000'%20d='M7.5%200a7.5%207.5%200%200%200%200%2015%207.5%207.5%200%200%200%200-15Zm4.242%206.567L8.03%2010.28a.751.751%200%200%201-1.062%200l-3.71-3.713A.751.751%200%200%201%204.32%205.505L7.5%208.688l3.183-3.18a.75.75%200%201%201%201.06%201.06Z'/%3e%3c/svg%3e",n0="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='none'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%230079F5'%20d='M12.391%2016H3.61A3.61%203.61%200%200%201%200%2012.391V3.61A3.609%203.609%200%200%201%203.609%200h8.782A3.61%203.61%200%200%201%2016%203.609v8.782A3.61%203.61%200%200%201%2012.391%2016Z'/%3e%3cpath%20fill='%23fff'%20d='M10.404%204.972a.6.6%200%200%200-1.103%200L7.18%209.94a.402.402%200%201%200%20.74.312l.244-.588c.21-.506.704-.835%201.252-.835h.873c.547%200%201.041.33%201.251.835l.244.588a.402.402%200%201%200%20.74-.312l-2.12-4.968ZM10.5%207.16a.7.7%200%201%201-1.293.54.7.7%200%200%201%201.293-.54Zm-5.018-.978a.422.422%200%200%200-.775%200L3.416%209.206a.301.301%200%201%200%20.555.233l.134-.323a.825.825%200%200%201%20.762-.509h.455c.333%200%20.634.201.762.51l.134.322a.301.301%200%201%200%20.555-.233L5.483%206.18Zm-.388%201.89a.37.37%200%201%201%200-.74.37.37%200%200%201%200%20.74Z'/%3e%3c/svg%3e",ma="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='18'%20fill='none'%20viewBox='0%200%2018%2018'%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%238552A1'%20d='M9%200a9%209%200%200%200-9%209%209%209%200%200%200%209%209%209%209%200%200%200%209-9%209%209%200%200%200-9-9Zm5.934%206.21L8.16%2012.988a.843.843%200%200%201-.599.247.844.844%200%200%201-.6-.247L3.066%209.09a.846.846%200%201%201%201.198-1.197L7.56%2011.19l6.177-6.177a.847.847%200%201%201%201.197%201.198Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='a'%3e%3cpath%20fill='%23fff'%20d='M0%200h18v18H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",s0="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='17'%20fill='none'%20viewBox='0%200%2018%2017'%3e%3cpath%20fill='%23fff'%20stroke='%238552A1'%20stroke-width='.855'%20d='M12.94.428c2.52%200%204.632%202.255%204.632%205.103%200%201.68-.743%202.87-1.4%203.895-.92%201.437-2.554%203.077-4.008%204.394a49.45%2049.45%200%200%201-2.774%202.34l-.008.006a.607.607%200%200%201-.673.06l-.09-.06-.009-.007-.27-.21a51.872%2051.872%200%200%201-2.508-2.125c-1.455-1.316-3.088-2.955-4.004-4.396v-.001l-.249-.394C.997%208.096.428%207.001.428%205.531.428%202.683%202.54.428%205.06.428c1.402%200%202.725.706%203.595%201.888l.343.465.345-.463c.882-1.185%202.196-1.89%203.597-1.89Z'/%3e%3c/svg%3e",Gs="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20fill='none'%20viewBox='0%200%2020%2020'%3e%3cpath%20fill='%238552A1'%20d='M15.608%2015.302a.717.717%200%200%201%20.218.524.712.712%200%200%201-.218.524.729.729%200%200%201-.525.218H4.326a1.78%201.78%200%200%201-1.303-.542%201.78%201.78%200%200%201-.543-1.303V3.963c0-.207.073-.383.218-.525a.728.728%200%200%201%20.525-.218c.203%200%20.382.072.524.218a.728.728%200%200%201%20.218.524v10.015c0%20.303.11.56.327.78.219.217.473.326.776.326h10.015c.206%200%20.38.073.525.219Zm-2.97%202.227a.717.717%200%200%201%20.218.524.712.712%200%200%201-.218.524.729.729%200%200%201-.524.218H2.098a1.78%201.78%200%200%201-1.303-.542%201.785%201.785%200%200%201-.545-1.306V6.932c0-.206.073-.382.218-.524a.728.728%200%200%201%20.524-.219c.203%200%20.382.073.525.219a.728.728%200%200%201%20.218.524v9.272c0%20.304.109.561.327.78.218.217.476.327.779.327h9.273c.203%200%20.378.072.524.218ZM18.153.892c.427.43.643.952.643%201.567v9.67c0%20.615-.216%201.14-.643%201.566a2.136%202.136%200%200%201-1.567.643H6.914c-.616%200-1.14-.215-1.567-.643a2.129%202.129%200%200%201-.642-1.563V2.459c0-.615.215-1.14.642-1.567A2.136%202.136%200%200%201%206.914.25h9.67c.617%200%201.139.215%201.569.642Zm-.842%202.164c0-.364-.13-.673-.388-.933a1.263%201.263%200%200%200-.934-.388H7.514c-.364%200-.673.13-.934.388a1.27%201.27%200%200%200-.39.933v8.476c0%20.364.13.672.387.933.258.26.57.388.934.388h8.475c.364%200%20.673-.13.934-.388.26-.257.388-.57.388-.933V3.056h.003Z'/%3e%3cpath%20fill='%238552A1'%20d='M10.114%209.583%207.966%207.61l-.716.658%202.864%202.633L16.25%205.26l-.716-.659-5.42%204.983Z'/%3e%3cpath%20stroke='%238552A1'%20stroke-width='.5'%20d='M15.608%2015.302a.717.717%200%200%201%20.218.524.712.712%200%200%201-.218.524.729.729%200%200%201-.525.218H4.326a1.78%201.78%200%200%201-1.303-.542%201.78%201.78%200%200%201-.543-1.303V3.963c0-.207.073-.383.218-.525a.728.728%200%200%201%20.525-.218c.203%200%20.382.072.524.218a.728.728%200%200%201%20.218.524v10.015c0%20.303.11.56.327.78.219.217.473.326.776.326h10.015c.206%200%20.38.073.525.219Zm-2.97%202.227a.717.717%200%200%201%20.218.524.712.712%200%200%201-.218.524.729.729%200%200%201-.524.218H2.098a1.78%201.78%200%200%201-1.303-.542%201.785%201.785%200%200%201-.545-1.306V6.932c0-.206.073-.382.218-.524a.728.728%200%200%201%20.524-.219c.203%200%20.382.073.525.219a.728.728%200%200%201%20.218.524v9.272c0%20.304.109.561.327.78.218.217.476.327.779.327h9.273c.203%200%20.378.072.524.218ZM18.153.892c.427.43.643.952.643%201.567v9.67c0%20.615-.216%201.14-.643%201.566a2.136%202.136%200%200%201-1.567.643H6.914c-.616%200-1.14-.215-1.567-.643a2.129%202.129%200%200%201-.642-1.563V2.459c0-.615.215-1.14.642-1.567A2.136%202.136%200%200%201%206.914.25h9.67c.617%200%201.139.215%201.569.642Zm-.842%202.164c0-.364-.13-.673-.388-.933a1.263%201.263%200%200%200-.934-.388H7.514c-.364%200-.673.13-.934.388a1.27%201.27%200%200%200-.39.933v8.476c0%20.364.13.672.387.933.258.26.57.388.934.388h8.475c.364%200%20.673-.13.934-.388.26-.257.388-.57.388-.933V3.056h.003Z'/%3e%3cpath%20stroke='%238552A1'%20stroke-width='.5'%20d='M10.114%209.583%207.966%207.61l-.716.658%202.864%202.633L16.25%205.26l-.716-.659-5.42%204.983Z'/%3e%3c/svg%3e",Hs="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20fill='none'%20viewBox='0%200%2020%2020'%3e%3cpath%20fill='%238552A1'%20d='M15.608%2015.302a.717.717%200%200%201%20.218.524.712.712%200%200%201-.218.524.729.729%200%200%201-.525.218H4.326a1.78%201.78%200%200%201-1.303-.542%201.78%201.78%200%200%201-.543-1.303V3.963c0-.207.073-.383.218-.525a.728.728%200%200%201%20.525-.218c.203%200%20.382.072.524.218a.728.728%200%200%201%20.218.524v10.015c0%20.303.11.56.327.78.219.217.473.326.776.326h10.015c.206%200%20.38.073.525.219Zm-2.97%202.227a.717.717%200%200%201%20.218.524.712.712%200%200%201-.218.524.729.729%200%200%201-.524.218H2.098a1.78%201.78%200%200%201-1.303-.542%201.785%201.785%200%200%201-.545-1.306V6.932c0-.206.073-.382.218-.524a.728.728%200%200%201%20.524-.219c.203%200%20.382.073.525.219a.728.728%200%200%201%20.218.524v9.272c0%20.304.109.561.327.78.218.217.476.327.779.327h9.273c.203%200%20.378.072.524.218ZM18.153.892c.427.43.643.952.643%201.567v9.67c0%20.615-.216%201.14-.643%201.566a2.136%202.136%200%200%201-1.567.643H6.914c-.616%200-1.14-.215-1.567-.643a2.129%202.129%200%200%201-.642-1.563V2.459c0-.615.215-1.14.642-1.567A2.136%202.136%200%200%201%206.914.25h9.67c.617%200%201.139.215%201.569.642Zm-.842%202.164c0-.364-.13-.673-.388-.933a1.263%201.263%200%200%200-.934-.388H7.514c-.364%200-.673.13-.934.388a1.27%201.27%200%200%200-.39.933v8.476c0%20.364.13.672.387.933.258.26.57.388.934.388h8.475c.364%200%20.673-.13.934-.388.26-.257.388-.57.388-.933V3.056h.003Z'/%3e%3cpath%20fill='%238552A1'%20d='m15.523%204.546-.806-.705-3.194%202.795L8.328%203.84l-.805.705%203.194%202.795-3.194%202.795.805.705%203.195-2.795%203.194%202.795.806-.705-3.195-2.795%203.195-2.795Z'/%3e%3cpath%20stroke='%238552A1'%20stroke-width='.5'%20d='M15.608%2015.302a.717.717%200%200%201%20.218.524.712.712%200%200%201-.218.524.729.729%200%200%201-.525.218H4.326a1.78%201.78%200%200%201-1.303-.542%201.78%201.78%200%200%201-.543-1.303V3.963c0-.207.073-.383.218-.525a.728.728%200%200%201%20.525-.218c.203%200%20.382.072.524.218a.728.728%200%200%201%20.218.524v10.015c0%20.303.11.56.327.78.219.217.473.326.776.326h10.015c.206%200%20.38.073.525.219Zm-2.97%202.227a.717.717%200%200%201%20.218.524.712.712%200%200%201-.218.524.729.729%200%200%201-.524.218H2.098a1.78%201.78%200%200%201-1.303-.542%201.785%201.785%200%200%201-.545-1.306V6.932c0-.206.073-.382.218-.524a.728.728%200%200%201%20.524-.219c.203%200%20.382.073.525.219a.728.728%200%200%201%20.218.524v9.272c0%20.304.109.561.327.78.218.217.476.327.779.327h9.273c.203%200%20.378.072.524.218ZM18.153.892c.427.43.643.952.643%201.567v9.67c0%20.615-.216%201.14-.643%201.566a2.136%202.136%200%200%201-1.567.643H6.914c-.616%200-1.14-.215-1.567-.643a2.129%202.129%200%200%201-.642-1.563V2.459c0-.615.215-1.14.642-1.567A2.136%202.136%200%200%201%206.914.25h9.67c.617%200%201.139.215%201.569.642Zm-.842%202.164c0-.364-.13-.673-.388-.933a1.263%201.263%200%200%200-.934-.388H7.514c-.364%200-.673.13-.934.388a1.27%201.27%200%200%200-.39.933v8.476c0%20.364.13.672.387.933.258.26.57.388.934.388h8.475c.364%200%20.673-.13.934-.388.26-.257.388-.57.388-.933V3.056h.003Z'/%3e%3cpath%20stroke='%238552A1'%20stroke-width='.5'%20d='m15.523%204.546-.806-.705-3.194%202.795L8.328%203.84l-.805.705%203.194%202.795-3.194%202.795.805.705%203.195-2.795%203.194%202.795.806-.705-3.195-2.795%203.195-2.795Z'/%3e%3c/svg%3e",xd={class:"space-y-0"},yd={key:0,class:"relative mb-3"},bd={class:"flex items-center gap-2"},Sd={class:"tree-icon-wrapper"},wd=["onClick","disabled"],Td={key:1,src:md,alt:"展开",class:"w-[15px] h-[15px]"},Fd=["onClick"],Cd={class:"flex items-center gap-2 shrink-0 mr-[1px]"},kd=["onClick"],Ed=["src"],Od={key:0,class:"tree-vertical-line"},Ud={key:1,class:"flex flex-col gap-3 mt-3"},_d={class:"flex-1 text-xs text-[#86909c]"},Ld=["onClick"],Rd={key:0,src:ma,alt:"选中",class:"w-[11px] h-[9px]"},Id=["onClick"],Ad=Kr({__name:"FontTree",props:{nodes:{},searchKeyword:{},selectedOnly:{type:Boolean}},setup(e){const t=e,r=yr(),n=ve(()=>(t.searchKeyword??"").trim().toLowerCase()),s=ve(()=>n.value.length>0),a=ve(()=>s.value||t.selectedOnly===!0);function o(y){if(y.type!=="category"||!y.children)return[];const S=y.children.filter(K=>K.type==="font"&&!!K.fontInfo),E=t.selectedOnly?S.filter(K=>r.previewFontIds.has(K.fontInfo.id)):S;if(!s.value)return E;const _=n.value;return y.name.toLowerCase().includes(_)?E:E.filter(K=>K.name.toLowerCase().includes(_))}function i(y){return y.type==="category"&&o(y).length>0}function l(y){return a.value?!0:!!y.expanded}function c(y){if(a.value)return;const S=!y.expanded;y.expanded=S,r.setCategoryExpanded(y.name,S)}function u(y,S){S.stopPropagation(),y.type==="font"&&y.fontInfo&&r.togglePreview(y.fontInfo.id)}function h(y,S){S.stopPropagation(),y.type==="font"&&y.fontInfo&&r.toggleFavorite(y.fontInfo.id)}function f(y){return y.type==="font"&&y.fontInfo?r.favoriteFontIds.has(y.fontInfo.id):!1}function p(y){return y.type==="font"&&y.fontInfo?r.previewFontIds.has(y.fontInfo.id):!1}function x(y){return o(y).map(S=>S.fontInfo.id)}function O(y){return o(y).length}function w(y){const S=x(y);return S.length>0&&S.every(E=>r.previewFontIds.has(E))}function g(y,S){S.stopPropagation();const E=x(y);E.length!==0&&(w(y)?E.forEach(_=>r.removeFromPreview(_)):E.forEach(_=>r.addToPreview(_)))}return(y,S)=>(ie(),ce("div",xd,[(ie(!0),ce(Ne,null,Tn(e.nodes,E=>(ie(),ce("div",{key:E.name},[i(E)?(ie(),ce("div",yd,[A("div",bd,[A("div",Sd,[A("button",{onClick:_=>c(E),class:"tree-toggle",disabled:a.value},[l(E)?(ie(),ce("img",{key:0,src:gd,alt:"收起",class:ht(["w-[15px] h-[15px]",{"opacity-70":a.value}])},null,2)):(ie(),ce("img",Td))],8,wd)]),A("div",{onClick:_=>c(E),class:ht(["text-base font-medium text-black flex-1 ml-2",a.value?"cursor-default":"cursor-pointer"])},Ke(E.name)+"("+Ke(O(E))+"字体) ",11,Fd),A("div",Cd,[A("button",{onClick:_=>g(E,_),class:"w-4 h-4 shrink-0 p-0 border-0 bg-transparent cursor-pointer hover:opacity-85 transition-opacity",title:"分类全选/全不选"},[A("img",{src:w(E)?Le(Hs):Le(Gs),alt:"分类全选/全不选",class:"w-full h-full"},null,8,Ed)],8,kd),S[0]||(S[0]=A("div",{class:"w-[18px] h-[17px] shrink-0","aria-hidden":"true"},null,-1))])]),l(E)&&o(E).length>0?(ie(),ce("div",Od)):Nt("",!0),l(E)&&o(E).length>0?(ie(),ce("div",Ud,[(ie(!0),ce(Ne,null,Tn(o(E),_=>(ie(),ce("div",{key:_.name,class:"flex items-center gap-2 border-b border-[#c9cdd4] pb-2 relative"},[S[1]||(S[1]=A("div",{class:"tree-horizontal-line"},null,-1)),S[2]||(S[2]=A("div",{class:"w-4 h-4 shrink-0 ml-[17px]"},[A("img",{src:n0,alt:"font",class:"w-full h-full"})],-1)),A("div",_d,Ke(_.name),1),A("button",{onClick:K=>u(_,K),class:ht(["w-[18px] h-[18px] shrink-0 border rounded-full flex items-center justify-center p-0 bg-transparent",p(_)?"bg-[#9b6bc2] border-[#9b6bc2]":"border-[#c9cdd4]"])},[p(_)?(ie(),ce("img",Rd)):Nt("",!0)],10,Ld),A("button",{onClick:K=>h(_,K),class:"w-[18px] h-[17px] shrink-0 p-0 border-0 bg-transparent"},[A("img",{src:s0,alt:"收藏",class:ht(["w-full h-full",f(_)?"favorite-active":""])},null,2)],8,Id)]))),128))])):Nt("",!0)])):Nt("",!0)]))),128))]))}}),qn=(e,t)=>{const r=e.__vccOpts||e;for(const[n,s]of t)r[n]=s;return r},Md=qn(Ad,[["__scopeId","data-v-1709e607"]]),Pd="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20fill='none'%20viewBox='0%200%2032%2032'%3e%3crect%20width='32'%20height='32'%20fill='%238552A1'%20rx='10'%20transform='matrix(-1%200%200%201%2032%200)'/%3e%3cpath%20fill='%23FEFDFE'%20d='m24.845%2022.204-5.101-5.105-2.64%202.64%205.105%205.104a1.085%201.085%200%200%200%201.527%200l1.108-1.108a1.09%201.09%200%200%200%200-1.531ZM17.22%2018.6l1.382-1.382-1.576-1.576a5.512%205.512%200%200%200-.63-7.032%205.51%205.51%200%200%200-7.785%200c-2.15%202.146-2.146%205.635%200%207.785a5.512%205.512%200%200%200%207.033.63l1.575%201.576Zm-7.541-3.288a3.983%203.983%200%200%201%200-5.635%203.983%203.983%200%200%201%205.635%200%203.983%203.983%200%200%201%200%205.635%203.983%203.983%200%200%201-5.635%200Z'/%3e%3c/svg%3e",Dd={class:"space-y-2 pb-1"},Bd={class:"sticky top-0 z-10 bg-white pt-1 pb-1"},Nd={class:"flex items-center gap-3"},Gd={class:"flex-1 min-w-0"},Hd={class:"h-8 rounded-[10px] bg-[#F3EDF7] pl-2 flex items-center"},zd={type:"button",class:"w-8 h-8 shrink-0 p-0 border-0 bg-transparent flex items-center justify-center","aria-hidden":"true"},Vd=["src"],Wd={key:0,class:"text-sm text-gray-500 text-center py-8"},$o=Kr({__name:"FontSelector",setup(e){const t=yr(),r=ge(""),n=ve(()=>t.fontTree),s=ve(()=>r.value.trim().toLowerCase()),a=ve(()=>{const u=s.value;return u.includes("选中")||u.includes("选择")||u.includes("已选")||u.includes("xuan")}),o=ve(()=>a.value?"":s.value),i=ve(()=>s.value.length>0);function l(u){if(u.type!=="category")return!1;const h=(u.children??[]).filter(x=>x.type==="font"&&!!x.fontInfo),f=a.value?h.filter(x=>!!x.fontInfo&&t.previewFontIds.has(x.fontInfo.id)):h;if(o.value.length===0)return f.length>0;const p=o.value;return u.name.toLowerCase().includes(p)?f.length>0:f.some(x=>x.name.toLowerCase().includes(p))}const c=ve(()=>i.value?n.value.some(u=>l(u)):n.value.length>0);return(u,h)=>(ie(),ce("div",Dd,[A("div",Bd,[A("div",Nd,[h[1]||(h[1]=A("div",{class:"text-[16px] leading-none text-black font-bold shrink-0"}," 选择字体 ",-1)),A("div",Gd,[A("div",Hd,[lr(A("input",{"onUpdate:modelValue":h[0]||(h[0]=f=>r.value=f),type:"text",placeholder:"输入搜索字体名称","aria-label":"字体搜索",class:"flex-1 min-w-0 bg-transparent border-none outline-none text-[14px] text-black placeholder-[#a2a0a9]"},null,512),[[kc,r.value]]),A("button",zd,[A("img",{src:Le(Pd),alt:"",class:"w-[24px] h-[24px]"},null,8,Vd)])])])])]),c.value?(ie(),Ji(Md,{key:1,nodes:n.value,"search-keyword":o.value,"selected-only":a.value},null,8,["nodes","search-keyword","selected-only"])):(ie(),ce("div",Wd,Ke(i.value?"未找到匹配字体":"暂无字体"),1))]))}}),Zd={class:"space-y-2"},$d={key:0,class:"text-sm text-gray-500 text-center py-8"},jd={key:1,class:"flex flex-col gap-3 favorite-indent"},qd={class:"flex-1 text-xs text-[#86909c]"},Xd=["onClick"],Kd={key:0,src:ma,alt:"选中",class:"w-[11px] h-[9px]"},Yd=["onClick"],Jd=Kr({__name:"FavoritesList",setup(e){const t=yr(),r=ve(()=>t.favoriteFonts);function n(i,l){l.stopPropagation(),t.togglePreview(i)}function s(i,l){l.stopPropagation(),t.toggleFavorite(i)}function a(i){return t.favoriteFontIds.has(i)}function o(i){return t.previewFontIds.has(i)}return(i,l)=>(ie(),ce("div",Zd,[r.value.length===0?(ie(),ce("div",$d," 暂无收藏字体 ")):(ie(),ce("div",jd,[(ie(!0),ce(Ne,null,Tn(r.value,c=>(ie(),ce("div",{key:c.id,class:"flex items-center gap-2 border-b border-[#c9cdd4] pb-2"},[l[0]||(l[0]=A("div",{class:"w-4 h-4 shrink-0"},[A("img",{src:n0,alt:"font",class:"w-full h-full"})],-1)),A("div",qd,Ke(c.name),1),A("button",{onClick:u=>n(c.id,u),class:ht(["w-[18px] h-[18px] shrink-0 border rounded-full flex items-center justify-center p-0 bg-transparent",o(c.id)?"bg-[#9b6bc2] border-[#9b6bc2]":"border-[#c9cdd4]"])},[o(c.id)?(ie(),ce("img",Kd)):Nt("",!0)],10,Xd),A("button",{onClick:u=>s(c.id,u),class:"w-[18px] h-[17px] shrink-0 p-0 border-0 bg-transparent"},[A("img",{src:s0,alt:"收藏",class:ht(["w-full h-full",a(c.id)?"favorite-active":""])},null,2)],8,Yd)]))),128))]))]))}}),jo=qn(Jd,[["__scopeId","data-v-e8bbd3fa"]]),Qd="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='10'%20height='10'%20fill='none'%20viewBox='0%200%2010%2010'%3e%3cpath%20fill='%230079F5'%20d='M7.432%209.596H2.164A2.165%202.165%200%200%201%200%207.432V2.164C0%20.97.97%200%202.164%200h5.268c1.195%200%202.164.97%202.164%202.164v5.268c0%201.195-.97%202.164-2.164%202.164Z'/%3e%3cpath%20fill='%23fff'%20d='M6.24%202.982a.36.36%200%200%200-.662%200l-1.272%202.98a.24.24%200%201%200%20.444.186l.147-.352a.813.813%200%200%201%20.75-.501h.524c.328%200%20.624.198.75.5l.147.353a.24.24%200%201%200%20.444-.187L6.24%202.982Zm.058%201.312a.42.42%200%201%201-.776.324.42.42%200%200%201%20.776-.324Zm-3.01-.587a.253.253%200%200%200-.465%200l-.774%201.814a.18.18%200%201%200%20.333.14l.08-.194a.495.495%200%200%201%20.457-.305h.273c.2%200%20.38.12.457.305l.08.194a.18.18%200%201%200%20.333-.14l-.774-1.814ZM3.055%204.84a.222.222%200%201%201%200-.443.222.222%200%200%201%200%20.443Z'/%3e%3c/svg%3e",e1="/api/render-svg",t1=3e4;function r1(){if(typeof window<"u"){const e=window.__FONT2SVG_API_URL__;if(typeof e=="string"&&e.trim())return e.trim()}return e1}function n1(e){if(!e||typeof e!="object")throw new Error("渲染服务返回格式无效");const t=typeof e.svg=="string"?e.svg:"";if(!t.trim())throw new Error("渲染服务未返回有效 SVG");return{svg:t,width:Number(e.width)||0,height:Number(e.height)||0,fontName:e.fontName||"Unknown",fontId:e.fontId||""}}function s1(e){const t=String(e.fontId||"").trim(),r=String(e.text||"");if(!t)throw new Error("缺少字体 ID");if(!r.trim())throw new Error("文本内容不能为空");return{fontId:t,text:r,fontSize:Number(e.fontSize)||120,fillColor:e.fillColor||"#000000",letterSpacing:Number(e.letterSpacing)||0,maxCharsPerLine:Number(e.maxCharsPerLine)||tr}}async function a0(e){const t=s1(e),r=new AbortController,n=setTimeout(()=>r.abort(),t1);let s;try{s=await fetch(r1(),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t),signal:r.signal})}catch(o){throw o instanceof DOMException&&o.name==="AbortError"?new Error("渲染服务请求超时"):new Error(`渲染服务请求失败:${o instanceof Error?o.message:String(o)}`)}finally{clearTimeout(n)}let a=null;try{a=await s.json()}catch{a=null}if(!s.ok){const o=a&&typeof a.error=="string"&&a.error.trim()?a.error:`渲染服务请求失败(HTTP ${s.status})`;throw new Error(o)}if(!a||!a.ok)throw new Error(a&&a.error||"渲染服务返回错误");return n1(a.data)}const a1=Object.freeze(Object.defineProperty({__proto__:null,renderSvgByApi:a0},Symbol.toStringTag,{value:"Module"})),o1={class:"flex flex-col gap-2"},i1={key:0,class:"text-[#86909c] text-center py-20"},l1={key:1,class:"flex flex-col gap-2"},u1={class:"flex items-center gap-[8px] border-b border-[#c9cdd4] pb-[8px] pr-[8px]"},c1={class:"flex-1 text-xs text-[#86909c]"},f1=["onClick"],h1={key:0,src:ma,alt:"选中",class:"w-[11px] h-[9px]"},p1=["onClick"],d1=["innerHTML"],v1={key:0,class:"text-xs text-[#86909c] text-center py-2"},g1=240,m1=4,x1=600,ms=20,y1=10,Er=120,b1=Kr({__name:"SvgPreview",setup(e,{expose:t}){const r=yr(),n=r0(),s=ge([]),a=ge(!1),o=ge(!1),i=ge([]),l=ge(0),c=ge(0),u=ge(null),h=ge(""),f=ve(()=>r.previewFonts),p=ve(()=>n.inputText),x=ve(()=>n.fontSize),O=ve(()=>n.textColor);let w=null,g=0,y=!1,S=null,E=null;const _=new Map,K=ve(()=>s.value.length>0&&s.value.every(v=>v.selected)),H=ve(()=>c.values.value.slice(0,c.value)),P=ve(()=>p.value.trim()!==""&&i.value.length>0),X=ve(()=>!H.value||L.value.length<=0?-1:Math.max(0,L.value.length-y1));function q(v){return v!==g}function oe(v=!0){if(w!==null&&(clearTimeout(w),w=null),!v){C();return}w=setTimeout(()=>{w=null,C()},g1)}function ae(v){let T=v.parentElement;for(;T;){const k=window.getComputedStyle(T).overflowY;if((k==="auto"||k==="scroll")&&T.scrollHeight>T.clientHeight)return T;T=T.parentElement}return null}function te(){S&&(S.disconnect(),S=null)}function M(){if(te(),!H.value||!u.value)return;const v=ae(u.value);S=new IntersectionObserver(T=>{T.some(k=>k.isIntersecting)&&m()},{root:v,threshold:.01}),S.observe(u.value)}function z(v,T){T===X.value&&(u.value=v instanceof HTMLElement?v:null)}function B(v,T="#000000"){const F=String(v||"").trim();return/^#[0-9a-fA-F]{6}$/.test(F)?F:T}function W(v,T=Er){return Number.isFinite(v)?Math.max(1,Math.min(2048,Math.round(v))):T}function ne(v){return Number(v).toFixed(2).replace(/\.?0+$/,"")}function me(v,T){const F=B(T);return v?/]*\sfill="[^"]*"/.test(v)?v.replace(/(]*\sfill=")[^"]*(")/,`$1${F}$2`):v.replace(/]*)>/,``):""}function le(v,T){return!v||!Number.isFinite(T)||T<=0?v:v.replace(/width="([0-9]+(?:\.[0-9]+)?)"/,(F,k)=>{const U=Number(k)*T;return`width="${ne(U)}"`}).replace(/height="([0-9]+(?:\.[0-9]+)?)"/,(F,k)=>{const U=Number(k)*T;return`height="${ne(U)}"`})}function pe(v,T,F,k){const U=Number.isFinite(F)?F.toFixed(4):"0.0000";return[v,U,String(k),T].join("::")}function Ut(v){return pe(v.id,String(p.value||""),Number(n.letterSpacing)||0,tr)}function br(v){const T=_.get(v);return T?(_.delete(v),_.set(v,T),T):null}function Sr(v,T){for(_.has(v)&&_.delete(v),_.set(v,T);_.size>x1;){const F=_.keys().next().value;if(F===void 0)break;_.delete(F)}}function Xe(v){const T=W(Number(x.value),Er),F=Number(v.renderFontSize)>0?Number(v.renderFontSize):Er,k=T/F;return{svg:le(me(v.baseSvg,O.value),k),width:Number(v.baseWidth)>0?Number(v.baseWidth)*k:0,height:Number(v.baseHeight)>0?Number(v.baseHeight)*k:0,fontName:v.svgResult.fontName||v.fontInfo.name}}function st(v){return{...v,svgResult:Xe(v)}}function at(){s.value.length!==0&&(s.value=s.value.map(v=>st(v)))}async function nn(v){const T=Ut(v),F=br(T);if(F)return F;const k=await a0({fontId:v.id,text:p.value,fontSize:Er,fillColor:"#000000",letterSpacing:Number(n.letterSpacing)||0,maxCharsPerLine:tr}),U={svg:k.svg,width:k.width,height:k.height,fontName:k.fontName||v.name,renderFontSize:Er};return Sr(T,U),U}async function _t(v,T,F,k){const U=Math.min(T+F,v.length),j=v.slice(T,U);if(j.length===0)return{items:[],errors:[]};const N=new Set(n.selectedExportItems.map(we=>we.fontInfo.id)),G=new Array(j.length).fill(null),Y=Math.min(m1,j.length);let se=0;const ue=[],he=async()=>{for(;;){if(q(k))return;const we=se;if(se+=1,we>=j.length)return;const Te=j[we];if(Te)try{const Fe=await nn(Te);if(!Fe||q(k))continue;const Be={fontInfo:Te,selected:N.has(Te.id),baseSvg:Fe.svg,baseWidth:Fe.width,baseHeight:Fe.height,renderFontSize:Fe.renderFontSize,svgResult:{svg:"",width:0,height:0,fontName:Fe.fontName||Te.name}};G[we]=st(Be)}catch(Fe){const Be=Fe instanceof Error?Fe.message:String(Fe);console.error(`Failed to render preview for ${Te.name}:`,Fe),ue.push(`${Te.name}: ${Be}`)}}};return await Promise.all(Array.from({length:Y},()=>he())),q(k)?{items:[],errors:[]}:{items:G.filter(we=>we!==null),errors:ue}}async function wr(v){if(q(v))return;if(o.value){if(E===v)return;o.value=!1,E=null}const T=l.value;if(!(T>=i.value.length)){o.value=!0,E=v;try{const F=await _t(i.value,T,ms,v);if(q(v))return;l.value=Math.min(T+ms,i.value.length);const k=new Set(s.value.map(j=>j.fontInfo.id)),U=F.items.filter(j=>!k.has(j.fontInfo.id));s.value=[...s.value,...U],c.value=Math.min(c.value+U.length,s.value.length),F.errors.length>0&&s.value.length===0?h.value=`预览生成失败:${F.errors[0]}`:s.value.length>0&&(h.value="")}catch(F){console.error("Failed to load preview batch:",F),h.value=`预览生成失败:${F instanceof Error?F.message:String(F)}`}finally{E===v&&(o.value=!1,E=null)}}}async function d(v){const T=++g,F=[...f.value],k=new Set(F.map(G=>G.id));if(n.retainExportItemsByFontIds(k),i.value=F,h.value="",!p.value||p.value.trim()===""||F.length===0){s.value=[],c.value=0,l.value=0,a.value=!1,o.value=!1,E=null;return}const U=new Set(F.map(G=>G.id)),j=new Set(v.map(G=>G.id)),N=F.filter(G=>!j.has(G.id));if(s.value=s.value.filter(G=>U.has(G.fontInfo.id)),c.value=Math.min(c.value,s.value.length),l.value=Math.min(l.value,F.length),N.length>0){s.value.length===0&&(a.value=!0);try{const G=await _t(N,0,N.length,T);if(q(T))return;const Y=new Set(s.value.map(ue=>ue.fontInfo.id)),se=G.items.filter(ue=>!Y.has(ue.fontInfo.id));se.length>0&&(s.value=[...se,...s.value],c.value=Math.min(c.value+se.length,s.value.length)),G.errors.length>0&&s.value.length===0&&(h.value=`预览生成失败:${G.errors[0]}`)}catch(G){console.error("Failed to incrementally load preview fonts:",G),h.value=`预览生成失败:${G instanceof Error?G.message:String(G)}`}finally{q(T)||(a.value=!1)}}if(!q(T)&&s.value.length===0&&l.valuek.id));if(n.retainExportItemsByFontIds(F),i.value=T,l.value=0,s.value=[],c.value=0,h.value="",!p.value||p.value.trim()===""||T.length===0){a.value=!1,o.value=!1,E=null;return}a.value=!0;try{await wr(v),!q(v)&&s.value.length===0&&l.value0&&p.value.trim()!==""&&!h.value&&(h.value="预览生成失败:服务未返回可用结果")}catch(k){console.error("Failed to regenerate previews:",k),h.value=`预览生成失败:${k instanceof Error?k.message:String(k)}`}finally{q(v)||(a.value=!1)}}Bt(f,(v,T)=>{if(!y||!T){oe(!1),y=!0;return}const F=new Set(T.map(k=>k.id));v.length===T.length&&v.every(k=>F.has(k.id))||(d(T),y=!0)},{immediate:!0}),Bt([p,()=>n.letterSpacing],()=>{oe(y),y=!0}),Bt([x,O],()=>{at()}),Bt([X,H],async()=>{u.value=null,await ea(),M()},{immediate:!0}),Ii(()=>{w!==null&&(clearTimeout(w),w=null),te(),g+=1,E=null});function I(v){v.selected=!v.selected,n.toggleExportItem(v)}function R(){if(s.value.length!==0){if(K.value){n.clearExportSelection(),s.value.forEach(v=>{v.selected=!1});return}s.value.forEach(v=>{v.selected=!0}),n.selectAllExportItems(s.value)}}return t({toggleSelectAllPreviewItems:R}),(v,T)=>(ie(),ce("div",o1,[s.value.length===0?(ie(),ce("div",i1,Ke(a.value?"生成预览中...":h.value?h.value:p.value.trim()===""||i.value.length===0?"请选择字体并输入内容":P.value?"暂无可显示预览":"请选择字体并输入内容"),1)):(ie(),ce("div",l1,[(ie(!0),ce(Ne,null,Tn(L.value,(F,k)=>(ie(),ce("div",{key:F.fontInfo.id,ref_for:!0,ref:U=>z(U,k),class:"flex flex-col gap-2"},[A("div",u1,[T[0]||(T[0]=A("div",{class:"w-[24px] h-[24px] shrink-0"},[A("img",{src:Qd,alt:"字体",class:"w-full h-full"})],-1)),A("div",c1,Ke(F.fontInfo.name),1),A("button",{onClick:U=>I(F),class:ht(["w-[18px] h-[18px] shrink-0 border rounded-full flex items-center justify-center p-0 bg-transparent",F.selected?"bg-[#9b6bc2] border-[#9b6bc2]":"border-[#c9cdd4]"])},[F.selected?(ie(),ce("img",h1)):Nt("",!0)],10,f1)]),A("div",{onClick:U=>I(F),class:"bg-white px-[8px] py-[8px] cursor-pointer"},[A("div",{innerHTML:F.svgResult.svg,class:"svg-preview-container"},null,8,d1)],8,p1)]))),128)),H.value?(ie(),ce("div",v1,Ke(o.value?"加载中...":`继续下滑加载更多(${L.value.length}/${i.value.length})`),1)):Nt("",!0)]))]))}}),S1=qn(b1,[["__scopeId","data-v-0268643c"]]),w1={class:"app-container w-screen h-screen box-border p-8px bg-white flex flex-col overflow-hidden"},T1={class:"header-row flex gap-2 items-center shrink-0 h-24 px-2 py-1"},F1={class:"slider-box flex items-center gap-3 px-2 shrink-0 relative",style:{width:"280px",height:"32px"}},C1={class:"flex-1 h-6 flex items-center relative"},k1=["value"],E1={class:"text-[#8552A1] text-[12px] font-medium text-center w-6"},O1={class:"shrink-0 relative w-9 h-9"},U1={class:"w-full h-full flex items-center justify-center cursor-pointer"},_1=["value"],L1={class:"input-box-desktop flex-1 min-w-[80px] bg-[#f7f8fa] rounded-lg px-2 py-1 h-12"},R1=["value"],I1={class:"export-group flex items-center gap-1 shrink-0 border border-[#8552A1] rounded-lg px-1 py-1 bg-[#f7f8fa] shadow-sm"},A1={class:"input-row-mobile hidden px-2 py-1 shrink-0"},M1={class:"flex-1 bg-[#f7f8fa] rounded-lg px-2 h-[30px]"},P1=["value"],D1={class:"bg-white rounded-xl p-6 shadow-xl relative max-w-[320px]"},B1={class:"main-content flex-1 flex gap-2 min-h-0 overflow-hidden px-2"},N1={class:"sidebar-left flex flex-col gap-2 shrink-0 overflow-hidden",style:{"flex-basis":"400px","max-width":"480px","min-width":"320px"}},G1={class:"font-selector-box flex-[2] border border-solid border-[#f7e0e0] rounded-lg p-1.5 flex flex-col gap-2 overflow-hidden min-h-0"},H1={class:"scrollbar-hover flex-1 overflow-y-auto overflow-x-hidden pr-2"},z1={class:"favorites-box border border-solid border-[#f7e0e0] rounded-lg p-1.5 flex flex-col gap-2 flex-1 overflow-hidden min-h-[120px]"},V1={class:"flex items-center pr-[9px]"},W1={class:"text-base text-black shrink-0 leading-none flex-1"},Z1=["src"],$1={class:"scrollbar-hover flex-1 overflow-y-auto overflow-x-hidden pr-2"},j1={class:"preview-box flex-1 border border-solid border-[#f7e0e0] rounded-lg p-1.5 flex flex-col gap-2 overflow-hidden min-w-0"},q1={class:"flex items-center pr-[9px]"},X1=["src"],K1={class:"scrollbar-hover flex-1 min-h-0 py-2 overflow-y-auto overflow-x-hidden"},Y1={class:"bottom-section-mobile hidden"},J1={class:"font-selector-mobile border border-solid border-[#3EE4C3] rounded-lg p-1.5 flex flex-col gap-1 overflow-hidden"},Q1={class:"scrollbar-hover flex-1 overflow-y-auto overflow-x-hidden"},ev={class:"favorites-mobile border border-solid border-[#3EE4C3] rounded-lg p-1.5 flex flex-col gap-1 overflow-hidden"},tv={class:"scrollbar-hover flex-1 overflow-y-auto overflow-x-hidden"},rv=Kr({__name:"App",setup(e){console.log("App.vue: script setup running...");const t=r0(),r=yr(),n=ge(null),s=ge(!1),a=ve(()=>{const w=(t.fontSize-10)/490*100;return Math.max(0,Math.min(100,w))}),o=ve(()=>{const w=r.previewFonts.map(y=>y.id);if(w.length===0)return!1;const g=new Set(t.selectedExportItems.map(y=>y.fontInfo.id));return w.every(y=>g.has(y))}),i=ve(()=>{const w=r.favoriteFonts.map(g=>g.id);return w.length===0?!1:w.every(g=>r.previewFontIds.has(g))}),l=ve(()=>r.favoriteFonts.length);try{vd(),console.log("App.vue: useFontLoader called successfully")}catch(w){console.error("App.vue: Error in useFontLoader:",w)}const c=Zo(t.inputText,tr);c!==t.inputText&&t.setInputText(c);async function u(w){t.retainExportItemsByFontIds(r.previewFontIds);const g=t.selectedExportItems,y=t.inputText.trim();if(g.length===0){alert("请选择需要导出的效果");return}if(!y){alert("请输入要导出的文字");return}try{const{renderSvgByApi:S}=await ro(async()=>{const{renderSvgByApi:q}=await Promise.resolve().then(()=>a1);return{renderSvgByApi:q}},void 0),{convertSvgToPngBlob:E,downloadSvg:_,downloadMultipleFiles:K,downloadPngFromSvg:H,generatePngFilename:L,generateSvgFilename:P}=await ro(async()=>{const{convertSvgToPngBlob:q,downloadSvg:oe,downloadMultipleFiles:ae,downloadPngFromSvg:te,generatePngFilename:M,generateSvgFilename:z}=await import("./download-CsugWKTX.js");return{convertSvgToPngBlob:q,downloadSvg:oe,downloadMultipleFiles:ae,downloadPngFromSvg:te,generatePngFilename:M,generateSvgFilename:z}},[]),X=async q=>S({fontId:q,text:y,fontSize:t.fontSize,fillColor:t.textColor,letterSpacing:Number(t.letterSpacing)||0,maxCharsPerLine:tr});if(g.length===1){const oe=g[0]?.fontInfo?.id;if(!oe){alert("选中字体信息无效,请重新选择后重试");return}const ae=await X(oe);if(w==="svg"){const te=P(y,ae.fontName);_(ae.svg,te)}else{const te=L(y,ae.fontName);await H(ae.svg,te,{width:ae.width,height:ae.height})}}else{const q=[];for(const oe of g)try{const ae=oe?.fontInfo?.id;if(!ae){console.warn("发现无效字体项,已跳过");continue}const te=await X(ae);if(w==="svg"){const M=P(y,te.fontName);q.push({name:M,content:te.svg})}else{const M=L(y,te.fontName),z=await E(te.svg,{width:te.width,height:te.height});q.push({name:M,content:z})}}catch(ae){console.warn(`字体 ${oe.fontInfo.name} 导出失败:`,ae)}q.length>0?await K(q,w==="svg"?"font2svg-svg-export.zip":"font2svg-png-export.zip"):alert(`所有字体${w.toUpperCase()}导出都失败了`)}}catch(S){console.error("导出失败:",S),alert(`导出失败: ${S instanceof Error?S.message:"未知错误"}`)}}function h(w){t.setFontSize(w)}function f(w){const g=w.target,y=Number(g.value);Number.isNaN(y)||t.setFontSize(y)}function p(w){const g=w.target,y=Zo(g.value,tr);y!==g.value&&(g.value=y),t.setInputText(y)}function x(){n.value?.toggleSelectAllPreviewItems()}function O(){const w=r.favoriteFonts.map(g=>g.id);if(w.length!==0){if(i.value){w.forEach(g=>r.removeFromPreview(g));return}w.forEach(g=>r.addToPreview(g))}}return console.log("App.vue: script setup completed"),(w,g)=>{const y=xu("overflow-aware");return ie(),ce("div",w1,[A("div",T1,[g[15]||(g[15]=A("div",{class:"logo-box w-12 h-12 rounded-xl overflow-hidden shrink-0"},[A("img",{src:Vc,alt:"logo",class:"w-full h-full object-cover"})],-1)),g[16]||(g[16]=A("div",{class:"app-title shrink-0 max-w-[225px] min-w-[120px]",style:{height:"72px"}},[A("img",{src:Wc,alt:"星程SVG文字生成 TEXT to SVG",class:"w-full h-full object-contain"})],-1)),A("div",F1,[A("button",{onClick:g[0]||(g[0]=S=>h(Le(t).fontSize-10)),class:"w-4 h-4 shrink-0 cursor-pointer hover:opacity-70 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"减小字体"},[...g[8]||(g[8]=[A("img",{src:Zc,alt:"A-",class:"w-4 h-4 object-contain"},null,-1)])]),A("div",C1,[A("input",{type:"range",min:"10",max:"500",step:"1",value:Le(t).fontSize,onInput:f,class:"font-size-range w-full h-6 cursor-pointer",style:Nr({background:`linear-gradient(to right, #9b6bc2 0%, #9b6bc2 ${a.value}%, #e5e6eb ${a.value}%, #e5e6eb 100%)`})},null,44,k1),A("div",{class:"absolute pointer-events-none -top-4",style:Nr({left:`calc(${a.value}% - 7px)`})},[A("div",E1,Ke(Le(t).fontSize),1)],4)]),A("button",{onClick:g[1]||(g[1]=S=>h(Le(t).fontSize+10)),class:"w-6 h-6 shrink-0 cursor-pointer hover:opacity-70 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"增大字体"},[...g[9]||(g[9]=[A("img",{src:$c,alt:"A+",class:"w-6 h-6 object-contain"},null,-1)])])]),A("div",O1,[A("label",U1,[g[10]||(g[10]=A("img",{src:jc,alt:"颜色",class:"w-9 h-9 object-contain"},null,-1)),A("input",{type:"color",value:Le(t).textColor,onInput:g[2]||(g[2]=S=>Le(t).setTextColor(S.target.value)),class:"absolute inset-0 opacity-0 cursor-pointer","aria-label":"选择文字颜色"},null,40,_1)])]),A("div",L1,[A("textarea",{value:Le(t).inputText,onInput:p,placeholder:"此处输入内容",class:"w-full h-full bg-transparent border-none outline-none text-base text-[#4e5969] placeholder-[#4e5969] resize-none leading-5 overflow-y-auto"},null,40,R1)]),A("div",I1,[g[14]||(g[14]=A("div",{class:"export-label w-[18px] h-[42px] shrink-0 pointer-events-none"},[A("img",{src:qc,alt:"导出",class:"w-full h-full object-contain"})],-1)),A("button",{onClick:g[3]||(g[3]=S=>u("svg")),class:"export-btn w-12 h-12 shrink-0 cursor-pointer hover:opacity-85 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"导出 SVG"},[...g[11]||(g[11]=[A("img",{src:Xc,alt:"导出SVG",class:"w-12 h-12 object-contain"},null,-1)])]),A("button",{onClick:g[4]||(g[4]=S=>u("png")),class:"export-btn w-12 h-12 shrink-0 cursor-pointer hover:opacity-85 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"导出 PNG"},[...g[12]||(g[12]=[A("img",{src:Kc,alt:"导出PNG",class:"w-12 h-12 object-contain"},null,-1)])]),A("button",{onClick:g[5]||(g[5]=S=>s.value=!0),class:"weixin-btn w-[54px] h-[42px] shrink-0 cursor-pointer hover:opacity-85 transition-opacity p-0 border-0 bg-transparent",title:"微信小程序"},[...g[13]||(g[13]=[A("img",{src:no,alt:"微信小程序二维码",class:"w-full h-full object-contain"},null,-1)])])])]),A("div",A1,[A("div",M1,[A("textarea",{value:Le(t).inputText,onInput:p,placeholder:"此处输入内容",class:"w-full h-full bg-transparent border-none outline-none text-sm text-[#4e5969] placeholder-[#4e5969] resize-none leading-[30px] overflow-hidden"},null,40,P1)])]),s.value?(ie(),ce("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:g[7]||(g[7]=Uc(S=>s.value=!1,["self"]))},[A("div",D1,[A("button",{onClick:g[6]||(g[6]=S=>s.value=!1),class:"absolute top-2 right-2 w-8 h-8 flex items-center justify-center text-gray-400 hover:text-gray-600 transition-colors border-0 bg-transparent cursor-pointer text-xl",title:"关闭"}," × "),g[17]||(g[17]=A("h3",{class:"text-center text-gray-800 font-medium mb-4"},"微信扫码使用小程序",-1)),g[18]||(g[18]=A("img",{src:no,alt:"微信小程序二维码",class:"w-64 h-64 object-contain"},null,-1))])])):Nt("",!0),A("div",B1,[A("div",N1,[A("div",G1,[lr((ie(),ce("div",H1,[Ge($o)])),[[y]])]),A("div",z1,[A("div",V1,[A("h2",W1," 已收藏字体("+Ke(l.value)+"字体) ",1),A("button",{onClick:O,class:"w-4 h-4 shrink-0 p-0 border-0 bg-transparent cursor-pointer hover:opacity-85 transition-opacity",title:"已收藏字体全选/全不选"},[A("img",{src:i.value?Le(Hs):Le(Gs),alt:"已收藏字体全选/全不选",class:"w-full h-full"},null,8,Z1)])]),lr((ie(),ce("div",$1,[Ge(jo)])),[[y]])])]),A("div",j1,[A("div",q1,[g[19]||(g[19]=A("h2",{class:"text-base text-black shrink-0 leading-none flex-1"},"效果预览",-1)),A("button",{onClick:x,class:"w-4 h-4 shrink-0 p-0 border-0 bg-transparent cursor-pointer hover:opacity-85 transition-opacity",title:"效果预览全选/全不选"},[A("img",{src:o.value?Le(Hs):Le(Gs),alt:"效果预览全选/全不选",class:"w-full h-full"},null,8,X1)])]),lr((ie(),ce("div",K1,[Ge(S1,{ref_key:"svgPreviewRef",ref:n},null,512)])),[[y]])]),A("div",Y1,[A("div",J1,[lr((ie(),ce("div",Q1,[Ge($o)])),[[y]])]),A("div",ev,[g[20]||(g[20]=A("h2",{class:"text-sm text-black shrink-0 leading-none"},"已收藏",-1)),lr((ie(),ce("div",tv,[Ge(jo)])),[[y]])])])]),g[21]||(g[21]=A("div",{class:"copyright-footer text-[#86909c] text-xs text-center shrink-0 flex items-center justify-center px-2"}," @版权说明:所有字体来源互联网分享,仅供效果预览,不做下载传播,如有侵权,请告知douboer@gmail.com ",-1))])}}}),o0=qn(rv,[["__scopeId","data-v-5f1e44f1"]]);console.log("main.ts is loading...");console.log("App component:",o0);const Xn=Rc(o0);Xn.use(Mc());const xs=new WeakMap;function qo(e){const t=e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth;e.dataset.overflowing=t?"true":"false"}const nv={mounted(e){const t=()=>qo(e);t();const r=new ResizeObserver(t);r.observe(e);const n=new MutationObserver(t);n.observe(e,{childList:!0,subtree:!0,characterData:!0});const s=()=>t(),a=()=>t();e.addEventListener("mouseenter",s),window.addEventListener("resize",a),xs.set(e,{resizeObserver:r,mutationObserver:n,onMouseEnter:s,onWindowResize:a})},updated(e){qo(e)},unmounted(e){const t=xs.get(e);t&&(t.resizeObserver.disconnect(),t.mutationObserver.disconnect(),e.removeEventListener("mouseenter",t.onMouseEnter),window.removeEventListener("resize",t.onWindowResize),xs.delete(e))}};Xn.directive("overflow-aware",nv);Xn.config.errorHandler=(e,t,r)=>{console.error("Vue Error:",e),console.error("Error info:",r),console.error("Component instance:",t)};console.log("Mounting app to #app...");Xn.mount("#app");console.log("App mounted successfully!");export{ro as _}; diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 3c1be6f..817f214 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -8,8 +8,8 @@ Font2SVG - 字体转SVG工具 - - + +
diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 1f9ae42..0b86f3d 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -472,6 +472,12 @@ console.log('App.vue: script setup completed') background: transparent; } +/* 桌面端版权区域 */ +.copyright-footer { + height: 24px; + padding-top: 16px; +} + /* 移动端响应式布局 (iOS/Android web) */ @media (max-width: 768px) { .app-container {