From 3f3e3a224e87eebd5c9f522e2d4ee52e8f4635e6 Mon Sep 17 00:00:00 2001 From: 0x-jerry <0x-jerry@users.noreply.github.com> Date: Tue, 11 Jun 2024 07:37:48 +0000 Subject: [PATCH] deploy: bd1b654259252a82c20e1467662113244a65715f --- .nojekyll | 0 assets/_template-DB4FXUMk.js | 1 + assets/angle-CPSFGmFf.js | 1 + assets/fractal-tree-BPdlYLP0.js | 1 + assets/game-of-life-D0xFN4Vm.js | 1 + assets/grid-BnBmgwES.js | 1 + assets/index-CkOdeoEX.js | 27 +++++++++++++++++++++++++++ assets/index-D8Pt_-NN.css | 1 + assets/langton-ant-UCmD8xNB.js | 1 + assets/maze-CEZnvXPB.js | 1 + assets/pseudorandom-9FEvop_2.js | 1 + assets/random-C3VbbgS7.js | 1 + assets/useCanvasRunner-DD2PEO6M.js | 1 + assets/useFPSRunner-CtoNmCNe.js | 3 +++ assets/utils-DWuipzrQ.js | 1 + favicon.svg | 1 + index.html | 14 ++++++++++++++ 17 files changed, 57 insertions(+) create mode 100644 .nojekyll create mode 100644 assets/_template-DB4FXUMk.js create mode 100644 assets/angle-CPSFGmFf.js create mode 100644 assets/fractal-tree-BPdlYLP0.js create mode 100644 assets/game-of-life-D0xFN4Vm.js create mode 100644 assets/grid-BnBmgwES.js create mode 100644 assets/index-CkOdeoEX.js create mode 100644 assets/index-D8Pt_-NN.css create mode 100644 assets/langton-ant-UCmD8xNB.js create mode 100644 assets/maze-CEZnvXPB.js create mode 100644 assets/pseudorandom-9FEvop_2.js create mode 100644 assets/random-C3VbbgS7.js create mode 100644 assets/useCanvasRunner-DD2PEO6M.js create mode 100644 assets/useFPSRunner-CtoNmCNe.js create mode 100644 assets/utils-DWuipzrQ.js create mode 100644 favicon.svg create mode 100644 index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/assets/_template-DB4FXUMk.js b/assets/_template-DB4FXUMk.js new file mode 100644 index 0000000..28247ed --- /dev/null +++ b/assets/_template-DB4FXUMk.js @@ -0,0 +1 @@ +import{u as s,a as o,b as n,_ as r}from"./useFPSRunner-CtoNmCNe.js";import{R as u}from"./pseudorandom-9FEvop_2.js";import{d as f,o as c,c as l,w as i,a as m,u as p}from"./index-CkOdeoEX.js";const B=f({__name:"_template",setup(_){const e=s({color:"#f26f6f",FPS:{_:!0,step:1,value:24,min:8,max:60}}),a=o();u(),n(t,{fps:()=>e.value.FPS});function t(){}return(d,x)=>(c(),l(r,{title:"title"},{default:i(()=>[m("div",{ref:p(a).ref,class:"w-full h-full"},null,512)]),_:1}))}});export{B as default}; diff --git a/assets/angle-CPSFGmFf.js b/assets/angle-CPSFGmFf.js new file mode 100644 index 0000000..d030f7f --- /dev/null +++ b/assets/angle-CPSFGmFf.js @@ -0,0 +1 @@ +const{PI:s}=Math,t=a=>a/180*s;export{s as P,t as d}; diff --git a/assets/fractal-tree-BPdlYLP0.js b/assets/fractal-tree-BPdlYLP0.js new file mode 100644 index 0000000..fcf1e5d --- /dev/null +++ b/assets/fractal-tree-BPdlYLP0.js @@ -0,0 +1 @@ +import{c as _,u as w,_ as F}from"./useFPSRunner-CtoNmCNe.js";import{c as v}from"./utils-DWuipzrQ.js";import{u as C}from"./useCanvasRunner-DD2PEO6M.js";import{R as X}from"./pseudorandom-9FEvop_2.js";import{d as h}from"./angle-CPSFGmFf.js";import{d as k,o as x,c as A,w as S,a as T,u as V}from"./index-CkOdeoEX.js";function R({axiom:e,rules:a,actions:l,iterCount:f}){return{create:s,get:p};async function*s(t){let n=e.split("").map(o=>({type:o,iteration:0}));const r=_(f||100,100,1e3);let c=r;for(;n.length;){let o=function(){return d(i.type)};c--<0&&(yield,c=r);const i=n.shift();if(i.iteration===t){await o();continue}const u=a[i.type],m=[];if(!u){await o();continue}const y=u.split("");for(const g of y)m.push({type:g,iteration:i.iteration+1});n=m.concat(n)}}function p(t){let n=e.split("");for(let r=0;rf()}),l=C(s=>{v(s);const p=a.value;return b(s,p)});l.emitter.on("done",()=>{console.log("done")});async function f(){l.recreate()}return(s,p)=>(x(),A(F,{title:"Fractal Tree"},{default:S(()=>[T("div",{ref:V(l).ctx.ref,class:"w-full h-full"},null,512)]),_:1}))}});export{M as default}; diff --git a/assets/game-of-life-D0xFN4Vm.js b/assets/game-of-life-D0xFN4Vm.js new file mode 100644 index 0000000..d74ae76 --- /dev/null +++ b/assets/game-of-life-D0xFN4Vm.js @@ -0,0 +1 @@ +import{u as h,_}from"./useFPSRunner-CtoNmCNe.js";import{R as p}from"./pseudorandom-9FEvop_2.js";import{G as w}from"./grid-BnBmgwES.js";import{u as v}from"./useCanvasRunner-DD2PEO6M.js";import{d as g,e as C,b as S,o as G,c as x,w as z,a as M,u as R}from"./index-CkOdeoEX.js";const b=g({__name:"game-of-life",setup(B){const i=h({color:"#f26f6f",size:{_:!0,min:5,step:1,value:20},FPS:{_:!0,step:1,value:24,min:8,max:60},refresh(){f()}});p();class u extends w{getSurroundCount(e,s){let n=0;for(let a=e-1;a<=e+1;a++)for(let t=s-1;t<=s+1;t++)a===e&&t===s||(n+=this.get(a,t)||0);return n}}const o=new u;C(()=>i.value.size,()=>{f()});const l=v(d,{fps:()=>i.value.FPS});S(()=>{f()});function f(){const c=l.ctx.canvas,{width:e,height:s}=c,{size:n}=i.value;o.w=Math.ceil(e/n),o.h=Math.ceil(s/n),o.clear(),o.forEach((a,t,r)=>{o.set(t,r,Math.random()>.9?1:0)})}function d(c){const{size:e}=i.value,s=new u(o.w,o.h);o.forEach((n=0,a,t)=>{const r=o.getSurroundCount(a,t),m=r<2?0:r===3&&n===0?1:r>3?0:n;m===1&&r>3&&console.log(n,a,t,r),s.set(a,t,m),c.fillStyle=n===0?"white":i.value.color,c.fillRect(a*e,t*e,e,e)}),o.data=s.data}return(c,e)=>(G(),x(_,{title:"Conway's Game of Life"},{default:z(()=>[M("div",{ref:R(l).ctx.ref,class:"w-full h-full"},null,512)]),_:1}))}});export{b as default}; diff --git a/assets/grid-BnBmgwES.js b/assets/grid-BnBmgwES.js new file mode 100644 index 0000000..bbbe6f7 --- /dev/null +++ b/assets/grid-BnBmgwES.js @@ -0,0 +1 @@ +var a=Object.defineProperty;var d=(h,s,t)=>s in h?a(h,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):h[s]=t;var r=(h,s,t)=>(d(h,typeof s!="symbol"?s+"":s,t),t);class o{constructor(s=0,t=0){r(this,"data",[]);this.w=s,this.h=t}get(s,t){if(s<0||s>=this.w||t<0||t>=this.h)return;const i=this.getIndex(s,t);return this.data.at(i)}set(s,t,i){if(s<0||s>=this.w||t<0||t>=this.h)return;const e=t*this.w+s;this.data[e]=i}getIndex(s,t){return t*this.w+s}forEach(s){for(let t=0;t __vite__mapDeps.viteFileDeps[i]) +} +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();const Mo="modulepreload",Lo=function(e,t){return new URL(e,t).href},xs={},Rt=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),c=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.all(n.map(l=>{if(l=Lo(l,s),l in xs)return;xs[l]=!0;const d=l.endsWith(".css"),a=d?'[rel="stylesheet"]':"";if(!!s)for(let v=o.length-1;v>=0;v--){const O=o[v];if(O.href===l&&(!d||O.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${a}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":Mo,d||(h.as="script",h.crossOrigin=""),h.href=l,c&&h.setAttribute("nonce",c),document.head.appendChild(h),d)return new Promise((v,O)=>{h.addEventListener("load",v),h.addEventListener("error",()=>O(new Error(`Unable to preload CSS for ${l}`)))})}))}return r.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})};/** +* @vue/shared v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Zn(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const X={},gt=[],xe=()=>{},$o=()=>!1,dn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),es=e=>e.startsWith("onUpdate:"),ie=Object.assign,ts=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},No=Object.prototype.hasOwnProperty,D=(e,t)=>No.call(e,t),F=Array.isArray,mt=e=>hn(e)==="[object Map]",_r=e=>hn(e)==="[object Set]",H=e=>typeof e=="function",te=e=>typeof e=="string",Pt=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",yr=e=>(Z(e)||H(e))&&H(e.then)&&H(e.catch),vr=Object.prototype.toString,hn=e=>vr.call(e),Fo=e=>hn(e).slice(8,-1),br=e=>hn(e)==="[object Object]",ns=e=>te(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Mt=Zn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),pn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},jo=/-(\w)/g,Ne=pn(e=>e.replace(jo,(t,n)=>n?n.toUpperCase():"")),Ho=/\B([A-Z])/g,St=pn(e=>e.replace(Ho,"-$1").toLowerCase()),gn=pn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Cn=pn(e=>e?`on${gn(e)}`:""),Je=(e,t)=>!Object.is(e,t),On=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Bo=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let ws;const Er=()=>ws||(ws=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function vt(e){if(F(e)){const t={};for(let n=0;n{if(n){const s=n.split(Vo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function mn(e){let t="";if(te(e))t=e;else if(F(e))for(let n=0;nte(e)?e:e==null?"":F(e)||Z(e)&&(e.toString===vr||!H(e.toString))?JSON.stringify(e,wr,2):String(e),wr=(e,t)=>t&&t.__v_isRef?wr(e,t.value):mt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[An(s,o)+" =>"]=r,n),{})}:_r(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>An(n))}:Pt(t)?An(t):Z(t)&&!F(t)&&!br(t)?String(t):t,An=(e,t="")=>{var n;return Pt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ye;class Go{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ye,!t&&ye&&(this.index=(ye.scopes||(ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ye;try{return ye=this,t()}finally{ye=n}}}on(){ye=this}off(){ye=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),ct()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ge,n=rt;try{return Ge=!0,rt=this,this._runnings++,Rs(this),this.fn()}finally{Ps(this),this._runnings--,rt=n,Ge=t}}stop(){var t;this.active&&(Rs(this),Ps(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Jo(e){return e.value}function Rs(e){e._trackId++,e._depsLength=0}function Ps(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},Vn=new WeakMap,ot=Symbol(""),Dn=Symbol("");function ge(e,t,n){if(Ge&&rt){let s=Vn.get(e);s||Vn.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=Or(()=>s.delete(n))),Sr(rt,r)}}function He(e,t,n,s,r,o){const i=Vn.get(e);if(!i)return;let c=[];if(t==="clear")c=[...i.values()];else if(n==="length"&&F(e)){const l=Number(s);i.forEach((d,a)=>{(a==="length"||!Pt(a)&&a>=l)&&c.push(d)})}else switch(n!==void 0&&c.push(i.get(n)),t){case"add":F(e)?ns(n)&&c.push(i.get("length")):(c.push(i.get(ot)),mt(e)&&c.push(i.get(Dn)));break;case"delete":F(e)||(c.push(i.get(ot)),mt(e)&&c.push(i.get(Dn)));break;case"set":mt(e)&&c.push(i.get(ot));break}rs();for(const l of c)l&&Cr(l,4);os()}const Xo=Zn("__proto__,__v_isRef,__isVue"),Ar=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Pt)),Ss=Zo();function Zo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=k(this);for(let o=0,i=this.length;o{e[t]=function(...n){lt(),rs();const s=k(this)[t].apply(this,n);return os(),ct(),s}}),e}function ei(e){const t=k(this);return ge(t,"has",e),t.hasOwnProperty(e)}class Tr{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?hi:$r:o?Lr:Mr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=F(t);if(!r){if(i&&D(Ss,n))return Reflect.get(Ss,n,s);if(n==="hasOwnProperty")return ei}const c=Reflect.get(t,n,s);return(Pt(n)?Ar.has(n):Xo(n))||(r||ge(t,"get",n),o)?c:me(c)?i&&ns(n)?c:c.value:Z(c)?r?Fr(c):yn(c):c}}class Ir extends Tr{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._isShallow){const l=bt(o);if(!ln(s)&&!bt(s)&&(o=k(o),s=k(s)),!F(t)&&me(o)&&!me(s))return l?!1:(o.value=s,!0)}const i=F(t)&&ns(n)?Number(n)e,_n=e=>Reflect.getPrototypeOf(e);function Gt(e,t,n=!1,s=!1){e=e.__v_raw;const r=k(e),o=k(t);n||(Je(t,o)&&ge(r,"get",t),ge(r,"get",o));const{has:i}=_n(r),c=s?is:n?us:Bt;if(i.call(r,t))return c(e.get(t));if(i.call(r,o))return c(e.get(o));e!==r&&e.get(t)}function Qt(e,t=!1){const n=this.__v_raw,s=k(n),r=k(e);return t||(Je(e,r)&&ge(s,"has",e),ge(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Yt(e,t=!1){return e=e.__v_raw,!t&&ge(k(e),"iterate",ot),Reflect.get(e,"size",e)}function Cs(e){e=k(e);const t=k(this);return _n(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function Os(e,t){t=k(t);const n=k(this),{has:s,get:r}=_n(n);let o=s.call(n,e);o||(e=k(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Je(t,i)&&He(n,"set",e,t):He(n,"add",e,t),this}function As(e){const t=k(this),{has:n,get:s}=_n(t);let r=n.call(t,e);r||(e=k(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&He(t,"delete",e,void 0),o}function Ts(){const e=k(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function Jt(e,t){return function(s,r){const o=this,i=o.__v_raw,c=k(i),l=t?is:e?us:Bt;return!e&&ge(c,"iterate",ot),i.forEach((d,a)=>s.call(r,l(d),l(a),o))}}function Xt(e,t,n){return function(...s){const r=this.__v_raw,o=k(r),i=mt(o),c=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,d=r[e](...s),a=n?is:t?us:Bt;return!t&&ge(o,"iterate",l?Dn:ot),{next(){const{value:p,done:h}=d.next();return h?{value:p,done:h}:{value:c?[a(p[0]),a(p[1])]:a(p),done:h}},[Symbol.iterator](){return this}}}}function De(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function oi(){const e={get(o){return Gt(this,o)},get size(){return Yt(this)},has:Qt,add:Cs,set:Os,delete:As,clear:Ts,forEach:Jt(!1,!1)},t={get(o){return Gt(this,o,!1,!0)},get size(){return Yt(this)},has:Qt,add:Cs,set:Os,delete:As,clear:Ts,forEach:Jt(!1,!0)},n={get(o){return Gt(this,o,!0)},get size(){return Yt(this,!0)},has(o){return Qt.call(this,o,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Jt(!0,!1)},s={get(o){return Gt(this,o,!0,!0)},get size(){return Yt(this,!0)},has(o){return Qt.call(this,o,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Jt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Xt(o,!1,!1),n[o]=Xt(o,!0,!1),t[o]=Xt(o,!1,!0),s[o]=Xt(o,!0,!0)}),[e,n,t,s]}const[ii,li,ci,ui]=oi();function ls(e,t){const n=t?e?ui:ci:e?li:ii;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(D(n,r)&&r in s?n:s,r,o)}const fi={get:ls(!1,!1)},ai={get:ls(!1,!0)},di={get:ls(!0,!1)},Mr=new WeakMap,Lr=new WeakMap,$r=new WeakMap,hi=new WeakMap;function pi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function gi(e){return e.__v_skip||!Object.isExtensible(e)?0:pi(Fo(e))}function yn(e){return bt(e)?e:cs(e,!1,ni,fi,Mr)}function Nr(e){return cs(e,!1,ri,ai,Lr)}function Fr(e){return cs(e,!0,si,di,$r)}function cs(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=gi(e);if(i===0)return e;const c=new Proxy(e,i===2?s:n);return r.set(e,c),c}function _t(e){return bt(e)?_t(e.__v_raw):!!(e&&e.__v_isReactive)}function bt(e){return!!(e&&e.__v_isReadonly)}function ln(e){return!!(e&&e.__v_isShallow)}function jr(e){return _t(e)||bt(e)}function k(e){const t=e&&e.__v_raw;return t?k(t):e}function Hr(e){return Object.isExtensible(e)&&on(e,"__v_skip",!0),e}const Bt=e=>Z(e)?yn(e):e,us=e=>Z(e)?Fr(e):e;class Br{constructor(t,n,s,r){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new ss(()=>t(this._value),()=>en(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=k(this);return(!t._cacheable||t.effect.dirty)&&Je(t._value,t._value=t.effect.run())&&en(t,4),Ur(t),t.effect._dirtyLevel>=2&&en(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function mi(e,t,n=!1){let s,r;const o=H(e);return o?(s=e,r=xe):(s=e.get,r=e.set),new Br(s,r,o||!r,n)}function Ur(e){var t;Ge&&rt&&(e=k(e),Sr(rt,(t=e.dep)!=null?t:e.dep=Or(()=>e.dep=void 0,e instanceof Br?e:void 0)))}function en(e,t=4,n){e=k(e);const s=e.dep;s&&Cr(s,t)}function me(e){return!!(e&&e.__v_isRef===!0)}function _i(e){return Vr(e,!1)}function yi(e){return Vr(e,!0)}function Vr(e,t){return me(e)?e:new vi(e,t)}class vi{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:k(t),this._value=n?t:Bt(t)}get value(){return Ur(this),this._value}set value(t){const n=this.__v_isShallow||ln(t)||bt(t);t=n?t:k(t),Je(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Bt(t),en(this,4))}}function Qe(e){return me(e)?e.value:e}function Vu(e){return H(e)?e():Qe(e)}const bi={get:(e,t,n)=>Qe(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return me(r)&&!me(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Dr(e){return _t(e)?e:new Proxy(e,bi)}/** +* @vue/runtime-core v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ye(e,t,n,s){try{return s?e(...s):e()}catch(r){vn(r,t,n)}}function Pe(e,t,n,s){if(H(e)){const o=Ye(e,t,n,s);return o&&yr(o)&&o.catch(i=>{vn(i,t,n)}),o}const r=[];for(let o=0;o>>1,r=ce[s],o=Vt(r);oLe&&ce.splice(t,1)}function Ri(e){F(e)?yt.push(...e):(!Ke||!Ke.includes(e,e.allowRecurse?st+1:st))&&yt.push(e),zr()}function Is(e,t,n=Ut?Le+1:0){for(;nVt(n)-Vt(s));if(yt.length=0,Ke){Ke.push(...t);return}for(Ke=t,st=0;ste.id==null?1/0:e.id,Pi=(e,t)=>{const n=Vt(e)-Vt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function qr(e){kn=!1,Ut=!0,ce.sort(Pi);try{for(Le=0;Lete(v)?v.trim():v)),p&&(r=n.map(Bo))}let c,l=s[c=Cn(t)]||s[c=Cn(Ne(t))];!l&&o&&(l=s[c=Cn(St(t))]),l&&Pe(l,e,6,r);const d=s[c+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Pe(d,e,6,r)}}function Gr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},c=!1;if(!H(e)){const l=d=>{const a=Gr(d,t,!0);a&&(c=!0,ie(i,a))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!c?(Z(e)&&s.set(e,null),null):(F(o)?o.forEach(l=>i[l]=null):ie(i,o),Z(e)&&s.set(e,i),i)}function bn(e,t){return!e||!dn(t)?!1:(t=t.slice(2).replace(/Once$/,""),D(e,t[0].toLowerCase()+t.slice(1))||D(e,St(t))||D(e,t))}let ue=null,Qr=null;function cn(e){const t=ue;return ue=e,Qr=e&&e.type.__scopeId||null,t}function Ci(e,t=ue,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Ds(-1);const o=cn(t);let i;try{i=e(...r)}finally{cn(o),s._d&&Ds(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function Tn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:c,attrs:l,emit:d,render:a,renderCache:p,data:h,setupState:v,ctx:O,inheritAttrs:L}=e;let j,T;const $=cn(e);try{if(n.shapeFlag&4){const K=r||s,ee=K;j=Me(a.call(ee,K,p,o,v,h,O)),T=l}else{const K=t;j=Me(K.length>1?K(o,{attrs:l,slots:c,emit:d}):K(o,null)),T=t.props?l:Oi(l)}}catch(K){Ft.length=0,vn(K,e,1),j=oe(Xe)}let B=j;if(T&&L!==!1){const K=Object.keys(T),{shapeFlag:ee}=B;K.length&&ee&7&&(i&&K.some(es)&&(T=Ai(T,i)),B=Et(B,T))}return n.dirs&&(B=Et(B),B.dirs=B.dirs?B.dirs.concat(n.dirs):n.dirs),n.transition&&(B.transition=n.transition),j=B,cn($),j}const Oi=e=>{let t;for(const n in e)(n==="class"||n==="style"||dn(n))&&((t||(t={}))[n]=e[n]);return t},Ai=(e,t)=>{const n={};for(const s in e)(!es(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ti(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:c,patchFlag:l}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return s?Ms(s,i,d):!!i;if(l&8){const a=t.dynamicProps;for(let p=0;pe.__isSuspense;function Fi(e,t){t&&t.pendingBranch?F(e)?t.effects.push(...e):t.effects.push(e):Ri(e)}const ji=Symbol.for("v-scx"),Hi=()=>$e(ji),Zt={};function tn(e,t,n){return Jr(e,t,n)}function Jr(e,t,{immediate:n,deep:s,flush:r,once:o,onTrack:i,onTrigger:c}=X){if(t&&o){const U=t;t=(...fe)=>{U(...fe),ee()}}const l=re,d=U=>s===!0?U:pt(U,s===!1?1:void 0);let a,p=!1,h=!1;if(me(e)?(a=()=>e.value,p=ln(e)):_t(e)?(a=()=>d(e),p=!0):F(e)?(h=!0,p=e.some(U=>_t(U)||ln(U)),a=()=>e.map(U=>{if(me(U))return U.value;if(_t(U))return d(U);if(H(U))return Ye(U,l,2)})):H(e)?t?a=()=>Ye(e,l,2):a=()=>(v&&v(),Pe(e,l,3,[O])):a=xe,t&&s){const U=a;a=()=>pt(U())}let v,O=U=>{v=B.onStop=()=>{Ye(U,l,4),v=B.onStop=void 0}},L;if(Pn)if(O=xe,t?n&&Pe(t,l,3,[a(),h?[]:void 0,O]):a(),r==="sync"){const U=Hi();L=U.__watcherHandles||(U.__watcherHandles=[])}else return xe;let j=h?new Array(e.length).fill(Zt):Zt;const T=()=>{if(!(!B.active||!B.dirty))if(t){const U=B.run();(s||p||(h?U.some((fe,ve)=>Je(fe,j[ve])):Je(U,j)))&&(v&&v(),Pe(t,l,3,[U,j===Zt?void 0:h&&j[0]===Zt?[]:j,O]),j=U)}else B.run()};T.allowRecurse=!!t;let $;r==="sync"?$=T:r==="post"?$=()=>pe(T,l&&l.suspense):(T.pre=!0,l&&(T.id=l.uid),$=()=>as(T));const B=new ss(a,xe,$),K=Yo(),ee=()=>{B.stop(),K&&ts(K.effects,B)};return t?n?T():j=B.run():r==="post"?pe(B.run.bind(B),l&&l.suspense):B.run(),L&&L.push(ee),ee}function Bi(e,t,n){const s=this.proxy,r=te(e)?e.includes(".")?Xr(s,e):()=>s[e]:e.bind(s,s);let o;H(t)?o=t:(o=t.handler,n=t);const i=Wt(this),c=Jr(r,o.bind(s),n);return i(),c}function Xr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r0){if(n>=t)return e;n++}if(s=s||new Set,s.has(e))return e;if(s.add(e),me(e))pt(e.value,t,n,s);else if(F(e))for(let r=0;r{pt(r,t,n,s)});else if(br(e))for(const r in e)pt(e[r],t,n,s);return e}function tt(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i!!e.type.__asyncLoader,Zr=e=>e.type.__isKeepAlive;function Ui(e,t){eo(e,"a",t)}function Vi(e,t){eo(e,"da",t)}function eo(e,t,n=re){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(xn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Zr(r.parent.vnode)&&Di(s,t,n,r),r=r.parent}}function Di(e,t,n,s){const r=xn(t,e,s,!0);to(()=>{ts(s[t],r)},n)}function xn(e,t,n=re,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;lt();const c=Wt(n),l=Pe(t,n,e,i);return c(),ct(),l});return s?r.unshift(o):r.push(o),o}}const Be=e=>(t,n=re)=>(!Pn||e==="sp")&&xn(e,(...s)=>t(...s),n),ki=Be("bm"),Ki=Be("m"),zi=Be("bu"),Wi=Be("u"),qi=Be("bum"),to=Be("um"),Gi=Be("sp"),Qi=Be("rtg"),Yi=Be("rtc");function Ji(e,t=re){xn("ec",e,t)}function Xi(e,t,n,s){let r;const o=n&&n[s];if(F(e)||te(e)){r=new Array(e.length);for(let i=0,c=e.length;it(i,c,void 0,o&&o[c]));else{const i=Object.keys(e);r=new Array(i.length);for(let c=0,l=i.length;cfn(t)?!(t.type===Xe||t.type===be&&!no(t.children)):!0)?e:null}const Kn=e=>e?yo(e)?gs(e)||e.proxy:Kn(e.parent):null,$t=ie(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=>Kn(e.parent),$root:e=>Kn(e.root),$emit:e=>e.emit,$options:e=>ds(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,as(e.update)}),$nextTick:e=>e.n||(e.n=Kr.bind(e.proxy)),$watch:e=>Bi.bind(e)}),In=(e,t)=>e!==X&&!e.__isScriptSetup&&D(e,t),Zi={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:c,appContext:l}=e;let d;if(t[0]!=="$"){const v=i[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(In(s,t))return i[t]=1,s[t];if(r!==X&&D(r,t))return i[t]=2,r[t];if((d=e.propsOptions[0])&&D(d,t))return i[t]=3,o[t];if(n!==X&&D(n,t))return i[t]=4,n[t];zn&&(i[t]=0)}}const a=$t[t];let p,h;if(a)return t==="$attrs"&&ge(e,"get",t),a(e);if((p=c.__cssModules)&&(p=p[t]))return p;if(n!==X&&D(n,t))return i[t]=4,n[t];if(h=l.config.globalProperties,D(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return In(r,t)?(r[t]=n,!0):s!==X&&D(s,t)?(s[t]=n,!0):D(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let c;return!!n[i]||e!==X&&D(e,i)||In(t,i)||(c=o[0])&&D(c,i)||D(s,i)||D($t,i)||D(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:D(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function $s(e){return F(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let zn=!0;function el(e){const t=ds(e),n=e.proxy,s=e.ctx;zn=!1,t.beforeCreate&&Ns(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:c,provide:l,inject:d,created:a,beforeMount:p,mounted:h,beforeUpdate:v,updated:O,activated:L,deactivated:j,beforeDestroy:T,beforeUnmount:$,destroyed:B,unmounted:K,render:ee,renderTracked:U,renderTriggered:fe,errorCaptured:ve,serverPrefetch:Ze,expose:Ce,inheritAttrs:Ue,components:et,directives:Oe,filters:Ct}=t;if(d&&tl(d,s,null),i)for(const G in i){const z=i[G];H(z)&&(s[G]=z.bind(n))}if(r){const G=r.call(n,n);Z(G)&&(e.data=yn(G))}if(zn=!0,o)for(const G in o){const z=o[G],Fe=H(z)?z.bind(n,n):H(z.get)?z.get.bind(n,n):xe,Ve=!H(z)&&H(z.set)?z.set.bind(n):xe,Ae=Ee({get:Fe,set:Ve});Object.defineProperty(s,G,{enumerable:!0,configurable:!0,get:()=>Ae.value,set:he=>Ae.value=he})}if(c)for(const G in c)so(c[G],s,n,G);if(l){const G=H(l)?l.call(n):l;Reflect.ownKeys(G).forEach(z=>{nn(z,G[z])})}a&&Ns(a,e,"c");function ne(G,z){F(z)?z.forEach(Fe=>G(Fe.bind(n))):z&&G(z.bind(n))}if(ne(ki,p),ne(Ki,h),ne(zi,v),ne(Wi,O),ne(Ui,L),ne(Vi,j),ne(Ji,ve),ne(Yi,U),ne(Qi,fe),ne(qi,$),ne(to,K),ne(Gi,Ze),F(Ce))if(Ce.length){const G=e.exposed||(e.exposed={});Ce.forEach(z=>{Object.defineProperty(G,z,{get:()=>n[z],set:Fe=>n[z]=Fe})})}else e.exposed||(e.exposed={});ee&&e.render===xe&&(e.render=ee),Ue!=null&&(e.inheritAttrs=Ue),et&&(e.components=et),Oe&&(e.directives=Oe)}function tl(e,t,n=xe){F(e)&&(e=Wn(e));for(const s in e){const r=e[s];let o;Z(r)?"default"in r?o=$e(r.from||s,r.default,!0):o=$e(r.from||s):o=$e(r),me(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function Ns(e,t,n){Pe(F(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function so(e,t,n,s){const r=s.includes(".")?Xr(n,s):()=>n[s];if(te(e)){const o=t[e];H(o)&&tn(r,o)}else if(H(e))tn(r,e.bind(n));else if(Z(e))if(F(e))e.forEach(o=>so(o,t,n,s));else{const o=H(e.handler)?e.handler.bind(n):t[e.handler];H(o)&&tn(r,o,e)}}function ds(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,c=o.get(t);let l;return c?l=c:!r.length&&!n&&!s?l=t:(l={},r.length&&r.forEach(d=>un(l,d,i,!0)),un(l,t,i)),Z(t)&&o.set(t,l),l}function un(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&un(e,o,n,!0),r&&r.forEach(i=>un(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const c=nl[i]||n&&n[i];e[i]=c?c(e[i],t[i]):t[i]}return e}const nl={data:Fs,props:js,emits:js,methods:It,computed:It,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:It,directives:It,watch:rl,provide:Fs,inject:sl};function Fs(e,t){return t?e?function(){return ie(H(e)?e.call(this,this):e,H(t)?t.call(this,this):t)}:t:e}function sl(e,t){return It(Wn(e),Wn(t))}function Wn(e){if(F(e)){const t={};for(let n=0;n1)return n&&H(t)?t.call(s&&s.proxy):t}}function ll(e,t,n,s=!1){const r={},o={};on(o,Rn,1),e.propsDefaults=Object.create(null),oo(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:Nr(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function cl(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,c=k(r),[l]=e.propsOptions;let d=!1;if((s||i>0)&&!(i&16)){if(i&8){const a=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[h,v]=io(p,t,!0);ie(i,h),v&&c.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!o&&!l)return Z(e)&&s.set(e,gt),gt;if(F(o))for(let a=0;a-1,v[1]=L<0||O-1||D(v,"default"))&&c.push(p)}}}const d=[i,c];return Z(e)&&s.set(e,d),d}function Hs(e){return e[0]!=="$"&&!Mt(e)}function Bs(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Us(e,t){return Bs(e)===Bs(t)}function Vs(e,t){return F(t)?t.findIndex(n=>Us(n,e)):H(t)&&Us(t,e)?0:-1}const lo=e=>e[0]==="_"||e==="$stable",hs=e=>F(e)?e.map(Me):[Me(e)],ul=(e,t,n)=>{if(t._n)return t;const s=Ci((...r)=>hs(t(...r)),n);return s._c=!1,s},co=(e,t,n)=>{const s=e._ctx;for(const r in e){if(lo(r))continue;const o=e[r];if(H(o))t[r]=ul(r,o,s);else if(o!=null){const i=hs(o);t[r]=()=>i}}},uo=(e,t)=>{const n=hs(t);e.slots.default=()=>n},fl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=k(t),on(t,"_",n)):co(t,e.slots={})}else e.slots={},t&&uo(e,t);on(e.slots,Rn,1)},al=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=X;if(s.shapeFlag&32){const c=t._;c?n&&c===1?o=!1:(ie(r,t),!n&&c===1&&delete r._):(o=!t.$stable,co(t,r)),i=t}else t&&(uo(e,t),i={default:1});if(o)for(const c in r)!lo(c)&&i[c]==null&&delete r[c]};function Gn(e,t,n,s,r=!1){if(F(e)){e.forEach((h,v)=>Gn(h,t&&(F(t)?t[v]:t),n,s,r));return}if(Lt(s)&&!r)return;const o=s.shapeFlag&4?gs(s.component)||s.component.proxy:s.el,i=r?null:o,{i:c,r:l}=e,d=t&&t.r,a=c.refs===X?c.refs={}:c.refs,p=c.setupState;if(d!=null&&d!==l&&(te(d)?(a[d]=null,D(p,d)&&(p[d]=null)):me(d)&&(d.value=null)),H(l))Ye(l,c,12,[i,a]);else{const h=te(l),v=me(l);if(h||v){const O=()=>{if(e.f){const L=h?D(p,l)?p[l]:a[l]:l.value;r?F(L)&&ts(L,o):F(L)?L.includes(o)||L.push(o):h?(a[l]=[o],D(p,l)&&(p[l]=a[l])):(l.value=[o],e.k&&(a[e.k]=l.value))}else h?(a[l]=i,D(p,l)&&(p[l]=i)):v&&(l.value=i,e.k&&(a[e.k]=i))};i?(O.id=-1,pe(O,n)):O()}}}const pe=Fi;function dl(e){return hl(e)}function hl(e,t){const n=Er();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:c,createComment:l,setText:d,setElementText:a,parentNode:p,nextSibling:h,setScopeId:v=xe,insertStaticContent:O}=e,L=(u,f,g,y=null,m=null,x=null,P=void 0,E=null,w=!!f.dynamicChildren)=>{if(u===f)return;u&&!At(u,f)&&(y=_(u),he(u,m,x,!0),u=null),f.patchFlag===-2&&(w=!1,f.dynamicChildren=null);const{type:b,ref:C,shapeFlag:M}=f;switch(b){case wn:j(u,f,g,y);break;case Xe:T(u,f,g,y);break;case Ln:u==null&&$(f,g,y,P);break;case be:et(u,f,g,y,m,x,P,E,w);break;default:M&1?ee(u,f,g,y,m,x,P,E,w):M&6?Oe(u,f,g,y,m,x,P,E,w):(M&64||M&128)&&b.process(u,f,g,y,m,x,P,E,w,A)}C!=null&&m&&Gn(C,u&&u.ref,x,f||u,!f)},j=(u,f,g,y)=>{if(u==null)s(f.el=c(f.children),g,y);else{const m=f.el=u.el;f.children!==u.children&&d(m,f.children)}},T=(u,f,g,y)=>{u==null?s(f.el=l(f.children||""),g,y):f.el=u.el},$=(u,f,g,y)=>{[u.el,u.anchor]=O(u.children,f,g,y,u.el,u.anchor)},B=({el:u,anchor:f},g,y)=>{let m;for(;u&&u!==f;)m=h(u),s(u,g,y),u=m;s(f,g,y)},K=({el:u,anchor:f})=>{let g;for(;u&&u!==f;)g=h(u),r(u),u=g;r(f)},ee=(u,f,g,y,m,x,P,E,w)=>{f.type==="svg"?P="svg":f.type==="math"&&(P="mathml"),u==null?U(f,g,y,m,x,P,E,w):Ze(u,f,m,x,P,E,w)},U=(u,f,g,y,m,x,P,E)=>{let w,b;const{props:C,shapeFlag:M,transition:I,dirs:N}=u;if(w=u.el=i(u.type,x,C&&C.is,C),M&8?a(w,u.children):M&16&&ve(u.children,w,null,y,m,Mn(u,x),P,E),N&&tt(u,null,y,"created"),fe(w,u,u.scopeId,P,y),C){for(const Q in C)Q!=="value"&&!Mt(Q)&&o(w,Q,null,C[Q],x,u.children,y,m,le);"value"in C&&o(w,"value",null,C.value,x),(b=C.onVnodeBeforeMount)&&Ie(b,y,u)}N&&tt(u,null,y,"beforeMount");const V=pl(m,I);V&&I.beforeEnter(w),s(w,f,g),((b=C&&C.onVnodeMounted)||V||N)&&pe(()=>{b&&Ie(b,y,u),V&&I.enter(w),N&&tt(u,null,y,"mounted")},m)},fe=(u,f,g,y,m)=>{if(g&&v(u,g),y)for(let x=0;x{for(let b=w;b{const E=f.el=u.el;let{patchFlag:w,dynamicChildren:b,dirs:C}=f;w|=u.patchFlag&16;const M=u.props||X,I=f.props||X;let N;if(g&&nt(g,!1),(N=I.onVnodeBeforeUpdate)&&Ie(N,g,f,u),C&&tt(f,u,g,"beforeUpdate"),g&&nt(g,!0),b?Ce(u.dynamicChildren,b,E,g,y,Mn(f,m),x):P||z(u,f,E,null,g,y,Mn(f,m),x,!1),w>0){if(w&16)Ue(E,f,M,I,g,y,m);else if(w&2&&M.class!==I.class&&o(E,"class",null,I.class,m),w&4&&o(E,"style",M.style,I.style,m),w&8){const V=f.dynamicProps;for(let Q=0;Q{N&&Ie(N,g,f,u),C&&tt(f,u,g,"updated")},y)},Ce=(u,f,g,y,m,x,P)=>{for(let E=0;E{if(g!==y){if(g!==X)for(const E in g)!Mt(E)&&!(E in y)&&o(u,E,g[E],null,P,f.children,m,x,le);for(const E in y){if(Mt(E))continue;const w=y[E],b=g[E];w!==b&&E!=="value"&&o(u,E,b,w,P,f.children,m,x,le)}"value"in y&&o(u,"value",g.value,y.value,P)}},et=(u,f,g,y,m,x,P,E,w)=>{const b=f.el=u?u.el:c(""),C=f.anchor=u?u.anchor:c("");let{patchFlag:M,dynamicChildren:I,slotScopeIds:N}=f;N&&(E=E?E.concat(N):N),u==null?(s(b,g,y),s(C,g,y),ve(f.children||[],g,C,m,x,P,E,w)):M>0&&M&64&&I&&u.dynamicChildren?(Ce(u.dynamicChildren,I,g,m,x,P,E),(f.key!=null||m&&f===m.subTree)&&fo(u,f,!0)):z(u,f,g,C,m,x,P,E,w)},Oe=(u,f,g,y,m,x,P,E,w)=>{f.slotScopeIds=E,u==null?f.shapeFlag&512?m.ctx.activate(f,g,y,P,w):Ct(f,g,y,m,x,P,w):ut(u,f,w)},Ct=(u,f,g,y,m,x,P)=>{const E=u.component=xl(u,y,m);if(Zr(u)&&(E.ctx.renderer=A),wl(E),E.asyncDep){if(m&&m.registerDep(E,ne),!u.el){const w=E.subTree=oe(Xe);T(null,w,f,g)}}else ne(E,u,f,g,m,x,P)},ut=(u,f,g)=>{const y=f.component=u.component;if(Ti(u,f,g))if(y.asyncDep&&!y.asyncResolved){G(y,f,g);return}else y.next=f,wi(y.update),y.effect.dirty=!0,y.update();else f.el=u.el,y.vnode=f},ne=(u,f,g,y,m,x,P)=>{const E=()=>{if(u.isMounted){let{next:C,bu:M,u:I,parent:N,vnode:V}=u;{const dt=ao(u);if(dt){C&&(C.el=V.el,G(u,C,P)),dt.asyncDep.then(()=>{u.isUnmounted||E()});return}}let Q=C,J;nt(u,!1),C?(C.el=V.el,G(u,C,P)):C=V,M&&On(M),(J=C.props&&C.props.onVnodeBeforeUpdate)&&Ie(J,N,C,V),nt(u,!0);const se=Tn(u),we=u.subTree;u.subTree=se,L(we,se,p(we.el),_(we),u,m,x),C.el=se.el,Q===null&&Ii(u,se.el),I&&pe(I,m),(J=C.props&&C.props.onVnodeUpdated)&&pe(()=>Ie(J,N,C,V),m)}else{let C;const{el:M,props:I}=f,{bm:N,m:V,parent:Q}=u,J=Lt(f);if(nt(u,!1),N&&On(N),!J&&(C=I&&I.onVnodeBeforeMount)&&Ie(C,Q,f),nt(u,!0),M&&Y){const se=()=>{u.subTree=Tn(u),Y(M,u.subTree,u,m,null)};J?f.type.__asyncLoader().then(()=>!u.isUnmounted&&se()):se()}else{const se=u.subTree=Tn(u);L(null,se,g,y,u,m,x),f.el=se.el}if(V&&pe(V,m),!J&&(C=I&&I.onVnodeMounted)){const se=f;pe(()=>Ie(C,Q,se),m)}(f.shapeFlag&256||Q&&Lt(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&pe(u.a,m),u.isMounted=!0,f=g=y=null}},w=u.effect=new ss(E,xe,()=>as(b),u.scope),b=u.update=()=>{w.dirty&&w.run()};b.id=u.uid,nt(u,!0),b()},G=(u,f,g)=>{f.component=u;const y=u.vnode.props;u.vnode=f,u.next=null,cl(u,f.props,y,g),al(u,f.children,g),lt(),Is(u),ct()},z=(u,f,g,y,m,x,P,E,w=!1)=>{const b=u&&u.children,C=u?u.shapeFlag:0,M=f.children,{patchFlag:I,shapeFlag:N}=f;if(I>0){if(I&128){Ve(b,M,g,y,m,x,P,E,w);return}else if(I&256){Fe(b,M,g,y,m,x,P,E,w);return}}N&8?(C&16&&le(b,m,x),M!==b&&a(g,M)):C&16?N&16?Ve(b,M,g,y,m,x,P,E,w):le(b,m,x,!0):(C&8&&a(g,""),N&16&&ve(M,g,y,m,x,P,E,w))},Fe=(u,f,g,y,m,x,P,E,w)=>{u=u||gt,f=f||gt;const b=u.length,C=f.length,M=Math.min(b,C);let I;for(I=0;IC?le(u,m,x,!0,!1,M):ve(f,g,y,m,x,P,E,w,M)},Ve=(u,f,g,y,m,x,P,E,w)=>{let b=0;const C=f.length;let M=u.length-1,I=C-1;for(;b<=M&&b<=I;){const N=u[b],V=f[b]=w?ze(f[b]):Me(f[b]);if(At(N,V))L(N,V,g,null,m,x,P,E,w);else break;b++}for(;b<=M&&b<=I;){const N=u[M],V=f[I]=w?ze(f[I]):Me(f[I]);if(At(N,V))L(N,V,g,null,m,x,P,E,w);else break;M--,I--}if(b>M){if(b<=I){const N=I+1,V=NI)for(;b<=M;)he(u[b],m,x,!0),b++;else{const N=b,V=b,Q=new Map;for(b=V;b<=I;b++){const _e=f[b]=w?ze(f[b]):Me(f[b]);_e.key!=null&&Q.set(_e.key,b)}let J,se=0;const we=I-V+1;let dt=!1,vs=0;const Ot=new Array(we);for(b=0;b=we){he(_e,m,x,!0);continue}let Te;if(_e.key!=null)Te=Q.get(_e.key);else for(J=V;J<=I;J++)if(Ot[J-V]===0&&At(_e,f[J])){Te=J;break}Te===void 0?he(_e,m,x,!0):(Ot[Te-V]=b+1,Te>=vs?vs=Te:dt=!0,L(_e,f[Te],g,null,m,x,P,E,w),se++)}const bs=dt?gl(Ot):gt;for(J=bs.length-1,b=we-1;b>=0;b--){const _e=V+b,Te=f[_e],Es=_e+1{const{el:x,type:P,transition:E,children:w,shapeFlag:b}=u;if(b&6){Ae(u.component.subTree,f,g,y);return}if(b&128){u.suspense.move(f,g,y);return}if(b&64){P.move(u,f,g,A);return}if(P===be){s(x,f,g);for(let M=0;ME.enter(x),m);else{const{leave:M,delayLeave:I,afterLeave:N}=E,V=()=>s(x,f,g),Q=()=>{M(x,()=>{V(),N&&N()})};I?I(x,V,Q):Q()}else s(x,f,g)},he=(u,f,g,y=!1,m=!1)=>{const{type:x,props:P,ref:E,children:w,dynamicChildren:b,shapeFlag:C,patchFlag:M,dirs:I}=u;if(E!=null&&Gn(E,null,g,u,!0),C&256){f.ctx.deactivate(u);return}const N=C&1&&I,V=!Lt(u);let Q;if(V&&(Q=P&&P.onVnodeBeforeUnmount)&&Ie(Q,f,u),C&6)qt(u.component,g,y);else{if(C&128){u.suspense.unmount(g,y);return}N&&tt(u,null,f,"beforeUnmount"),C&64?u.type.remove(u,f,g,m,A,y):b&&(x!==be||M>0&&M&64)?le(b,f,g,!1,!0):(x===be&&M&384||!m&&C&16)&&le(w,f,g),y&&ft(u)}(V&&(Q=P&&P.onVnodeUnmounted)||N)&&pe(()=>{Q&&Ie(Q,f,u),N&&tt(u,null,f,"unmounted")},g)},ft=u=>{const{type:f,el:g,anchor:y,transition:m}=u;if(f===be){at(g,y);return}if(f===Ln){K(u);return}const x=()=>{r(g),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(u.shapeFlag&1&&m&&!m.persisted){const{leave:P,delayLeave:E}=m,w=()=>P(g,x);E?E(u.el,x,w):w()}else x()},at=(u,f)=>{let g;for(;u!==f;)g=h(u),r(u),u=g;r(f)},qt=(u,f,g)=>{const{bum:y,scope:m,update:x,subTree:P,um:E}=u;y&&On(y),m.stop(),x&&(x.active=!1,he(P,u,f,g)),E&&pe(E,f),pe(()=>{u.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},le=(u,f,g,y=!1,m=!1,x=0)=>{for(let P=x;Pu.shapeFlag&6?_(u.component.subTree):u.shapeFlag&128?u.suspense.next():h(u.anchor||u.el);let S=!1;const R=(u,f,g)=>{u==null?f._vnode&&he(f._vnode,null,null,!0):L(f._vnode||null,u,f,null,null,null,g),S||(S=!0,Is(),Wr(),S=!1),f._vnode=u},A={p:L,um:he,m:Ae,r:ft,mt:Ct,mc:ve,pc:z,pbc:Ce,n:_,o:e};let W,Y;return t&&([W,Y]=t(A)),{render:R,hydrate:W,createApp:il(R,W)}}function Mn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function pl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function fo(e,t,n=!1){const s=e.children,r=t.children;if(F(s)&&F(r))for(let o=0;o>1,e[n[c]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function ao(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ao(t)}const ml=e=>e.__isTeleport,be=Symbol.for("v-fgt"),wn=Symbol.for("v-txt"),Xe=Symbol.for("v-cmt"),Ln=Symbol.for("v-stc"),Ft=[];let Re=null;function it(e=!1){Ft.push(Re=e?null:[])}function _l(){Ft.pop(),Re=Ft[Ft.length-1]||null}let Dt=1;function Ds(e){Dt+=e}function ho(e){return e.dynamicChildren=Dt>0?Re||gt:null,_l(),Dt>0&&Re&&Re.push(e),e}function kt(e,t,n,s,r,o){return ho(de(e,t,n,s,r,o,!0))}function po(e,t,n,s,r){return ho(oe(e,t,n,s,r,!0))}function fn(e){return e?e.__v_isVNode===!0:!1}function At(e,t){return e.type===t.type&&e.key===t.key}const Rn="__vInternal",go=({key:e})=>e??null,sn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?te(e)||me(e)||H(e)?{i:ue,r:e,k:t,f:!!n}:e:null);function de(e,t=null,n=null,s=0,r=null,o=e===be?0:1,i=!1,c=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&go(t),ref:t&&sn(t),scopeId:Qr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ue};return c?(ps(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=te(n)?8:16),Dt>0&&!i&&Re&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&Re.push(l),l}const oe=yl;function yl(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===Li)&&(e=Xe),fn(e)){const c=Et(e,t,!0);return n&&ps(c,n),Dt>0&&!o&&Re&&(c.shapeFlag&6?Re[Re.indexOf(e)]=c:Re.push(c)),c.patchFlag|=-2,c}if(Ol(e)&&(e=e.__vccOpts),t){t=mo(t);let{class:c,style:l}=t;c&&!te(c)&&(t.class=mn(c)),Z(l)&&(jr(l)&&!F(l)&&(l=ie({},l)),t.style=vt(l))}const i=te(e)?1:Ni(e)?128:ml(e)?64:Z(e)?4:H(e)?2:0;return de(e,t,n,s,r,i,o,!0)}function mo(e){return e?jr(e)||Rn in e?ie({},e):e:null}function Et(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,c=t?vl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&go(c),ref:t&&t.ref?n&&r?F(r)?r.concat(sn(t)):[r,sn(t)]:sn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==be?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Et(e.ssContent),ssFallback:e.ssFallback&&Et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function _o(e=" ",t=0){return oe(wn,null,e,t)}function ku(e="",t=!1){return t?(it(),po(Xe,null,e)):oe(Xe,null,e)}function Me(e){return e==null||typeof e=="boolean"?oe(Xe):F(e)?oe(be,null,e.slice()):typeof e=="object"?ze(e):oe(wn,null,String(e))}function ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Et(e)}function ps(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(F(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),ps(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Rn in t)?t._ctx=ue:r===3&&ue&&(ue.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else H(t)?(t={default:t,_ctx:ue},n=32):(t=String(t),s&64?(n=16,t=[_o(t)]):n=8);e.children=t,e.shapeFlag|=n}function vl(...e){const t={};for(let n=0;nre||ue;let an,Qn;{const e=Er(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};an=t("__VUE_INSTANCE_SETTERS__",n=>re=n),Qn=t("__VUE_SSR_SETTERS__",n=>Pn=n)}const Wt=e=>{const t=re;return an(e),e.scope.on(),()=>{e.scope.off(),an(t)}},ks=()=>{re&&re.scope.off(),an(null)};function yo(e){return e.vnode.shapeFlag&4}let Pn=!1;function wl(e,t=!1){t&&Qn(t);const{props:n,children:s}=e.vnode,r=yo(e);ll(e,n,r,t),fl(e,s);const o=r?Rl(e,t):void 0;return t&&Qn(!1),o}function Rl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Hr(new Proxy(e.ctx,Zi));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Sl(e):null,o=Wt(e);lt();const i=Ye(s,e,0,[e.props,r]);if(ct(),o(),yr(i)){if(i.then(ks,ks),t)return i.then(c=>{Ks(e,c,t)}).catch(c=>{vn(c,e,0)});e.asyncDep=i}else Ks(e,i,t)}else vo(e,t)}function Ks(e,t,n){H(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=Dr(t)),vo(e,n)}let zs;function vo(e,t,n){const s=e.type;if(!e.render){if(!t&&zs&&!s.render){const r=s.template||ds(e).template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:c,compilerOptions:l}=s,d=ie(ie({isCustomElement:o,delimiters:c},i),l);s.render=zs(r,d)}}e.render=s.render||xe}{const r=Wt(e);lt();try{el(e)}finally{ct(),r()}}}function Pl(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ge(e,"get","$attrs"),t[n]}}))}function Sl(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Pl(e)},slots:e.slots,emit:e.emit,expose:t}}function gs(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Dr(Hr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in $t)return $t[n](e)},has(t,n){return n in t||n in $t}}))}function Cl(e,t=!0){return H(e)?e.displayName||e.name:e.name||t&&e.__name}function Ol(e){return H(e)&&"__vccOpts"in e}const Ee=(e,t)=>mi(e,t,Pn);function bo(e,t,n){const s=arguments.length;return s===2?Z(t)&&!F(t)?fn(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&fn(n)&&(n=[n]),oe(e,t,n))}const Al="3.4.21";/** +* @vue/runtime-dom v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Tl="http://www.w3.org/2000/svg",Il="http://www.w3.org/1998/Math/MathML",We=typeof document<"u"?document:null,Ws=We&&We.createElement("template"),Ml={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?We.createElementNS(Tl,e):t==="mathml"?We.createElementNS(Il,e):We.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>We.createTextNode(e),createComment:e=>We.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>We.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Ws.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const c=Ws.content;if(s==="svg"||s==="mathml"){const l=c.firstChild;for(;l.firstChild;)c.appendChild(l.firstChild);c.removeChild(l)}t.insertBefore(c,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ll=Symbol("_vtc");function $l(e,t,n){const s=e[Ll];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const qs=Symbol("_vod"),Nl=Symbol("_vsh"),Fl=Symbol(""),jl=/(^|;)\s*display\s*:/;function Hl(e,t,n){const s=e.style,r=te(n);let o=!1;if(n&&!r){if(t)if(te(t))for(const i of t.split(";")){const c=i.slice(0,i.indexOf(":")).trim();n[c]==null&&rn(s,c,"")}else for(const i in t)n[i]==null&&rn(s,i,"");for(const i in n)i==="display"&&(o=!0),rn(s,i,n[i])}else if(r){if(t!==n){const i=s[Fl];i&&(n+=";"+i),s.cssText=n,o=jl.test(n)}}else t&&e.removeAttribute("style");qs in e&&(e[qs]=o?s.display:"",e[Nl]&&(s.display="none"))}const Gs=/\s*!important$/;function rn(e,t,n){if(F(n))n.forEach(s=>rn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Bl(e,t);Gs.test(n)?e.setProperty(St(s),n.replace(Gs,""),"important"):e[s]=n}}const Qs=["Webkit","Moz","ms"],$n={};function Bl(e,t){const n=$n[t];if(n)return n;let s=Ne(t);if(s!=="filter"&&s in e)return $n[t]=s;s=gn(s);for(let r=0;rNn||(Wl.then(()=>Nn=0),Nn=Date.now());function Gl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Pe(Ql(s,n.value),t,5,[s])};return n.value=e,n.attached=ql(),n}function Ql(e,t){if(F(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Zs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yl=(e,t,n,s,r,o,i,c,l)=>{const d=r==="svg";t==="class"?$l(e,s,d):t==="style"?Hl(e,n,s):dn(t)?es(t)||Kl(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Jl(e,t,s,d))?Vl(e,t,s,o,i,c,l):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ul(e,t,s,d))};function Jl(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Zs(t)&&H(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Zs(t)&&te(n)?!1:t in e}const Xl=ie({patchProp:Yl},Ml);let er;function Zl(){return er||(er=dl(Xl))}const ec=(...e)=>{const t=Zl().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=nc(s);if(!r)return;const o=t._component;!H(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,tc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function tc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function nc(e){return te(e)?document.querySelector(e):e}const sc={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},rc=de("path",{fill:"currentColor","fill-rule":"evenodd",d:"M12.026 2c-5.509 0-9.974 4.465-9.974 9.974c0 4.406 2.857 8.145 6.821 9.465c.499.09.679-.217.679-.481c0-.237-.008-.865-.011-1.696c-2.775.602-3.361-1.338-3.361-1.338c-.452-1.152-1.107-1.459-1.107-1.459c-.905-.619.069-.605.069-.605c1.002.07 1.527 1.028 1.527 1.028c.89 1.524 2.336 1.084 2.902.829c.091-.645.351-1.085.635-1.334c-2.214-.251-4.542-1.107-4.542-4.93c0-1.087.389-1.979 1.024-2.675c-.101-.253-.446-1.268.099-2.64c0 0 .837-.269 2.742 1.021a9.582 9.582 0 0 1 2.496-.336a9.554 9.554 0 0 1 2.496.336c1.906-1.291 2.742-1.021 2.742-1.021c.545 1.372.203 2.387.099 2.64c.64.696 1.024 1.587 1.024 2.675c0 3.833-2.33 4.675-4.552 4.922c.355.308.675.916.675 1.846c0 1.334-.012 2.41-.012 2.737c0 .267.178.577.687.479C19.146 20.115 22 16.379 22 11.974C22 6.465 17.535 2 12.026 2","clip-rule":"evenodd"},null,-1),oc=[rc];function ic(e,t){return it(),kt("svg",sc,[...oc])}const lc={name:"bxl-github",render:ic},cc={class:"border-b border-gray-200 px-4 py-1 text-xl hover:text-blue-5"},uc=["src"],fc=de("div",{class:"absolute w-full h-full cursor-pointer pointer-events-none"},null,-1),ac=En({__name:"Preview",props:{title:{},path:{}},setup(e){function t(i){const c=new URL(i,location.origin);return c.searchParams.set("autoStart","0"),location.pathname+"#"+c.pathname+c.search}const n={w:1920,h:1080},s={w:400,h:400/n.w*n.h},r=s.w/n.w,o=Ee(()=>({transform:`scale(${r})`,transformOrigin:"top left"}));return(i,c)=>(it(),kt("div",{class:"transition transition-shadow shadow-lg hover:shadow-xl cursor-pointer",onClick:c[0]||(c[0]=l=>i.$router.push(i.path))},[de("div",cc,qo(i.title),1),de("div",{class:"relative",style:vt({width:s.w+"px",height:s.h+"px"})},[de("iframe",{src:t(i.path),frameborder:"0",class:"w-1920px h-1080px absolute",style:vt(Qe(o))},null,12,uc),fc],4)]))}}),dc={class:""},hc={class:"px-10 py-2 text-xl border-b border-gray-200 flex items-end gap-2"},pc=de("small",{class:"text-blue-5 text-sm"},"Click to start the animation ",-1),gc={class:"flex flex-1 justify-end items-center"},mc={href:"https://github.com/0x-jerry/visual-experiment",target:"_blank",class:"text-gray-4 hover:text-gray-8 transition transition-colors"},_c=de("hr",{class:"b-solid b-gray-1"},null,-1),yc={class:"flex flex-wrap gap-6 px-10 py-2 justify-between cursor-pointer"},vc=de("div",{class:"w-400px h-250px"},null,-1),bc=En({__name:"index",setup(e){const t=[{title:"Pseudo Random Distribution",path:"/random"},{title:"Fractal Tree",path:"/fractal-tree"},{title:"Conway's Game of Life",path:"/game-of-life"},{title:"Langton's Ant",path:"/langton-ant"},{title:"Maze Generator",path:"/maze"}];return(n,s)=>{const r=lc;return it(),kt("div",dc,[de("div",hc,[_o(" Try some cool things using canvas "),pc,de("div",gc,[de("a",mc,[oe(r)])])]),_c,de("div",yc,[(it(),kt(be,null,Xi(t,o=>oe(ac,Ko(mo(o)),null,16)),64)),vc])])}}}),Ec=()=>Rt(()=>import("./random-C3VbbgS7.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),xc=()=>Rt(()=>import("./maze-CEZnvXPB.js"),__vite__mapDeps([5,1,2,4,3]),import.meta.url),wc=()=>Rt(()=>import("./langton-ant-UCmD8xNB.js"),__vite__mapDeps([6,1,2,7,8,4]),import.meta.url),Rc=()=>Rt(()=>import("./game-of-life-D0xFN4Vm.js"),__vite__mapDeps([9,1,3,8,4]),import.meta.url),Pc=()=>Rt(()=>import("./fractal-tree-BPdlYLP0.js"),__vite__mapDeps([10,1,2,4,3,7]),import.meta.url),Sc=()=>Rt(()=>import("./_template-DB4FXUMk.js"),__vite__mapDeps([11,1,3]),import.meta.url),Cc=[{name:"random",path:"/random",component:Ec,props:!0},{name:"maze",path:"/maze",component:xc,props:!0},{name:"langton-ant",path:"/langton-ant",component:wc,props:!0},{name:"index",path:"/",component:bc,props:!0},{name:"game-of-life",path:"/game-of-life",component:Rc,props:!0},{name:"fractal-tree",path:"/fractal-tree",component:Pc,props:!0},{name:"_template",path:"/_template",component:Sc,props:!0}];/*! + * vue-router v4.3.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const ht=typeof document<"u";function Oc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const q=Object.assign;function Fn(e,t){const n={};for(const s in t){const r=t[s];n[s]=Se(r)?r.map(e):e(r)}return n}const jt=()=>{},Se=Array.isArray,Eo=/#/g,Ac=/&/g,Tc=/\//g,Ic=/=/g,Mc=/\?/g,xo=/\+/g,Lc=/%5B/g,$c=/%5D/g,wo=/%5E/g,Nc=/%60/g,Ro=/%7B/g,Fc=/%7C/g,Po=/%7D/g,jc=/%20/g;function ms(e){return encodeURI(""+e).replace(Fc,"|").replace(Lc,"[").replace($c,"]")}function Hc(e){return ms(e).replace(Ro,"{").replace(Po,"}").replace(wo,"^")}function Yn(e){return ms(e).replace(xo,"%2B").replace(jc,"+").replace(Eo,"%23").replace(Ac,"%26").replace(Nc,"`").replace(Ro,"{").replace(Po,"}").replace(wo,"^")}function Bc(e){return Yn(e).replace(Ic,"%3D")}function Uc(e){return ms(e).replace(Eo,"%23").replace(Mc,"%3F")}function Vc(e){return e==null?"":Uc(e).replace(Tc,"%2F")}function Kt(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Dc=/\/$/,kc=e=>e.replace(Dc,"");function jn(e,t,n="/"){let s,r={},o="",i="";const c=t.indexOf("#");let l=t.indexOf("?");return c=0&&(l=-1),l>-1&&(s=t.slice(0,l),o=t.slice(l+1,c>-1?c:t.length),r=e(o)),c>-1&&(s=s||t.slice(0,c),i=t.slice(c,t.length)),s=qc(s??t,n),{fullPath:s+(o&&"?")+o+i,path:s,query:r,hash:Kt(i)}}function Kc(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function tr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function zc(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&xt(t.matched[s],n.matched[r])&&So(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function xt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function So(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Wc(e[n],t[n]))return!1;return!0}function Wc(e,t){return Se(e)?nr(e,t):Se(t)?nr(t,e):e===t}function nr(e,t){return Se(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function qc(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,i,c;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(i).join("/")}var zt;(function(e){e.pop="pop",e.push="push"})(zt||(zt={}));var Ht;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Ht||(Ht={}));function Gc(e){if(!e)if(ht){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),kc(e)}const Qc=/^[^#]+#/;function Yc(e,t){return e.replace(Qc,"#")+t}function Jc(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const Sn=()=>({left:window.scrollX,top:window.scrollY});function Xc(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=Jc(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function sr(e,t){return(history.state?history.state.position-t:-1)+e}const Jn=new Map;function Zc(e,t){Jn.set(e,t)}function eu(e){const t=Jn.get(e);return Jn.delete(e),t}let tu=()=>location.protocol+"//"+location.host;function Co(e,t){const{pathname:n,search:s,hash:r}=t,o=e.indexOf("#");if(o>-1){let c=r.includes(e.slice(o))?e.slice(o).length:1,l=r.slice(c);return l[0]!=="/"&&(l="/"+l),tr(l,"")}return tr(n,e)+s+r}function nu(e,t,n,s){let r=[],o=[],i=null;const c=({state:h})=>{const v=Co(e,location),O=n.value,L=t.value;let j=0;if(h){if(n.value=v,t.value=h,i&&i===O){i=null;return}j=L?h.position-L.position:0}else s(v);r.forEach(T=>{T(n.value,O,{delta:j,type:zt.pop,direction:j?j>0?Ht.forward:Ht.back:Ht.unknown})})};function l(){i=n.value}function d(h){r.push(h);const v=()=>{const O=r.indexOf(h);O>-1&&r.splice(O,1)};return o.push(v),v}function a(){const{history:h}=window;h.state&&h.replaceState(q({},h.state,{scroll:Sn()}),"")}function p(){for(const h of o)h();o=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",a)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",a,{passive:!0}),{pauseListeners:l,listen:d,destroy:p}}function rr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?Sn():null}}function su(e){const{history:t,location:n}=window,s={value:Co(e,n)},r={value:t.state};r.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,d,a){const p=e.indexOf("#"),h=p>-1?(n.host&&document.querySelector("base")?e:e.slice(p))+l:tu()+e+l;try{t[a?"replaceState":"pushState"](d,"",h),r.value=d}catch(v){console.error(v),n[a?"replace":"assign"](h)}}function i(l,d){const a=q({},t.state,rr(r.value.back,l,r.value.forward,!0),d,{position:r.value.position});o(l,a,!0),s.value=l}function c(l,d){const a=q({},r.value,t.state,{forward:l,scroll:Sn()});o(a.current,a,!0);const p=q({},rr(s.value,l,null),{position:a.position+1},d);o(l,p,!1),s.value=l}return{location:s,state:r,push:c,replace:i}}function ru(e){e=Gc(e);const t=su(e),n=nu(e,t.state,t.location,t.replace);function s(o,i=!0){i||n.pauseListeners(),history.go(o)}const r=q({location:"",base:e,go:s,createHref:Yc.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function ou(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),ru(e)}function iu(e){return typeof e=="string"||e&&typeof e=="object"}function Oo(e){return typeof e=="string"||typeof e=="symbol"}const ke={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Ao=Symbol("");var or;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(or||(or={}));function wt(e,t){return q(new Error,{type:e,[Ao]:!0},t)}function je(e,t){return e instanceof Error&&Ao in e&&(t==null||!!(e.type&t))}const ir="[^/]+?",lu={sensitive:!1,strict:!1,start:!0,end:!0},cu=/[.+*?^${}()[\]/\\]/g;function uu(e,t){const n=q({},lu,t),s=[];let r=n.start?"^":"";const o=[];for(const d of e){const a=d.length?[]:[90];n.strict&&!d.length&&(r+="/");for(let p=0;pt.length?t.length===1&&t[0]===80?1:-1:0}function au(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const du={type:0,value:""},hu=/[a-zA-Z0-9_]/;function pu(e){if(!e)return[[]];if(e==="/")return[[du]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${d}": ${v}`)}let n=0,s=n;const r=[];let o;function i(){o&&r.push(o),o=[]}let c=0,l,d="",a="";function p(){d&&(n===0?o.push({type:0,value:d}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:d,regexp:a,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),d="")}function h(){d+=l}for(;c{i($)}:jt}function i(a){if(Oo(a)){const p=s.get(a);p&&(s.delete(a),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(a);p>-1&&(n.splice(p,1),a.record.name&&s.delete(a.record.name),a.children.forEach(i),a.alias.forEach(i))}}function c(){return n}function l(a){let p=0;for(;p=0&&(a.record.path!==n[p].record.path||!To(a,n[p]));)p++;n.splice(p,0,a),a.record.name&&!ur(a)&&s.set(a.record.name,a)}function d(a,p){let h,v={},O,L;if("name"in a&&a.name){if(h=s.get(a.name),!h)throw wt(1,{location:a});L=h.record.name,v=q(cr(p.params,h.keys.filter($=>!$.optional).concat(h.parent?h.parent.keys.filter($=>$.optional):[]).map($=>$.name)),a.params&&cr(a.params,h.keys.map($=>$.name))),O=h.stringify(v)}else if(a.path!=null)O=a.path,h=n.find($=>$.re.test(O)),h&&(v=h.parse(O),L=h.record.name);else{if(h=p.name?s.get(p.name):n.find($=>$.re.test(p.path)),!h)throw wt(1,{location:a,currentLocation:p});L=h.record.name,v=q({},p.params,a.params),O=h.stringify(v)}const j=[];let T=h;for(;T;)j.unshift(T.record),T=T.parent;return{name:L,path:O,params:v,matched:j,meta:vu(j)}}return e.forEach(a=>o(a)),{addRoute:o,resolve:d,removeRoute:i,getRoutes:c,getRecordMatcher:r}}function cr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function _u(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:yu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function yu(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function ur(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function vu(e){return e.reduce((t,n)=>q(t,n.meta),{})}function fr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function To(e,t){return t.children.some(n=>n===e||To(e,n))}function bu(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ro&&Yn(o)):[s&&Yn(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Eu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Se(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const xu=Symbol(""),dr=Symbol(""),_s=Symbol(""),ys=Symbol(""),Xn=Symbol("");function Tt(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function qe(e,t,n,s,r,o=i=>i()){const i=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((c,l)=>{const d=h=>{h===!1?l(wt(4,{from:n,to:t})):h instanceof Error?l(h):iu(h)?l(wt(2,{from:t,to:h})):(i&&s.enterCallbacks[r]===i&&typeof h=="function"&&i.push(h),c())},a=o(()=>e.call(s&&s.instances[r],t,n,d));let p=Promise.resolve(a);e.length<3&&(p=p.then(d)),p.catch(h=>l(h))})}function Hn(e,t,n,s,r=o=>o()){const o=[];for(const i of e)for(const c in i.components){let l=i.components[c];if(!(t!=="beforeRouteEnter"&&!i.instances[c]))if(wu(l)){const a=(l.__vccOpts||l)[t];a&&o.push(qe(a,n,s,i,c,r))}else{let d=l();o.push(()=>d.then(a=>{if(!a)return Promise.reject(new Error(`Couldn't resolve component "${c}" at "${i.path}"`));const p=Oc(a)?a.default:a;i.components[c]=p;const v=(p.__vccOpts||p)[t];return v&&qe(v,n,s,i,c,r)()}))}}return o}function wu(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function hr(e){const t=$e(_s),n=$e(ys),s=Ee(()=>t.resolve(Qe(e.to))),r=Ee(()=>{const{matched:l}=s.value,{length:d}=l,a=l[d-1],p=n.matched;if(!a||!p.length)return-1;const h=p.findIndex(xt.bind(null,a));if(h>-1)return h;const v=pr(l[d-2]);return d>1&&pr(a)===v&&p[p.length-1].path!==v?p.findIndex(xt.bind(null,l[d-2])):h}),o=Ee(()=>r.value>-1&&Cu(n.params,s.value.params)),i=Ee(()=>r.value>-1&&r.value===n.matched.length-1&&So(n.params,s.value.params));function c(l={}){return Su(l)?t[Qe(e.replace)?"replace":"push"](Qe(e.to)).catch(jt):Promise.resolve()}return{route:s,href:Ee(()=>s.value.href),isActive:o,isExactActive:i,navigate:c}}const Ru=En({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:hr,setup(e,{slots:t}){const n=yn(hr(e)),{options:s}=$e(_s),r=Ee(()=>({[gr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[gr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:bo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),Pu=Ru;function Su(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Cu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!Se(r)||r.length!==s.length||s.some((o,i)=>o!==r[i]))return!1}return!0}function pr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const gr=(e,t,n)=>e??t??n,Ou=En({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=$e(Xn),r=Ee(()=>e.route||s.value),o=$e(dr,0),i=Ee(()=>{let d=Qe(o);const{matched:a}=r.value;let p;for(;(p=a[d])&&!p.components;)d++;return d}),c=Ee(()=>r.value.matched[i.value]);nn(dr,Ee(()=>i.value+1)),nn(xu,c),nn(Xn,r);const l=_i();return tn(()=>[l.value,c.value,e.name],([d,a,p],[h,v,O])=>{a&&(a.instances[p]=d,v&&v!==a&&d&&d===h&&(a.leaveGuards.size||(a.leaveGuards=v.leaveGuards),a.updateGuards.size||(a.updateGuards=v.updateGuards))),d&&a&&(!v||!xt(a,v)||!h)&&(a.enterCallbacks[p]||[]).forEach(L=>L(d))},{flush:"post"}),()=>{const d=r.value,a=e.name,p=c.value,h=p&&p.components[a];if(!h)return mr(n.default,{Component:h,route:d});const v=p.props[a],O=v?v===!0?d.params:typeof v=="function"?v(d):v:null,j=bo(h,q({},O,t,{onVnodeUnmounted:T=>{T.component.isUnmounted&&(p.instances[a]=null)},ref:l}));return mr(n.default,{Component:j,route:d})||j}}});function mr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Au=Ou;function Tu(e){const t=mu(e.routes,e),n=e.parseQuery||bu,s=e.stringifyQuery||ar,r=e.history,o=Tt(),i=Tt(),c=Tt(),l=yi(ke);let d=ke;ht&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const a=Fn.bind(null,_=>""+_),p=Fn.bind(null,Vc),h=Fn.bind(null,Kt);function v(_,S){let R,A;return Oo(_)?(R=t.getRecordMatcher(_),A=S):A=_,t.addRoute(A,R)}function O(_){const S=t.getRecordMatcher(_);S&&t.removeRoute(S)}function L(){return t.getRoutes().map(_=>_.record)}function j(_){return!!t.getRecordMatcher(_)}function T(_,S){if(S=q({},S||l.value),typeof _=="string"){const f=jn(n,_,S.path),g=t.resolve({path:f.path},S),y=r.createHref(f.fullPath);return q(f,g,{params:h(g.params),hash:Kt(f.hash),redirectedFrom:void 0,href:y})}let R;if(_.path!=null)R=q({},_,{path:jn(n,_.path,S.path).path});else{const f=q({},_.params);for(const g in f)f[g]==null&&delete f[g];R=q({},_,{params:p(f)}),S.params=p(S.params)}const A=t.resolve(R,S),W=_.hash||"";A.params=a(h(A.params));const Y=Kc(s,q({},_,{hash:Hc(W),path:A.path})),u=r.createHref(Y);return q({fullPath:Y,hash:W,query:s===ar?Eu(_.query):_.query||{}},A,{redirectedFrom:void 0,href:u})}function $(_){return typeof _=="string"?jn(n,_,l.value.path):q({},_)}function B(_,S){if(d!==_)return wt(8,{from:S,to:_})}function K(_){return fe(_)}function ee(_){return K(q($(_),{replace:!0}))}function U(_){const S=_.matched[_.matched.length-1];if(S&&S.redirect){const{redirect:R}=S;let A=typeof R=="function"?R(_):R;return typeof A=="string"&&(A=A.includes("?")||A.includes("#")?A=$(A):{path:A},A.params={}),q({query:_.query,hash:_.hash,params:A.path!=null?{}:_.params},A)}}function fe(_,S){const R=d=T(_),A=l.value,W=_.state,Y=_.force,u=_.replace===!0,f=U(R);if(f)return fe(q($(f),{state:typeof f=="object"?q({},W,f.state):W,force:Y,replace:u}),S||R);const g=R;g.redirectedFrom=S;let y;return!Y&&zc(s,A,R)&&(y=wt(16,{to:g,from:A}),Ae(A,A,!0,!1)),(y?Promise.resolve(y):Ce(g,A)).catch(m=>je(m)?je(m,2)?m:Ve(m):z(m,g,A)).then(m=>{if(m){if(je(m,2))return fe(q({replace:u},$(m.to),{state:typeof m.to=="object"?q({},W,m.to.state):W,force:Y}),S||g)}else m=et(g,A,!0,u,W);return Ue(g,A,m),m})}function ve(_,S){const R=B(_,S);return R?Promise.reject(R):Promise.resolve()}function Ze(_){const S=at.values().next().value;return S&&typeof S.runWithContext=="function"?S.runWithContext(_):_()}function Ce(_,S){let R;const[A,W,Y]=Iu(_,S);R=Hn(A.reverse(),"beforeRouteLeave",_,S);for(const f of A)f.leaveGuards.forEach(g=>{R.push(qe(g,_,S))});const u=ve.bind(null,_,S);return R.push(u),le(R).then(()=>{R=[];for(const f of o.list())R.push(qe(f,_,S));return R.push(u),le(R)}).then(()=>{R=Hn(W,"beforeRouteUpdate",_,S);for(const f of W)f.updateGuards.forEach(g=>{R.push(qe(g,_,S))});return R.push(u),le(R)}).then(()=>{R=[];for(const f of Y)if(f.beforeEnter)if(Se(f.beforeEnter))for(const g of f.beforeEnter)R.push(qe(g,_,S));else R.push(qe(f.beforeEnter,_,S));return R.push(u),le(R)}).then(()=>(_.matched.forEach(f=>f.enterCallbacks={}),R=Hn(Y,"beforeRouteEnter",_,S,Ze),R.push(u),le(R))).then(()=>{R=[];for(const f of i.list())R.push(qe(f,_,S));return R.push(u),le(R)}).catch(f=>je(f,8)?f:Promise.reject(f))}function Ue(_,S,R){c.list().forEach(A=>Ze(()=>A(_,S,R)))}function et(_,S,R,A,W){const Y=B(_,S);if(Y)return Y;const u=S===ke,f=ht?history.state:{};R&&(A||u?r.replace(_.fullPath,q({scroll:u&&f&&f.scroll},W)):r.push(_.fullPath,W)),l.value=_,Ae(_,S,R,u),Ve()}let Oe;function Ct(){Oe||(Oe=r.listen((_,S,R)=>{if(!qt.listening)return;const A=T(_),W=U(A);if(W){fe(q(W,{replace:!0}),A).catch(jt);return}d=A;const Y=l.value;ht&&Zc(sr(Y.fullPath,R.delta),Sn()),Ce(A,Y).catch(u=>je(u,12)?u:je(u,2)?(fe(u.to,A).then(f=>{je(f,20)&&!R.delta&&R.type===zt.pop&&r.go(-1,!1)}).catch(jt),Promise.reject()):(R.delta&&r.go(-R.delta,!1),z(u,A,Y))).then(u=>{u=u||et(A,Y,!1),u&&(R.delta&&!je(u,8)?r.go(-R.delta,!1):R.type===zt.pop&&je(u,20)&&r.go(-1,!1)),Ue(A,Y,u)}).catch(jt)}))}let ut=Tt(),ne=Tt(),G;function z(_,S,R){Ve(_);const A=ne.list();return A.length?A.forEach(W=>W(_,S,R)):console.error(_),Promise.reject(_)}function Fe(){return G&&l.value!==ke?Promise.resolve():new Promise((_,S)=>{ut.add([_,S])})}function Ve(_){return G||(G=!_,Ct(),ut.list().forEach(([S,R])=>_?R(_):S()),ut.reset()),_}function Ae(_,S,R,A){const{scrollBehavior:W}=e;if(!ht||!W)return Promise.resolve();const Y=!R&&eu(sr(_.fullPath,0))||(A||!R)&&history.state&&history.state.scroll||null;return Kr().then(()=>W(_,S,Y)).then(u=>u&&Xc(u)).catch(u=>z(u,_,S))}const he=_=>r.go(_);let ft;const at=new Set,qt={currentRoute:l,listening:!0,addRoute:v,removeRoute:O,hasRoute:j,getRoutes:L,resolve:T,options:e,push:K,replace:ee,go:he,back:()=>he(-1),forward:()=>he(1),beforeEach:o.add,beforeResolve:i.add,afterEach:c.add,onError:ne.add,isReady:Fe,install(_){const S=this;_.component("RouterLink",Pu),_.component("RouterView",Au),_.config.globalProperties.$router=S,Object.defineProperty(_.config.globalProperties,"$route",{enumerable:!0,get:()=>Qe(l)}),ht&&!ft&&l.value===ke&&(ft=!0,K(r.location).catch(W=>{}));const R={};for(const W in ke)Object.defineProperty(R,W,{get:()=>l.value[W],enumerable:!0});_.provide(_s,S),_.provide(ys,Nr(R)),_.provide(Xn,l);const A=_.unmount;at.add(_),_.unmount=function(){at.delete(_),at.size<1&&(d=ke,Oe&&Oe(),Oe=null,l.value=ke,ft=!1,G=!1),A()}}};function le(_){return _.reduce((S,R)=>S.then(()=>Ze(R)),Promise.resolve())}return qt}function Iu(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;ixt(d,c))?s.push(c):n.push(c));const l=e.matched[i];l&&(t.matched.find(d=>xt(d,l))||r.push(l))}return[n,s,r]}function zu(){return $e(ys)}const Mu=e=>{const t=Cc,n=Tu({history:ou(),routes:t});e.use(n)},Lu=Object.freeze(Object.defineProperty({__proto__:null,install:Mu},Symbol.toStringTag,{value:"Module"})),$u=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Nu={},Fu={class:"text-gray-600"},ju=de("div",{id:"option-gui-pos",class:"absolute top-0 right-0"},null,-1);function Hu(e,t){const n=Mi("router-view");return it(),kt("div",Fu,[oe(n),ju])}const Bu=$u(Nu,[["render",Hu]]),Io=ec(Bu);Object.values(Object.assign({"./modules/router.ts":Lu})).forEach(e=>{Io.use(e.install)});Io.mount("#app");export{de as a,Ki as b,po as c,En as d,tn as e,zu as f,kt as g,oe as h,ku as i,_o as j,Yo as k,Uu as l,_i as m,Fr as n,it as o,Ee as p,yn as q,Du as r,Ku as s,qo as t,Qe as u,to as v,Ci as w,Vu as x}; diff --git a/assets/index-D8Pt_-NN.css b/assets/index-D8Pt_-NN.css new file mode 100644 index 0000000..d93651e --- /dev/null +++ b/assets/index-D8Pt_-NN.css @@ -0,0 +1 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}*{box-sizing:border-box}*,: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}.relative{position:relative}.right-0{right:0}.top-0{top:0}.grid,[grid=""]{display:grid}.h-1080px{height:1080px}.h-250px{height:250px}.h-full,[h-full=""]{height:100%}.h-screen{height:100vh}.w-1920px{width:1920px}.w-400px{width:400px}.w-full,[w-full=""]{width:100%}.w-screen{width:100vw}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer{cursor:pointer}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-6{gap:1.5rem}.border-b{border-bottom-width:1px}.b-gray-1{--un-border-opacity:1;border-color:rgb(243 244 246 / var(--un-border-opacity))}.border-gray-200{--un-border-opacity:1;border-color:rgb(229 231 235 / var(--un-border-opacity))}.b-solid{border-style:solid}.px,.px-4{padding-left:1rem;padding-right:1rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-blue{--un-text-opacity:1;color:rgb(96 165 250 / var(--un-text-opacity))}.text-blue-5{--un-text-opacity:1;color:rgb(59 130 246 / var(--un-text-opacity))}.text-gray-4{--un-text-opacity:1;color:rgb(156 163 175 / var(--un-text-opacity))}.text-gray-600{--un-text-opacity:1;color:rgb(75 85 99 / var(--un-text-opacity))}.hover\:text-blue-5:hover{--un-text-opacity:1;color:rgb(59 130 246 / var(--un-text-opacity))}.hover\:text-gray-8:hover{--un-text-opacity:1;color:rgb(31 41 55 / var(--un-text-opacity))}.shadow-lg{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.hover\:shadow-xl:hover{--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)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s} diff --git a/assets/langton-ant-UCmD8xNB.js b/assets/langton-ant-UCmD8xNB.js new file mode 100644 index 0000000..afe5f21 --- /dev/null +++ b/assets/langton-ant-UCmD8xNB.js @@ -0,0 +1 @@ +var x=Object.defineProperty;var y=(i,r,a)=>r in i?x(i,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[r]=a;var f=(i,r,a)=>(y(i,typeof r!="symbol"?r+"":r,a),a);import{u as G,_ as z,V as w}from"./useFPSRunner-CtoNmCNe.js";import{c as C}from"./utils-DWuipzrQ.js";import{P as d}from"./angle-CPSFGmFf.js";import{G as M}from"./grid-BnBmgwES.js";import{u as S}from"./useCanvasRunner-DD2PEO6M.js";import{d as A,b as P,o as b,c as B,w as R,a as V,u as k}from"./index-CkOdeoEX.js";const U=A({__name:"langton-ant",setup(i){class r extends M{constructor(){super(...arguments);f(this,"ant",w.zero);f(this,"dir",w.up)}getAntGround(){const{x:o,y:s}=this.ant;return this.get(o,s)}}const a=G({color:"#f26f6f",size:{_:!0,min:1,step:1,value:10},FPS:{_:!0,step:1,value:60,min:1,max:200},antColor:"#28bc97",restart(){m()}}),c=S(v),t=new r;P(()=>{m()});function m(){const{width:e,height:n}=c.ctx.canvas,{size:o}=a.value;t.w=Math.ceil(e/o),t.h=Math.ceil(n/o),t.clear(),t.ant.x=Math.round(t.w/2),t.ant.y=Math.round(t.h/2),g(c.ctx),h(c.ctx)}function v(e){const n=t.getAntGround(),o=n===1?0:1;s(t.ant.x,t.ant.y,o),n===1?t.dir.rotate(d/2):t.dir.rotate(-d/2),t.ant.add(t.dir),h(e);function s(l,p,_){t.set(l,p,_);const{size:u}=a.value;e.fillStyle=_===0?"white":a.value.color,e.fillRect(l*u,p*u,u,u)}}function g(e){C(e);const{size:n}=a.value;t.forEach((o=0,s,l)=>{e.fillStyle=o===0?"white":a.value.color,e.fillRect(s*n,l*n,n,n)})}function h(e){const{size:n}=a.value;e.fillStyle=a.value.antColor;const o=t.ant,s=o.x*n+n/2,l=o.y*n+n/2;e.beginPath(),e.arc(s,l,n/2,0,2*d),e.fill()}return(e,n)=>(b(),B(z,{title:"Langton's ant"},{default:R(()=>[V("div",{ref:k(c).ctx.ref,class:"w-full h-full"},null,512)]),_:1}))}});export{U as default}; diff --git a/assets/maze-CEZnvXPB.js b/assets/maze-CEZnvXPB.js new file mode 100644 index 0000000..e2dfe96 --- /dev/null +++ b/assets/maze-CEZnvXPB.js @@ -0,0 +1 @@ +var M=Object.defineProperty;var R=(e,t,s)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var y=(e,t,s)=>(R(e,typeof t!="symbol"?t+"":t,s),s),C=(e,t,s)=>{if(!t.has(e))throw TypeError("Cannot "+s)};var r=(e,t,s)=>(C(e,t,"read from private field"),s?s.call(e):t.get(e)),z=(e,t,s)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,s)},m=(e,t,s,o)=>(C(e,t,"write to private field"),o?o.call(e,s):t.set(e,s),s);import{V as n,u as S,_ as V}from"./useFPSRunner-CtoNmCNe.js";import{c as b}from"./utils-DWuipzrQ.js";import{u as G}from"./useCanvasRunner-DD2PEO6M.js";import{R as B}from"./pseudorandom-9FEvop_2.js";import{d as U,o as k,c as D,w as L,a as N,u as A}from"./index-CkOdeoEX.js";var p=(e=>(e[e.Up=1]="Up",e[e.Down=2]="Down",e[e.Left=4]="Left",e[e.Right=8]="Right",e))(p||{});class O extends n{constructor(){super(...arguments);y(this,"wall",0)}}class v extends Array{constructor(t){const s=t.x*t.y;super(s),this.size=t;for(let o=0;o=this.size.x||s<0||s>=this.size.y)return;const o=s*this.size.x+t;return this.at(o)}}var c,h,f;class j{constructor(t=n.zero){y(this,"map");y(this,"random",B());z(this,c,new Set);z(this,h,new Array);z(this,f,void 0);this.map=new v(t)}setSize(t){this.map=new v(t)}get current(){return r(this,f)}isVisited(t){return r(this,c).has(t)}*createGenerator(t){for(r(this,c).clear(),m(this,f,this.map.get(0,0)),m(this,h,[r(this,f)]),r(this,c).add(r(this,f));r(this,h).length;){t==null||t(),yield,m(this,f,r(this,h).at(-1));const s=this.getNextCell(r(this,f));s?(r(this,h).push(s),r(this,c).add(s)):r(this,h).pop()}m(this,f,void 0),t==null||t()}getNextCell(t){const s={1:n.up,2:n.down,4:n.left,8:n.right},o=Object.entries(s).map(([u,w])=>{const d=n.from(t).add(w),a=this.map.get(d.x,d.y);if(a&&!r(this,c).has(a))return{wall:+u,cell:a}}).filter(Boolean),l=Math.floor(this.random(0,o.length)),i=o.at(l);if(i)return t.wall=t.wall|i.wall,i.cell}}c=new WeakMap,h=new WeakMap,f=new WeakMap;function E(e,t){const s=new j(t.size),o=new n(t.size.x*2+1,t.size.y*2+1),l=new n(e.canvas.width,e.canvas.height),i=new n(l.x/o.x,l.y/o.y),u=(a,x)=>{const _=(a.x*2+1+x.x)*i.x,g=(a.y*2+1+x.y)*i.y;e.fillStyle=t.color,e.fillRect(_,g,i.x,i.y)},w=(a,x)=>{const _=(a.x*2+1)*i.x,g=(a.y*2+1)*i.y;e.fillStyle=x,e.fillRect(_,g,i.x,i.y)};return s.createGenerator(()=>d());function d(){e.fillStyle=t.wallColor,e.fillRect(0,0,l.x,l.y),s.map.forEach(a=>{a===s.current?w(a,"#ff0000"):s.isVisited(a)?w(a,t.color):w(a,t.wallColor),a.wall&p.Up&&u(a,n.up),a.wall&p.Down&&u(a,n.down),a.wall&p.Left&&u(a,n.left),a.wall&p.Right&&u(a,n.right)})}}const Q=U({__name:"maze",setup(e){const t=S({color:"#ffffff",wallColor:"#6fbbdb",x:{_:!0,min:10,max:100,value:50,step:1},y:{_:!0,min:10,max:100,value:30,step:1},redraw:()=>o()}),s=G(l=>{b(l);const i=t.value;return E(l,{color:i.color,wallColor:i.wallColor,size:{x:i.x,y:i.y}})});s.emitter.on("done",()=>{console.log("done")});async function o(){s.recreate()}return(l,i)=>(k(),D(V,{title:"Maze Generator"},{default:L(()=>[N("div",{ref:A(s).ctx.ref,class:"w-full h-full"},null,512)]),_:1}))}});export{Q as default}; diff --git a/assets/pseudorandom-9FEvop_2.js b/assets/pseudorandom-9FEvop_2.js new file mode 100644 index 0000000..ffbd7ff --- /dev/null +++ b/assets/pseudorandom-9FEvop_2.js @@ -0,0 +1 @@ +var e=Object.defineProperty;var o=(s,t,h)=>t in s?e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:h}):s[t]=h;var i=(s,t,h)=>(o(s,typeof t!="symbol"?t+"":t,h),h);class w{constructor(t=Date.now()){i(this,"x");i(this,"y");i(this,"z");i(this,"w");this.x=t,this.y=362436069,this.z=521288629,this.w=88675121}next(){let t=this.x^this.x<<11;return this.x=this.y,this.y=this.z,this.z=this.w,this.w=this.w^this.w>>19^(t^t>>8),this.w/2**31}}function c(s=0){const t=new w(s);return(h=0,n=1)=>{const r=t.next();return h+(n-h)*r}}export{c as R}; diff --git a/assets/random-C3VbbgS7.js b/assets/random-C3VbbgS7.js new file mode 100644 index 0000000..462d863 --- /dev/null +++ b/assets/random-C3VbbgS7.js @@ -0,0 +1 @@ +import{u as f,_ as p}from"./useFPSRunner-CtoNmCNe.js";import{c as d}from"./utils-DWuipzrQ.js";import{R as _}from"./pseudorandom-9FEvop_2.js";import{u as v}from"./useCanvasRunner-DD2PEO6M.js";import{d as h,o as R,c as w,w as k,a as x,u as g}from"./index-CkOdeoEX.js";function B(s,n,a){const o=a-n;return n+s*o}const T=h({__name:"random",setup(s){const n=f({speed:{_:!0,min:10,max:1e3,step:1,value:10},stepSize:{_:!0,min:1,max:20,step:1,value:3},color:"#f26f6f",reset(){o.splice(0)}}),a=v(i),o=[],u=_(),c=()=>{const t=a.ctx.canvas.width;let e=u();e=Math.round(B(e,0,t)),o[e]||(o[e]=0),o[e]+=n.value.stepSize};function i(t){for(let e=0;e{const r=m;t.moveTo(r,0),t.lineTo(r,e)}),t.stroke()}function l(){o.splice(0)}return(t,e)=>(R(),w(p,{title:"Pseudo Random Distribution",onReset:l},{default:k(()=>[x("div",{ref:g(a).ctx.ref,class:"w-full h-full"},null,512)]),_:1}))}});export{T as default}; diff --git a/assets/useCanvasRunner-DD2PEO6M.js b/assets/useCanvasRunner-DD2PEO6M.js new file mode 100644 index 0000000..db7859c --- /dev/null +++ b/assets/useCanvasRunner-DD2PEO6M.js @@ -0,0 +1 @@ +import{a as i,b as o,d as c,s as f,e as l}from"./useFPSRunner-CtoNmCNe.js";import{f as m,b as p,e as v}from"./index-CkOdeoEX.js";function y(a,u){const s=i(),e=o(()=>a(s),u),t=c(s.ref),r=m();return p(async()=>{r.query.autoStart!=="0"&&(await e.recreate(),await f(500),t.value&&e.resume())}),v(t,()=>{t.value?e.resume():e.pause()}),l(s.ref,"click",async n=>{e.status.started?e.status.paused?e.resume():e.pause():e.restart()}),{...e,ctx:s}}export{y as u}; diff --git a/assets/useFPSRunner-CtoNmCNe.js b/assets/useFPSRunner-CtoNmCNe.js new file mode 100644 index 0000000..776c938 --- /dev/null +++ b/assets/useFPSRunner-CtoNmCNe.js @@ -0,0 +1,3 @@ +var ni=Object.defineProperty;var ri=(n,t,e)=>t in n?ni(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var J=(n,t,e)=>(ri(n,typeof t!="symbol"?t+"":t,e),e),me=(n,t,e)=>{if(!t.has(n))throw TypeError("Cannot "+e)};var V=(n,t,e)=>(me(n,t,"read from private field"),e?e.call(n):t.get(n)),H=(n,t,e)=>{if(t.has(n))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(n):t.set(n,e)},ht=(n,t,e,r)=>(me(n,t,"write to private field"),r?r.call(n,e):t.set(n,e),e);var St=(n,t,e)=>(me(n,t,"access private method"),e);import{o as Pe,g as Ee,a as Hn,d as ii,u as qn,h as si,r as un,i as oi,j as ai,t as li,k as pi,l as ci,m as yt,n as ui,e as Ft,p as De,q as dn,b as pe,s as di,v as ce,x as hi}from"./index-CkOdeoEX.js";const vi={viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},mi=Hn("path",{fill:"currentColor",d:"m14 26l1.41-1.41L7.83 17H28v-2H7.83l7.58-7.59L14 6L4 16z"},null,-1),bi=[mi];function fi(n,t){return Pe(),Ee("svg",vi,[...bi])}const _i={name:"carbon-arrow-left",render:fi};function wi(n){return/^\s*class/.test(String(n))}function gi(n){return typeof n=="function"&&!wi(n)}function Gn(n){return n!==null&&typeof n=="object"}function xi(){let n,t,e="pending";const r=new Promise((i,s)=>{n=o=>{e==="pending"&&(e="fulfilled",i(o))},t=o=>{e==="pending"&&(e="rejected",s(o))}});return{get status(){return e},get isPending(){return e==="pending"},get isFulfilled(){return e==="fulfilled"},get isRejected(){return e==="rejected"},instance:r,resolve:n,reject:t}}var Ci=(n=0)=>{let t;const e=xi(),r=e.instance;return r.cancel=()=>{clearTimeout(t),e.reject("canceled")},t=setTimeout(e.resolve,n),r},F,nt,wt,Nt,ke,ae,Yn,le,Xn,Un,Wn=(Un=class{constructor(n=0){H(this,Nt);H(this,ae);H(this,le);H(this,F,void 0);H(this,nt,void 0);H(this,wt,new Map);ht(this,nt,n),ht(this,F,{})}get capacity(){return V(this,nt)}events(n){return n?(V(this,F)[n]||(V(this,F)[n]=new Set),V(this,F)[n]):V(this,F)}on(n,t){const e=this.events(n);return St(this,Nt,ke).call(this,e.size),e.add(t),()=>this.off(n,t)}once(n,t){const e=this.events(n);return St(this,Nt,ke).call(this,e.size),e.add(t),St(this,le,Xn).call(this,n,t),()=>this.off(n,t)}off(n,t){if(!n){const r=Object.values(V(this,F));return ht(this,F,{}),r.length>0}if(!t){const r=V(this,F)[n];return r&&delete V(this,F)[n],((r==null?void 0:r.size)||0)>0}return this.events(n).delete(t)}emit(n,...t){const e=this.events(n),r=[];e.forEach(i=>{try{i(...t)}catch(s){console.error(s)}St(this,ae,Yn).call(this,n,i)&&r.push(i)}),r.forEach(i=>e.delete(i))}},F=new WeakMap,nt=new WeakMap,wt=new WeakMap,Nt=new WeakSet,ke=function(n){if(V(this,nt)&&n>=V(this,nt))throw new Error("Listeners reached limit size: "+V(this,nt))},ae=new WeakSet,Yn=function(n,t){const e=V(this,wt).get(n);return e==null?void 0:e.delete(t)},le=new WeakSet,Xn=function(n,t){const e=V(this,wt).get(n);e?e.add(t):V(this,wt).set(n,new Set([t]))},Un);function gp(n,t,e){return ne?e:n}function yi(n){let t=null;const e=new Wn,i={emitter:e,status:{get started(){return!!(t!=null&&t.started)},get paused(){return!!(t!=null&&t.paused)}},get current(){return t==null?void 0:t.current},async recreate(...s){t&&await t.pause(),t=new Pi(n),t.on("done",()=>e.emit("done")),t.on("next",()=>e.emit("next")),t.create(...s)},async restart(...s){await i.recreate(...s),i.resume()},pause(){return t==null?void 0:t.pause()},resume(){return t==null?void 0:t.resume()}};return i}var gt,xt;class Pi extends Wn{constructor(e){super();J(this,"paused",!1);H(this,gt,void 0);J(this,"started",!1);H(this,xt,void 0);this.fn=e}get current(){return V(this,gt)}async create(...e){this.started||(this.started=!0,this.paused=!0,ht(this,xt,this.fn(...e)))}async pause(){this.paused=!0,await this.current}async resume(){if(!(!this.started||!V(this,xt))){for(this.paused=!1;!this.paused;)if(ht(this,gt,V(this,xt).next()),this.emit("next"),(await V(this,gt)).done){this.emit("done"),this.started=!1;return}}}}gt=new WeakMap,xt=new WeakMap;const Re=window.parent!==window,Ei={class:"w-screen h-screen flex flex-col"},ki={key:0,class:"text-2xl py-4 border-b border-gray-200 flex items-center justify-center gap-2"},Vi={class:"flex-1"},xp=ii({__name:"Layout",props:{title:{}},emits:["reset"],setup(n){return(t,e)=>{const r=_i;return Pe(),Ee("div",Ei,[qn(Re)?oi("",!0):(Pe(),Ee("div",ki,[si(r,{class:"cursor-pointer text-blue",title:"Go back",onClick:e[0]||(e[0]=i=>t.$router.push("/"))}),un(t.$slots,"title",{},()=>[ai(li(t.title),1)])])),Hn("div",Vi,[un(t.$slots,"default")])])}}});function Te(n){return pi()?(ci(n),!0):!1}function Be(n){return typeof n=="function"?n():qn(n)}const Si=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Li=n=>n!=null,Mi=Object.prototype.toString,Ai=n=>Mi.call(n)==="[object Object]",Zt=()=>{};function Oi(n,t){function e(...r){return new Promise((i,s)=>{Promise.resolve(n(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(i).catch(s)})}return e}const Qn=n=>n();function ji(n=Qn){const t=yt(!0);function e(){t.value=!1}function r(){t.value=!0}const i=(...s)=>{t.value&&n(...s)};return{isActive:ui(t),pause:e,resume:r,eventFilter:i}}function Di(n,t,e={}){const{eventFilter:r=Qn,...i}=e;return Ft(n,Oi(r,t),i)}function Ri(n,t,e={}){const{eventFilter:r,...i}=e,{eventFilter:s,pause:o,resume:a,isActive:p}=ji(r);return{stop:Di(n,t,{...i,eventFilter:s}),pause:o,resume:a,isActive:p}}function bt(n){var t;const e=Be(n);return(t=e==null?void 0:e.$el)!=null?t:e}const $t=Si?window:void 0;function hn(...n){let t,e,r,i;if(typeof n[0]=="string"||Array.isArray(n[0])?([e,r,i]=n,t=$t):[t,e,r,i]=n,!t)return Zt;Array.isArray(e)||(e=[e]),Array.isArray(r)||(r=[r]);const s=[],o=()=>{s.forEach(c=>c()),s.length=0},a=(c,u,g,f)=>(c.addEventListener(u,g,f),()=>c.removeEventListener(u,g,f)),p=Ft(()=>[bt(t),Be(i)],([c,u])=>{if(o(),!c)return;const g=Ai(u)?{...u}:u;s.push(...e.flatMap(f=>r.map(m=>a(c,f,m,g))))},{immediate:!0,flush:"post"}),l=()=>{p(),o()};return Te(l),l}function Ti(){const n=yt(!1),t=di();return t&&pe(()=>{n.value=!0},t),n}function Jn(n){const t=Ti();return De(()=>(t.value,!!n()))}function Bi(n,t,e={}){const{window:r=$t,...i}=e;let s;const o=Jn(()=>r&&"ResizeObserver"in r),a=()=>{s&&(s.disconnect(),s=void 0)},p=De(()=>Array.isArray(n)?n.map(u=>bt(u)):[bt(n)]),l=Ft(p,u=>{if(a(),o.value&&r){s=new ResizeObserver(t);for(const g of u)g&&s.observe(g,i)}},{immediate:!0,flush:"post"}),c=()=>{a(),l()};return Te(c),{isSupported:o,stop:c}}function Ii(n,t,e={}){const{root:r,rootMargin:i="0px",threshold:s=.1,window:o=$t,immediate:a=!0}=e,p=Jn(()=>o&&"IntersectionObserver"in o),l=De(()=>{const m=Be(n);return(Array.isArray(m)?m:[m]).map(bt).filter(Li)});let c=Zt;const u=yt(a),g=p.value?Ft(()=>[l.value,bt(r),u.value],([m,L])=>{if(c(),!u.value||!m.length)return;const B=new IntersectionObserver(t,{root:bt(L),rootMargin:i,threshold:s});m.forEach(x=>x&&B.observe(x)),c=()=>{B.disconnect(),c=Zt}},{immediate:a,flush:"post"}):Zt,f=()=>{c(),g(),u.value=!1};return Te(f),{isSupported:p,isActive:u,pause(){c(),u.value=!1},resume(){u.value=!0},stop:f}}function Cp(n,t={}){const{window:e=$t,scrollTarget:r,threshold:i=0}=t,s=yt(!1);return Ii(n,o=>{let a=s.value,p=0;for(const l of o)l.time>=p&&(p=l.time,a=l.isIntersecting);s.value=a},{root:r,window:e,threshold:i}),s}function Ni(n="history",t={}){const{initialValue:e={},removeNullishValues:r=!0,removeFalsyValues:i=!1,write:s=!0,window:o=$t}=t;if(!o)return dn(e);const a=dn({});function p(){if(n==="history")return o.location.search||"";if(n==="hash"){const x=o.location.hash||"",w=x.indexOf("?");return w>0?x.slice(w):""}else return(o.location.hash||"").replace(/^#/,"")}function l(x){const w=x.toString();if(n==="history")return`${w?`?${w}`:""}${o.location.hash||""}`;if(n==="hash-params")return`${o.location.search||""}${w?`#${w}`:""}`;const h=o.location.hash||"#",I=h.indexOf("?");return I>0?`${h.slice(0,I)}${w?`?${w}`:""}`:`${h}${w?`?${w}`:""}`}function c(){return new URLSearchParams(p())}function u(x){const w=new Set(Object.keys(a));for(const h of x.keys()){const I=x.getAll(h);a[h]=I.length>1?I:x.get(h)||"",w.delete(h)}Array.from(w).forEach(h=>delete a[h])}const{pause:g,resume:f}=Ri(a,()=>{const x=new URLSearchParams("");Object.keys(a).forEach(w=>{const h=a[w];Array.isArray(h)?h.forEach(I=>x.append(w,I)):r&&h==null||i&&!h?x.delete(w):x.set(w,h)}),m(x)},{deep:!0});function m(x,w){g(),w&&u(x),o.history.replaceState(o.history.state,o.document.title,o.location.pathname+l(x)),f()}function L(){s&&m(c(),!0)}hn(o,"popstate",L,!1),n!=="history"&&hn(o,"hashchange",L,!1);const B=c();return B.keys().next().value?u(B):Object.assign(a,e),a}function yp(){const n=yt(),t=document.createElement("canvas");t.style.width="100%",t.style.height="100%",t.style.display="block";const e=t.getContext("2d",{willReadFrequently:!0});return e.ref=n,Bi(n,()=>{const r=n.value;r&&(t.width=r.clientWidth,t.height=r.clientHeight)}),pe(()=>{const r=n.value;r&&(t.width=r.clientWidth,t.height=r.clientHeight,r.appendChild(t))}),ce(()=>{t.remove()}),e}const D=class D{constructor(t=0,e=0){this.x=t,this.y=e}static from(t){return new D(t.x,t.y)}rotate(t){var e=Math.cos(t),r=Math.sin(t);const{x:i,y:s}=this;return this.x=Math.round(1e4*(i*e-s*r))/1e4,this.y=Math.round(1e4*(i*r+s*e))/1e4,this}add(t){return this.x+=t.x,this.y+=t.y,this}};J(D,"zero",new D),J(D,"up",new D(0,-1)),J(D,"down",new D(0,1)),J(D,"left",new D(-1,0)),J(D,"right",new D(1,0));let vn=D;const Fi=!1;/*! Tweakpane 4.0.3 (c) 2016 cocopon, licensed under the MIT license. */function C(n){return n==null}function Ie(n){return n!==null&&typeof n=="object"}function Ve(n){return n!==null&&typeof n=="object"}function $i(n,t){if(n.length!==t.length)return!1;for(let e=0;e{const s=n[i],o=t[i];return Ve(s)&&Ve(o)?Object.assign(Object.assign({},r),{[i]:lt(s,o)}):Object.assign(Object.assign({},r),{[i]:i in t?o:s})},{})}function Ne(n){return Ie(n)?"target"in n:!1}const zi={alreadydisposed:()=>"View has been already disposed",invalidparams:n=>`Invalid parameters for '${n.name}'`,nomatchingcontroller:n=>`No matching controller for '${n.key}'`,nomatchingview:n=>`No matching view for '${JSON.stringify(n.params)}'`,notbindable:()=>"Value is not bindable",notcompatible:n=>`Not compatible with plugin '${n.id}'`,propertynotfound:n=>`Property '${n.name}' not found`,shouldneverhappen:()=>"This error should never happen"};class E{static alreadyDisposed(){return new E({type:"alreadydisposed"})}static notBindable(){return new E({type:"notbindable"})}static notCompatible(t,e){return new E({type:"notcompatible",context:{id:`${t}.${e}`}})}static propertyNotFound(t){return new E({type:"propertynotfound",context:{name:t}})}static shouldNeverHappen(){return new E({type:"shouldneverhappen"})}constructor(t){var e;this.message=(e=zi[t.type](t.context))!==null&&e!==void 0?e:"Unexpected error",this.name=this.constructor.name,this.stack=new Error(this.message).stack,this.type=t.type}toString(){return this.message}}class ne{constructor(t,e){this.obj_=t,this.key=e}static isBindable(t){return!(t===null||typeof t!="object"&&typeof t!="function")}read(){return this.obj_[this.key]}write(t){this.obj_[this.key]=t}writeProperty(t,e){const r=this.read();if(!ne.isBindable(r))throw E.notBindable();if(!(t in r))throw E.propertyNotFound(t);r[t]=e}}class k{constructor(){this.observers_={}}on(t,e,r){var i;let s=this.observers_[t];return s||(s=this.observers_[t]=[]),s.push({handler:e,key:(i=r==null?void 0:r.key)!==null&&i!==void 0?i:e}),this}off(t,e){const r=this.observers_[t];return r&&(this.observers_[t]=r.filter(i=>i.key!==e)),this}emit(t,e){const r=this.observers_[t];r&&r.forEach(i=>{i.handler(e)})}}class Ki{constructor(t,e){var r;this.constraint_=e==null?void 0:e.constraint,this.equals_=(r=e==null?void 0:e.equals)!==null&&r!==void 0?r:(i,s)=>i===s,this.emitter=new k,this.rawValue_=t}get constraint(){return this.constraint_}get rawValue(){return this.rawValue_}set rawValue(t){this.setRawValue(t,{forceEmit:!1,last:!0})}setRawValue(t,e){const r=e??{forceEmit:!1,last:!0},i=this.constraint_?this.constraint_.constrain(t):t,s=this.rawValue_;this.equals_(s,i)&&!r.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.rawValue_=i,this.emitter.emit("change",{options:r,previousRawValue:s,rawValue:i,sender:this}))}}class Ui{constructor(t){this.emitter=new k,this.value_=t}get rawValue(){return this.value_}set rawValue(t){this.setRawValue(t,{forceEmit:!1,last:!0})}setRawValue(t,e){const r=e??{forceEmit:!1,last:!0},i=this.value_;i===t&&!r.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.value_=t,this.emitter.emit("change",{options:r,previousRawValue:i,rawValue:this.value_,sender:this}))}}class Hi{constructor(t){this.emitter=new k,this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.value_=t,this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_)}get rawValue(){return this.value_.rawValue}onValueBeforeChange_(t){this.emitter.emit("beforechange",Object.assign(Object.assign({},t),{sender:this}))}onValueChange_(t){this.emitter.emit("change",Object.assign(Object.assign({},t),{sender:this}))}}function y(n,t){const e=t==null?void 0:t.constraint,r=t==null?void 0:t.equals;return!e&&!r?new Ui(n):new Ki(n,t)}function qi(n){return[new Hi(n),(t,e)=>{n.setRawValue(t,e)}]}class d{constructor(t){this.emitter=new k,this.valMap_=t;for(const e in this.valMap_)this.valMap_[e].emitter.on("change",()=>{this.emitter.emit("change",{key:e,sender:this})})}static createCore(t){return Object.keys(t).reduce((r,i)=>Object.assign(r,{[i]:y(t[i])}),{})}static fromObject(t){const e=this.createCore(t);return new d(e)}get(t){return this.valMap_[t].rawValue}set(t,e){this.valMap_[t].rawValue=e}value(t){return this.valMap_[t]}}class zt{constructor(t){this.values=d.fromObject({max:t.max,min:t.min})}constrain(t){const e=this.values.get("max"),r=this.values.get("min");return Math.min(Math.max(t,r),e)}}class Gi{constructor(t){this.values=d.fromObject({max:t.max,min:t.min})}constrain(t){const e=this.values.get("max"),r=this.values.get("min");let i=t;return C(r)||(i=Math.max(i,r)),C(e)||(i=Math.min(i,e)),i}}class Wi{constructor(t,e=0){this.step=t,this.origin=e}constrain(t){const e=this.origin%this.step,r=Math.round((t-e)/this.step);return e+r*this.step}}class Yi{constructor(t){this.text=t}evaluate(){return Number(this.text)}toString(){return this.text}}const Xi={"**":(n,t)=>Math.pow(n,t),"*":(n,t)=>n*t,"/":(n,t)=>n/t,"%":(n,t)=>n%t,"+":(n,t)=>n+t,"-":(n,t)=>n-t,"<<":(n,t)=>n<>":(n,t)=>n>>t,">>>":(n,t)=>n>>>t,"&":(n,t)=>n&t,"^":(n,t)=>n^t,"|":(n,t)=>n|t};class Qi{constructor(t,e,r){this.left=e,this.operator=t,this.right=r}evaluate(){const t=Xi[this.operator];if(!t)throw new Error(`unexpected binary operator: '${this.operator}`);return t(this.left.evaluate(),this.right.evaluate())}toString(){return["b(",this.left.toString(),this.operator,this.right.toString(),")"].join(" ")}}const Ji={"+":n=>n,"-":n=>-n,"~":n=>~n};class Zi{constructor(t,e){this.operator=t,this.expression=e}evaluate(){const t=Ji[this.operator];if(!t)throw new Error(`unexpected unary operator: '${this.operator}`);return t(this.expression.evaluate())}toString(){return["u(",this.operator,this.expression.toString(),")"].join(" ")}}function Fe(n){return(t,e)=>{for(let r=0;rt.startsWith(i,e))[0];return r?(e+=r.length,e+=jt(t,e).length,{cursor:e,operator:r}):null}function _s(n,t){return(e,r)=>{const i=n(e,r);if(!i)return null;r=i.cursor;let s=i.evaluable;for(;;){const o=fs(t,e,r);if(!o)break;r=o.cursor;const a=n(e,r);if(!a)return null;r=a.cursor,s=new Qi(o.operator,s,a.evaluable)}return s?{cursor:r,evaluable:s}:null}}const ws=[["**"],["*","/","%"],["+","-"],["<<",">>>",">>"],["&"],["^"],["|"]].reduce((n,t)=>_s(n,t),tr);function er(n,t){return t+=jt(n,t).length,ws(n,t)}function gs(n){const t=er(n,0);return!t||t.cursor+jt(n,t.cursor).length!==n.length?null:t.evaluable}function Y(n){var t;const e=gs(n);return(t=e==null?void 0:e.evaluate())!==null&&t!==void 0?t:null}function nr(n){if(typeof n=="number")return n;if(typeof n=="string"){const t=Y(n);if(!C(t))return t}return 0}function xs(n){return String(n)}function j(n){return t=>t.toFixed(Math.max(Math.min(n,20),0))}function _(n,t,e,r,i){const s=(n-t)/(e-t);return r+s*(i-r)}function mn(n){return String(n.toFixed(10)).split(".")[1].replace(/0+$/,"").length}function S(n,t,e){return Math.min(Math.max(n,t),e)}function rr(n,t){return(n%t+t)%t}function Cs(n,t){return C(n.step)?Math.max(mn(t),2):mn(n.step)}function ir(n){var t;return(t=n.step)!==null&&t!==void 0?t:1}function sr(n,t){var e;const r=Math.abs((e=n.step)!==null&&e!==void 0?e:t);return r===0?.1:Math.pow(10,Math.floor(Math.log10(r))-1)}function or(n,t){return C(n.step)?null:new Wi(n.step,t)}function ar(n){return!C(n.max)&&!C(n.min)?new zt({max:n.max,min:n.min}):!C(n.max)||!C(n.min)?new Gi({max:n.max,min:n.min}):null}function lr(n,t){var e,r,i;return{formatter:(e=n.format)!==null&&e!==void 0?e:j(Cs(n,t)),keyScale:(r=n.keyScale)!==null&&r!==void 0?r:ir(n),pointerScale:(i=n.pointerScale)!==null&&i!==void 0?i:sr(n,t)}}function pr(n){return{format:n.optional.function,keyScale:n.optional.number,max:n.optional.number,min:n.optional.number,pointerScale:n.optional.number,step:n.optional.number}}function ze(n){return{constraint:n.constraint,textProps:d.fromObject(lr(n.params,n.initialValue))}}class ut{constructor(t){this.controller=t}get element(){return this.controller.view.element}get disabled(){return this.controller.viewProps.get("disabled")}set disabled(t){this.controller.viewProps.set("disabled",t)}get hidden(){return this.controller.viewProps.get("hidden")}set hidden(t){this.controller.viewProps.set("hidden",t)}dispose(){this.controller.viewProps.set("disposed",!0)}importState(t){return this.controller.importState(t)}exportState(){return this.controller.exportState()}}class ue{constructor(t){this.target=t}}class Kt extends ue{constructor(t,e,r){super(t),this.value=e,this.last=r??!0}}class ys extends ue{constructor(t,e){super(t),this.expanded=e}}class Ps extends ue{constructor(t,e){super(t),this.index=e}}class Es extends ue{constructor(t,e){super(t),this.native=e}}class Rt extends ut{constructor(t){super(t),this.onValueChange_=this.onValueChange_.bind(this),this.emitter_=new k,this.controller.value.emitter.on("change",this.onValueChange_)}get label(){return this.controller.labelController.props.get("label")}set label(t){this.controller.labelController.props.set("label",t)}get key(){return this.controller.value.binding.target.key}get tag(){return this.controller.tag}set tag(t){this.controller.tag=t}on(t,e){const r=e.bind(this);return this.emitter_.on(t,i=>{r(i)},{key:e}),this}off(t,e){return this.emitter_.off(t,e),this}refresh(){this.controller.value.fetch()}onValueChange_(t){const e=this.controller.value;this.emitter_.emit("change",new Kt(this,e.binding.target.read(),t.options.last))}}class ks{constructor(t,e){this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.binding=e,this.value_=t,this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_),this.emitter=new k}get rawValue(){return this.value_.rawValue}set rawValue(t){this.value_.rawValue=t}setRawValue(t,e){this.value_.setRawValue(t,e)}fetch(){this.value_.rawValue=this.binding.read()}push(){this.binding.write(this.value_.rawValue)}onValueBeforeChange_(t){this.emitter.emit("beforechange",Object.assign(Object.assign({},t),{sender:this}))}onValueChange_(t){this.push(),this.emitter.emit("change",Object.assign(Object.assign({},t),{sender:this}))}}function Vs(n){if(!("binding"in n))return!1;const t=n.binding;return Ne(t)&&"read"in t&&"write"in t}function Ss(n,t){const r=Object.keys(t).reduce((i,s)=>{if(i===void 0)return;const o=t[s],a=o(n[s]);return a.succeeded?Object.assign(Object.assign({},i),{[s]:a.value}):void 0},{});return r}function Ls(n,t){return n.reduce((e,r)=>{if(e===void 0)return;const i=t(r);if(!(!i.succeeded||i.value===void 0))return[...e,i.value]},[])}function Ms(n){return n===null?!1:typeof n=="object"}function q(n){return t=>e=>{if(!t&&e===void 0)return{succeeded:!1,value:void 0};if(t&&e===void 0)return{succeeded:!0,value:void 0};const r=n(e);return r!==void 0?{succeeded:!0,value:r}:{succeeded:!1,value:void 0}}}function bn(n){return{custom:t=>q(t)(n),boolean:q(t=>typeof t=="boolean"?t:void 0)(n),number:q(t=>typeof t=="number"?t:void 0)(n),string:q(t=>typeof t=="string"?t:void 0)(n),function:q(t=>typeof t=="function"?t:void 0)(n),constant:t=>q(e=>e===t?t:void 0)(n),raw:q(t=>t)(n),object:t=>q(e=>{if(Ms(e))return Ss(e,t)})(n),array:t=>q(e=>{if(Array.isArray(e))return Ls(e,t)})(n)}}const Se={optional:bn(!0),required:bn(!1)};function P(n,t){const e=t(Se),r=Se.required.object(e)(n);return r.succeeded?r.value:void 0}function R(n,t,e,r){if(t&&!t(n))return!1;const i=P(n,e);return i?r(i):!1}function T(n,t){var e;return lt((e=n==null?void 0:n())!==null&&e!==void 0?e:{},t)}function at(n){return"value"in n}function cr(n){if(!Ie(n)||!("binding"in n))return!1;const t=n.binding;return Ne(t)}const z="http://www.w3.org/2000/svg";function re(n){n.offsetHeight}function As(n,t){const e=n.style.transition;n.style.transition="none",t(),n.style.transition=e}function Ke(n){return n.ontouchstart!==void 0}function Os(){return globalThis}function js(){return Os().document}function Ds(n){const t=n.ownerDocument.defaultView;return t&&"document"in t?n.getContext("2d",{willReadFrequently:!0}):null}const Rs={check:'',dropdown:'',p2dpad:''};function de(n,t){const e=n.createElementNS(z,"svg");return e.innerHTML=Rs[t],e}function ur(n,t,e){n.insertBefore(t,n.children[e])}function Ue(n){n.parentElement&&n.parentElement.removeChild(n)}function dr(n){for(;n.children.length>0;)n.removeChild(n.children[0])}function Ts(n){for(;n.childNodes.length>0;)n.removeChild(n.childNodes[0])}function hr(n){return n.relatedTarget?n.relatedTarget:"explicitOriginalTarget"in n?n.explicitOriginalTarget:null}function W(n,t){n.emitter.on("change",e=>{t(e.rawValue)}),t(n.rawValue)}function K(n,t,e){W(n.value(t),e)}const Bs="tp";function v(n){return(e,r)=>[Bs,"-",n,"v",e?`_${e}`:"",r?`-${r}`:""].join("")}const Lt=v("lbl");function Is(n,t){const e=n.createDocumentFragment();return t.split(` +`).map(i=>n.createTextNode(i)).forEach((i,s)=>{s>0&&e.appendChild(n.createElement("br")),e.appendChild(i)}),e}class vr{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(Lt()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("div");r.classList.add(Lt("l")),K(e.props,"label",s=>{C(s)?this.element.classList.add(Lt(void 0,"nol")):(this.element.classList.remove(Lt(void 0,"nol")),Ts(r),r.appendChild(Is(t,s)))}),this.element.appendChild(r),this.labelElement=r;const i=t.createElement("div");i.classList.add(Lt("v")),this.element.appendChild(i),this.valueElement=i}}class mr{constructor(t,e){this.props=e.props,this.valueController=e.valueController,this.viewProps=e.valueController.viewProps,this.view=new vr(t,{props:e.props,viewProps:this.viewProps}),this.view.valueElement.appendChild(this.valueController.view.element)}importProps(t){return R(t,null,e=>({label:e.optional.string}),e=>(this.props.set("label",e.label),!0))}exportProps(){return T(null,{label:this.props.get("label")})}}function Ns(){return["veryfirst","first","last","verylast"]}const fn=v(""),_n={veryfirst:"vfst",first:"fst",last:"lst",verylast:"vlst"};class he{constructor(t){this.parent_=null,this.blade=t.blade,this.view=t.view,this.viewProps=t.viewProps;const e=this.view.element;this.blade.value("positions").emitter.on("change",()=>{Ns().forEach(r=>{e.classList.remove(fn(void 0,_n[r]))}),this.blade.get("positions").forEach(r=>{e.classList.add(fn(void 0,_n[r]))})}),this.viewProps.handleDispose(()=>{Ue(e)})}get parent(){return this.parent_}set parent(t){this.parent_=t,this.viewProps.set("parent",this.parent_?this.parent_.viewProps:null)}importState(t){return R(t,null,e=>({disabled:e.required.boolean,hidden:e.required.boolean}),e=>(this.viewProps.importState(e),!0))}exportState(){return T(null,Object.assign({},this.viewProps.exportState()))}}class pt extends he{constructor(t,e){if(e.value!==e.valueController.value)throw E.shouldNeverHappen();const r=e.valueController.viewProps,i=new mr(t,{blade:e.blade,props:e.props,valueController:e.valueController});super(Object.assign(Object.assign({},e),{view:new vr(t,{props:e.props,viewProps:r}),viewProps:r})),this.labelController=i,this.value=e.value,this.valueController=e.valueController,this.view.valueElement.appendChild(this.valueController.view.element)}importState(t){return R(t,e=>{var r,i,s;return super.importState(e)&&this.labelController.importProps(e)&&((s=(i=(r=this.valueController).importProps)===null||i===void 0?void 0:i.call(r,t))!==null&&s!==void 0?s:!0)},e=>({value:e.optional.raw}),e=>(e.value&&(this.value.rawValue=e.value),!0))}exportState(){var t,e,r;return T(()=>super.exportState(),Object.assign(Object.assign({value:this.value.rawValue},this.labelController.exportProps()),(r=(e=(t=this.valueController).exportProps)===null||e===void 0?void 0:e.call(t))!==null&&r!==void 0?r:{}))}}function wn(n){const t=Object.assign({},n);return delete t.value,t}class br extends pt{constructor(t,e){super(t,e),this.tag=e.tag}importState(t){return R(t,e=>super.importState(wn(t)),e=>({tag:e.optional.string}),e=>(this.tag=e.tag,!0))}exportState(){return T(()=>wn(super.exportState()),{binding:{key:this.value.binding.target.key,value:this.value.binding.target.read()},tag:this.tag})}}function Fs(n){return at(n)&&cr(n.value)}class $s extends br{importState(t){return R(t,e=>super.importState(e),e=>({binding:e.required.object({value:e.required.raw})}),e=>(this.value.binding.inject(e.binding.value),this.value.fetch(),!0))}}function zs(n){return at(n)&&Vs(n.value)}function fr(n,t){for(;n.lengthn.length?e.splice(0,e.length-n.length):fr(e,n.length),e}class qs{constructor(t){this.emitter=new k,this.onTick_=this.onTick_.bind(this),this.onValueBeforeChange_=this.onValueBeforeChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.binding=t.binding,this.value_=y(Ks(t.bufferSize)),this.value_.emitter.on("beforechange",this.onValueBeforeChange_),this.value_.emitter.on("change",this.onValueChange_),this.ticker=t.ticker,this.ticker.emitter.on("tick",this.onTick_),this.fetch()}get rawValue(){return this.value_.rawValue}set rawValue(t){this.value_.rawValue=t}setRawValue(t,e){this.value_.setRawValue(t,e)}fetch(){this.value_.rawValue=Hs(this.value_.rawValue,this.binding.read())}onTick_(){this.fetch()}onValueBeforeChange_(t){this.emitter.emit("beforechange",Object.assign(Object.assign({},t),{sender:this}))}onValueChange_(t){this.emitter.emit("change",Object.assign(Object.assign({},t),{sender:this}))}}function Gs(n){if(!("binding"in n))return!1;const t=n.binding;return Ne(t)&&"read"in t&&!("write"in t)}class Ws extends br{exportState(){return T(()=>super.exportState(),{binding:{readonly:!0}})}}function Ys(n){return at(n)&&Gs(n.value)}class Xs extends ut{get label(){return this.controller.labelController.props.get("label")}set label(t){this.controller.labelController.props.set("label",t)}get title(){var t;return(t=this.controller.buttonController.props.get("title"))!==null&&t!==void 0?t:""}set title(t){this.controller.buttonController.props.set("title",t)}on(t,e){const r=e.bind(this);return this.controller.buttonController.emitter.on(t,s=>{r(new Es(this,s.nativeEvent))}),this}off(t,e){return this.controller.buttonController.emitter.off(t,e),this}}function Qs(n,t,e){e?n.classList.add(t):n.classList.remove(t)}function Pt(n,t){return e=>{Qs(n,t,e)}}function He(n,t){W(n,e=>{t.textContent=e??""})}const be=v("btn");class Js{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(be()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("button");r.classList.add(be("b")),e.viewProps.bindDisabled(r),this.element.appendChild(r),this.buttonElement=r;const i=t.createElement("div");i.classList.add(be("t")),He(e.props.value("title"),i),this.buttonElement.appendChild(i)}}class Zs{constructor(t,e){this.emitter=new k,this.onClick_=this.onClick_.bind(this),this.props=e.props,this.viewProps=e.viewProps,this.view=new Js(t,{props:this.props,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}importProps(t){return R(t,null,e=>({title:e.optional.string}),e=>(this.props.set("title",e.title),!0))}exportProps(){return T(null,{title:this.props.get("title")})}onClick_(t){this.emitter.emit("click",{nativeEvent:t,sender:this})}}class gn extends he{constructor(t,e){const r=new Zs(t,{props:e.buttonProps,viewProps:e.viewProps}),i=new mr(t,{blade:e.blade,props:e.labelProps,valueController:r});super({blade:e.blade,view:i.view,viewProps:e.viewProps}),this.buttonController=r,this.labelController=i}importState(t){return R(t,e=>super.importState(e)&&this.buttonController.importProps(e)&&this.labelController.importProps(e),()=>({}),()=>!0)}exportState(){return T(()=>super.exportState(),Object.assign(Object.assign({},this.buttonController.exportProps()),this.labelController.exportProps()))}}class _r{constructor(t){const[e,r]=t.split("-"),i=e.split(".");this.major=parseInt(i[0],10),this.minor=parseInt(i[1],10),this.patch=parseInt(i[2],10),this.prerelease=r??null}toString(){const t=[this.major,this.minor,this.patch].join(".");return this.prerelease!==null?[t,this.prerelease].join("-"):t}}const Et=new _r("2.0.3");function A(n){return Object.assign({core:Et},n)}const to=A({id:"button",type:"blade",accept(n){const t=P(n,e=>({title:e.required.string,view:e.required.constant("button"),label:e.optional.string}));return t?{params:t}:null},controller(n){return new gn(n.document,{blade:n.blade,buttonProps:d.fromObject({title:n.params.title}),labelProps:d.fromObject({label:n.params.label}),viewProps:n.viewProps})},api(n){return n.controller instanceof gn?new Xs(n.controller):null}});function eo(n,t){return n.addBlade(Object.assign(Object.assign({},t),{view:"button"}))}function no(n,t){return n.addBlade(Object.assign(Object.assign({},t),{view:"folder"}))}function ro(n,t){return n.addBlade(Object.assign(Object.assign({},t),{view:"tab"}))}function io(n){return Ie(n)?"refresh"in n&&typeof n.refresh=="function":!1}function so(n,t){if(!ne.isBindable(n))throw E.notBindable();return new ne(n,t)}class oo{constructor(t,e){this.onRackValueChange_=this.onRackValueChange_.bind(this),this.controller_=t,this.emitter_=new k,this.pool_=e,this.controller_.rack.emitter.on("valuechange",this.onRackValueChange_)}get children(){return this.controller_.rack.children.map(t=>this.pool_.createApi(t))}addBinding(t,e,r){const i=r??{},s=this.controller_.element.ownerDocument,o=this.pool_.createBinding(s,so(t,e),i),a=this.pool_.createBindingApi(o);return this.add(a,i.index)}addFolder(t){return no(this,t)}addButton(t){return eo(this,t)}addTab(t){return ro(this,t)}add(t,e){const r=t.controller;return this.controller_.rack.add(r,e),t}remove(t){this.controller_.rack.remove(t.controller)}addBlade(t){const e=this.controller_.element.ownerDocument,r=this.pool_.createBlade(e,t),i=this.pool_.createApi(r);return this.add(i,t.index)}on(t,e){const r=e.bind(this);return this.emitter_.on(t,i=>{r(i)},{key:e}),this}off(t,e){return this.emitter_.off(t,e),this}refresh(){this.children.forEach(t=>{io(t)&&t.refresh()})}onRackValueChange_(t){const e=t.bladeController,r=this.pool_.createApi(e),i=cr(e.value)?e.value.binding:null;this.emitter_.emit("change",new Kt(r,i?i.target.read():e.value.rawValue,t.options.last))}}class qe extends ut{constructor(t,e){super(t),this.rackApi_=new oo(t.rackController,e)}refresh(){this.rackApi_.refresh()}}class Ge extends he{constructor(t){super({blade:t.blade,view:t.view,viewProps:t.rackController.viewProps}),this.rackController=t.rackController}importState(t){return R(t,e=>super.importState(e),e=>({children:e.required.array(e.required.raw)}),e=>this.rackController.rack.children.every((r,i)=>r.importState(e.children[i])))}exportState(){return T(()=>super.exportState(),{children:this.rackController.rack.children.map(t=>t.exportState())})}}function Le(n){return"rackController"in n}class ao{constructor(t){this.emitter=new k,this.items_=[],this.cache_=new Set,this.onSubListAdd_=this.onSubListAdd_.bind(this),this.onSubListRemove_=this.onSubListRemove_.bind(this),this.extract_=t}get items(){return this.items_}allItems(){return Array.from(this.cache_)}find(t){for(const e of this.allItems())if(t(e))return e;return null}includes(t){return this.cache_.has(t)}add(t,e){if(this.includes(t))throw E.shouldNeverHappen();const r=e!==void 0?e:this.items_.length;this.items_.splice(r,0,t),this.cache_.add(t);const i=this.extract_(t);i&&(i.emitter.on("add",this.onSubListAdd_),i.emitter.on("remove",this.onSubListRemove_),i.allItems().forEach(s=>{this.cache_.add(s)})),this.emitter.emit("add",{index:r,item:t,root:this,target:this})}remove(t){const e=this.items_.indexOf(t);if(e<0)return;this.items_.splice(e,1),this.cache_.delete(t);const r=this.extract_(t);r&&(r.allItems().forEach(i=>{this.cache_.delete(i)}),r.emitter.off("add",this.onSubListAdd_),r.emitter.off("remove",this.onSubListRemove_)),this.emitter.emit("remove",{index:e,item:t,root:this,target:this})}onSubListAdd_(t){this.cache_.add(t.item),this.emitter.emit("add",{index:t.index,item:t.item,root:this,target:t.target})}onSubListRemove_(t){this.cache_.delete(t.item),this.emitter.emit("remove",{index:t.index,item:t.item,root:this,target:t.target})}}function lo(n,t){for(let e=0;e!i.viewProps.get("hidden")),e=t[0],r=t[t.length-1];this.bcSet_.items.forEach(i=>{const s=[];i===e&&(s.push("first"),(!this.blade_||this.blade_.get("positions").includes("veryfirst"))&&s.push("veryfirst")),i===r&&(s.push("last"),(!this.blade_||this.blade_.get("positions").includes("verylast"))&&s.push("verylast")),i.blade.set("positions",s)})}onChildPositionsChange_(){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildViewPropsChange_(t){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildDispose_(){this.bcSet_.items.filter(e=>e.viewProps.get("disposed")).forEach(e=>{this.bcSet_.remove(e)})}onChildValueChange_(t){const e=lo(this.find(at),t.sender);if(!e)throw E.alreadyDisposed();this.emitter.emit("valuechange",{bladeController:e,options:t.options,sender:this})}onRackLayout_(t){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onRackValueChange_(t){this.emitter.emit("valuechange",{bladeController:t.bladeController,options:t.options,sender:this})}onBladePositionsChange_(){this.updatePositions_()}}class We{constructor(t){this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this),this.element=t.element,this.viewProps=t.viewProps;const e=new co({blade:t.root?void 0:t.blade,viewProps:t.viewProps});e.emitter.on("add",this.onRackAdd_),e.emitter.on("remove",this.onRackRemove_),this.rack=e,this.viewProps.handleDispose(()=>{for(let r=this.rack.children.length-1;r>=0;r--)this.rack.children[r].viewProps.set("disposed",!0)})}onRackAdd_(t){t.root&&ur(this.element,t.bladeController.view.element,t.index)}onRackRemove_(t){t.root&&Ue(t.bladeController.view.element)}}function kt(){return new d({positions:y([],{equals:$i})})}class Ut extends d{constructor(t){super(t)}static create(t){const e={completed:!0,expanded:t,expandedHeight:null,shouldFixHeight:!1,temporaryExpanded:null},r=d.createCore(e);return new Ut(r)}get styleExpanded(){var t;return(t=this.get("temporaryExpanded"))!==null&&t!==void 0?t:this.get("expanded")}get styleHeight(){if(!this.styleExpanded)return"0";const t=this.get("expandedHeight");return this.get("shouldFixHeight")&&!C(t)?`${t}px`:"auto"}bindExpandedClass(t,e){const r=()=>{this.styleExpanded?t.classList.add(e):t.classList.remove(e)};K(this,"expanded",r),K(this,"temporaryExpanded",r)}cleanUpTransition(){this.set("shouldFixHeight",!1),this.set("expandedHeight",null),this.set("completed",!0)}}function uo(n,t){let e=0;return As(t,()=>{n.set("expandedHeight",null),n.set("temporaryExpanded",!0),re(t),e=t.clientHeight,n.set("temporaryExpanded",null),re(t)}),e}function xn(n,t){t.style.height=n.styleHeight}function Ye(n,t){n.value("expanded").emitter.on("beforechange",()=>{if(n.set("completed",!1),C(n.get("expandedHeight"))){const e=uo(n,t);e>0&&n.set("expandedHeight",e)}n.set("shouldFixHeight",!0),re(t)}),n.emitter.on("change",()=>{xn(n,t)}),xn(n,t),t.addEventListener("transitionend",e=>{e.propertyName==="height"&&n.cleanUpTransition()})}class wr extends qe{constructor(t,e){super(t,e),this.emitter_=new k,this.controller.foldable.value("expanded").emitter.on("change",r=>{this.emitter_.emit("fold",new ys(this,r.sender.rawValue))}),this.rackApi_.on("change",r=>{this.emitter_.emit("change",r)})}get expanded(){return this.controller.foldable.get("expanded")}set expanded(t){this.controller.foldable.set("expanded",t)}get title(){return this.controller.props.get("title")}set title(t){this.controller.props.set("title",t)}get children(){return this.rackApi_.children}addBinding(t,e,r){return this.rackApi_.addBinding(t,e,r)}addFolder(t){return this.rackApi_.addFolder(t)}addButton(t){return this.rackApi_.addButton(t)}addTab(t){return this.rackApi_.addTab(t)}add(t,e){return this.rackApi_.add(t,e)}remove(t){this.rackApi_.remove(t)}addBlade(t){return this.rackApi_.addBlade(t)}on(t,e){const r=e.bind(this);return this.emitter_.on(t,i=>{r(i)},{key:e}),this}off(t,e){return this.emitter_.off(t,e),this}}const gr=v("cnt");class ho{constructor(t,e){var r;this.className_=v((r=e.viewName)!==null&&r!==void 0?r:"fld"),this.element=t.createElement("div"),this.element.classList.add(this.className_(),gr()),e.viewProps.bindClassModifiers(this.element),this.foldable_=e.foldable,this.foldable_.bindExpandedClass(this.element,this.className_(void 0,"expanded")),K(this.foldable_,"completed",Pt(this.element,this.className_(void 0,"cpl")));const i=t.createElement("button");i.classList.add(this.className_("b")),K(e.props,"title",l=>{C(l)?this.element.classList.add(this.className_(void 0,"not")):this.element.classList.remove(this.className_(void 0,"not"))}),e.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i;const s=t.createElement("div");s.classList.add(this.className_("i")),this.element.appendChild(s);const o=t.createElement("div");o.classList.add(this.className_("t")),He(e.props.value("title"),o),this.buttonElement.appendChild(o),this.titleElement=o;const a=t.createElement("div");a.classList.add(this.className_("m")),this.buttonElement.appendChild(a);const p=t.createElement("div");p.classList.add(this.className_("c")),this.element.appendChild(p),this.containerElement=p}}class Me extends Ge{constructor(t,e){var r;const i=Ut.create((r=e.expanded)!==null&&r!==void 0?r:!0),s=new ho(t,{foldable:i,props:e.props,viewName:e.root?"rot":void 0,viewProps:e.viewProps});super(Object.assign(Object.assign({},e),{rackController:new We({blade:e.blade,element:s.containerElement,root:e.root,viewProps:e.viewProps}),view:s})),this.onTitleClick_=this.onTitleClick_.bind(this),this.props=e.props,this.foldable=i,Ye(this.foldable,this.view.containerElement),this.rackController.rack.emitter.on("add",()=>{this.foldable.cleanUpTransition()}),this.rackController.rack.emitter.on("remove",()=>{this.foldable.cleanUpTransition()}),this.view.buttonElement.addEventListener("click",this.onTitleClick_)}get document(){return this.view.element.ownerDocument}importState(t){return R(t,e=>super.importState(e),e=>({expanded:e.required.boolean,title:e.optional.string}),e=>(this.foldable.set("expanded",e.expanded),this.props.set("title",e.title),!0))}exportState(){return T(()=>super.exportState(),{expanded:this.foldable.get("expanded"),title:this.props.get("title")})}onTitleClick_(){this.foldable.set("expanded",!this.foldable.get("expanded"))}}const vo=A({id:"folder",type:"blade",accept(n){const t=P(n,e=>({title:e.required.string,view:e.required.constant("folder"),expanded:e.optional.boolean}));return t?{params:t}:null},controller(n){return new Me(n.document,{blade:n.blade,expanded:n.params.expanded,props:d.fromObject({title:n.params.title}),viewProps:n.viewProps})},api(n){return n.controller instanceof Me?new wr(n.controller,n.pool):null}}),mo=v("");function Cn(n,t){return Pt(n,mo(void 0,t))}class Q extends d{constructor(t){var e;super(t),this.onDisabledChange_=this.onDisabledChange_.bind(this),this.onParentChange_=this.onParentChange_.bind(this),this.onParentGlobalDisabledChange_=this.onParentGlobalDisabledChange_.bind(this),[this.globalDisabled_,this.setGlobalDisabled_]=qi(y(this.getGlobalDisabled_())),this.value("disabled").emitter.on("change",this.onDisabledChange_),this.value("parent").emitter.on("change",this.onParentChange_),(e=this.get("parent"))===null||e===void 0||e.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_)}static create(t){var e,r,i;const s=t??{};return new Q(d.createCore({disabled:(e=s.disabled)!==null&&e!==void 0?e:!1,disposed:!1,hidden:(r=s.hidden)!==null&&r!==void 0?r:!1,parent:(i=s.parent)!==null&&i!==void 0?i:null}))}get globalDisabled(){return this.globalDisabled_}bindClassModifiers(t){W(this.globalDisabled_,Cn(t,"disabled")),K(this,"hidden",Cn(t,"hidden"))}bindDisabled(t){W(this.globalDisabled_,e=>{t.disabled=e})}bindTabIndex(t){W(this.globalDisabled_,e=>{t.tabIndex=e?-1:0})}handleDispose(t){this.value("disposed").emitter.on("change",e=>{e&&t()})}importState(t){this.set("disabled",t.disabled),this.set("hidden",t.hidden)}exportState(){return{disabled:this.get("disabled"),hidden:this.get("hidden")}}getGlobalDisabled_(){const t=this.get("parent");return(t?t.globalDisabled.rawValue:!1)||this.get("disabled")}updateGlobalDisabled_(){this.setGlobalDisabled_(this.getGlobalDisabled_())}onDisabledChange_(){this.updateGlobalDisabled_()}onParentGlobalDisabledChange_(){this.updateGlobalDisabled_()}onParentChange_(t){var e;const r=t.previousRawValue;r==null||r.globalDisabled.emitter.off("change",this.onParentGlobalDisabledChange_),(e=this.get("parent"))===null||e===void 0||e.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_),this.updateGlobalDisabled_()}}const yn=v("tbp");class bo{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(yn()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("div");r.classList.add(yn("c")),this.element.appendChild(r),this.containerElement=r}}const Mt=v("tbi");class fo{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(Mt()),e.viewProps.bindClassModifiers(this.element),K(e.props,"selected",s=>{s?this.element.classList.add(Mt(void 0,"sel")):this.element.classList.remove(Mt(void 0,"sel"))});const r=t.createElement("button");r.classList.add(Mt("b")),e.viewProps.bindDisabled(r),this.element.appendChild(r),this.buttonElement=r;const i=t.createElement("div");i.classList.add(Mt("t")),He(e.props.value("title"),i),this.buttonElement.appendChild(i),this.titleElement=i}}class _o{constructor(t,e){this.emitter=new k,this.onClick_=this.onClick_.bind(this),this.props=e.props,this.viewProps=e.viewProps,this.view=new fo(t,{props:e.props,viewProps:e.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}onClick_(){this.emitter.emit("click",{sender:this})}}class Ae extends Ge{constructor(t,e){const r=new bo(t,{viewProps:e.viewProps});super(Object.assign(Object.assign({},e),{rackController:new We({blade:e.blade,element:r.containerElement,viewProps:e.viewProps}),view:r})),this.onItemClick_=this.onItemClick_.bind(this),this.ic_=new _o(t,{props:e.itemProps,viewProps:Q.create()}),this.ic_.emitter.on("click",this.onItemClick_),this.props=e.props,K(this.props,"selected",i=>{this.itemController.props.set("selected",i),this.viewProps.set("hidden",!i)})}get itemController(){return this.ic_}importState(t){return R(t,e=>super.importState(e),e=>({selected:e.required.boolean,title:e.required.string}),e=>(this.ic_.props.set("selected",e.selected),this.ic_.props.set("title",e.title),!0))}exportState(){return T(()=>super.exportState(),{selected:this.ic_.props.get("selected"),title:this.ic_.props.get("title")})}onItemClick_(){this.props.set("selected",!0)}}class wo extends qe{constructor(t,e){super(t,e),this.emitter_=new k,this.onSelect_=this.onSelect_.bind(this),this.pool_=e,this.rackApi_.on("change",r=>{this.emitter_.emit("change",r)}),this.controller.tab.selectedIndex.emitter.on("change",this.onSelect_)}get pages(){return this.rackApi_.children}addPage(t){const e=this.controller.view.element.ownerDocument,r=new Ae(e,{blade:kt(),itemProps:d.fromObject({selected:!1,title:t.title}),props:d.fromObject({selected:!1}),viewProps:Q.create()}),i=this.pool_.createApi(r);return this.rackApi_.add(i,t.index)}removePage(t){this.rackApi_.remove(this.rackApi_.children[t])}on(t,e){const r=e.bind(this);return this.emitter_.on(t,i=>{r(i)},{key:e}),this}off(t,e){return this.emitter_.off(t,e),this}onSelect_(t){this.emitter_.emit("select",new Ps(this,t.rawValue))}}class go extends qe{get title(){var t;return(t=this.controller.itemController.props.get("title"))!==null&&t!==void 0?t:""}set title(t){this.controller.itemController.props.set("title",t)}get selected(){return this.controller.props.get("selected")}set selected(t){this.controller.props.set("selected",t)}get children(){return this.rackApi_.children}addButton(t){return this.rackApi_.addButton(t)}addFolder(t){return this.rackApi_.addFolder(t)}addTab(t){return this.rackApi_.addTab(t)}add(t,e){this.rackApi_.add(t,e)}remove(t){this.rackApi_.remove(t)}addBinding(t,e,r){return this.rackApi_.addBinding(t,e,r)}addBlade(t){return this.rackApi_.addBlade(t)}}const Pn=-1;class xo{constructor(){this.onItemSelectedChange_=this.onItemSelectedChange_.bind(this),this.empty=y(!0),this.selectedIndex=y(Pn),this.items_=[]}add(t,e){const r=e??this.items_.length;this.items_.splice(r,0,t),t.emitter.on("change",this.onItemSelectedChange_),this.keepSelection_()}remove(t){const e=this.items_.indexOf(t);e<0||(this.items_.splice(e,1),t.emitter.off("change",this.onItemSelectedChange_),this.keepSelection_())}keepSelection_(){if(this.items_.length===0){this.selectedIndex.rawValue=Pn,this.empty.rawValue=!0;return}const t=this.items_.findIndex(e=>e.rawValue);t<0?(this.items_.forEach((e,r)=>{e.rawValue=r===0}),this.selectedIndex.rawValue=0):(this.items_.forEach((e,r)=>{e.rawValue=r===t}),this.selectedIndex.rawValue=t),this.empty.rawValue=!1}onItemSelectedChange_(t){if(t.rawValue){const e=this.items_.findIndex(r=>r===t.sender);this.items_.forEach((r,i)=>{r.rawValue=i===e}),this.selectedIndex.rawValue=e}else this.keepSelection_()}}const At=v("tab");class Co{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(At(),gr()),e.viewProps.bindClassModifiers(this.element),W(e.empty,Pt(this.element,At(void 0,"nop")));const r=t.createElement("div");r.classList.add(At("t")),this.element.appendChild(r),this.itemsElement=r;const i=t.createElement("div");i.classList.add(At("i")),this.element.appendChild(i);const s=t.createElement("div");s.classList.add(At("c")),this.element.appendChild(s),this.contentsElement=s}}class En extends Ge{constructor(t,e){const r=new xo,i=new Co(t,{empty:r.empty,viewProps:e.viewProps});super({blade:e.blade,rackController:new We({blade:e.blade,element:i.contentsElement,viewProps:e.viewProps}),view:i}),this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this);const s=this.rackController.rack;s.emitter.on("add",this.onRackAdd_),s.emitter.on("remove",this.onRackRemove_),this.tab=r}add(t,e){this.rackController.rack.add(t,e)}remove(t){this.rackController.rack.remove(this.rackController.rack.children[t])}onRackAdd_(t){if(!t.root)return;const e=t.bladeController;ur(this.view.itemsElement,e.itemController.view.element,t.index),e.itemController.viewProps.set("parent",this.viewProps),this.tab.add(e.props.value("selected"))}onRackRemove_(t){if(!t.root)return;const e=t.bladeController;Ue(e.itemController.view.element),e.itemController.viewProps.set("parent",null),this.tab.remove(e.props.value("selected"))}}const xr=A({id:"tab",type:"blade",accept(n){const t=P(n,e=>({pages:e.required.array(e.required.object({title:e.required.string})),view:e.required.constant("tab")}));return!t||t.pages.length===0?null:{params:t}},controller(n){const t=new En(n.document,{blade:n.blade,viewProps:n.viewProps});return n.params.pages.forEach(e=>{const r=new Ae(n.document,{blade:kt(),itemProps:d.fromObject({selected:!1,title:e.title}),props:d.fromObject({selected:!1}),viewProps:Q.create()});t.add(r)}),t},api(n){return n.controller instanceof En?new wo(n.controller,n.pool):n.controller instanceof Ae?new go(n.controller,n.pool):null}});function yo(n,t){const e=n.accept(t.params);if(!e)return null;const r=P(t.params,i=>({disabled:i.optional.boolean,hidden:i.optional.boolean}));return n.controller({blade:kt(),document:t.document,params:Object.assign(Object.assign({},e.params),{disabled:r==null?void 0:r.disabled,hidden:r==null?void 0:r.hidden}),viewProps:Q.create({disabled:r==null?void 0:r.disabled,hidden:r==null?void 0:r.hidden})})}class Xe extends Rt{get options(){return this.controller.valueController.props.get("options")}set options(t){this.controller.valueController.props.set("options",t)}}class Po{constructor(){this.disabled=!1,this.emitter=new k}dispose(){}tick(){this.disabled||this.emitter.emit("tick",{sender:this})}}class Eo{constructor(t,e){this.disabled_=!1,this.timerId_=null,this.onTick_=this.onTick_.bind(this),this.doc_=t,this.emitter=new k,this.interval_=e,this.setTimer_()}get disabled(){return this.disabled_}set disabled(t){this.disabled_=t,this.disabled_?this.clearTimer_():this.setTimer_()}dispose(){this.clearTimer_()}clearTimer_(){if(this.timerId_===null)return;const t=this.doc_.defaultView;t&&t.clearInterval(this.timerId_),this.timerId_=null}setTimer_(){if(this.clearTimer_(),this.interval_<=0)return;const t=this.doc_.defaultView;t&&(this.timerId_=t.setInterval(this.onTick_,this.interval_))}onTick_(){this.disabled_||this.emitter.emit("tick",{sender:this})}}class Ht{constructor(t){this.constraints=t}constrain(t){return this.constraints.reduce((e,r)=>r.constrain(e),t)}}function ie(n,t){if(n instanceof t)return n;if(n instanceof Ht){const e=n.constraints.reduce((r,i)=>r||(i instanceof t?i:null),null);if(e)return e}return null}class qt{constructor(t){this.values=d.fromObject({options:t})}constrain(t){const e=this.values.get("options");return e.length===0||e.filter(i=>i.value===t).length>0?t:e[0].value}}function Gt(n){var t;const e=Se;if(Array.isArray(n))return(t=P({items:n},r=>({items:r.required.array(r.required.object({text:r.required.string,value:r.required.raw}))})))===null||t===void 0?void 0:t.items;if(typeof n=="object")return e.required.raw(n).value}function Qe(n){if(Array.isArray(n))return n;const t=[];return Object.keys(n).forEach(e=>{t.push({text:e,value:n[e]})}),t}function Je(n){return C(n)?null:new qt(Qe(n))}const fe=v("lst");class ko{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),this.props_=e.props,this.element=t.createElement("div"),this.element.classList.add(fe()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("select");r.classList.add(fe("s")),e.viewProps.bindDisabled(r),this.element.appendChild(r),this.selectElement=r;const i=t.createElement("div");i.classList.add(fe("m")),i.appendChild(de(t,"dropdown")),this.element.appendChild(i),e.value.emitter.on("change",this.onValueChange_),this.value_=e.value,K(this.props_,"options",s=>{dr(this.selectElement),s.forEach(o=>{const a=t.createElement("option");a.textContent=o.text,this.selectElement.appendChild(a)}),this.update_()})}update_(){const t=this.props_.get("options").map(e=>e.value);this.selectElement.selectedIndex=t.indexOf(this.value_.rawValue)}onValueChange_(){this.update_()}}class st{constructor(t,e){this.onSelectChange_=this.onSelectChange_.bind(this),this.props=e.props,this.value=e.value,this.viewProps=e.viewProps,this.view=new ko(t,{props:this.props,value:this.value,viewProps:this.viewProps}),this.view.selectElement.addEventListener("change",this.onSelectChange_)}onSelectChange_(t){const e=t.currentTarget;this.value.rawValue=this.props.get("options")[e.selectedIndex].value}importProps(t){return R(t,null,e=>({options:e.required.custom(Gt)}),e=>(this.props.set("options",Qe(e.options)),!0))}exportProps(){return T(null,{options:this.props.get("options")})}}const kn=v("pop");class Vo{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(kn()),e.viewProps.bindClassModifiers(this.element),W(e.shows,Pt(this.element,kn(void 0,"v")))}}class Cr{constructor(t,e){this.shows=y(!1),this.viewProps=e.viewProps,this.view=new Vo(t,{shows:this.shows,viewProps:this.viewProps})}}const Vn=v("txt");class So{constructor(t,e){this.onChange_=this.onChange_.bind(this),this.element=t.createElement("div"),this.element.classList.add(Vn()),e.viewProps.bindClassModifiers(this.element),this.props_=e.props,this.props_.emitter.on("change",this.onChange_);const r=t.createElement("input");r.classList.add(Vn("i")),r.type="text",e.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,e.value.emitter.on("change",this.onChange_),this.value_=e.value,this.refresh()}refresh(){const t=this.props_.get("formatter");this.inputElement.value=t(this.value_.rawValue)}onChange_(){this.refresh()}}class Tt{constructor(t,e){this.onInputChange_=this.onInputChange_.bind(this),this.parser_=e.parser,this.props=e.props,this.value=e.value,this.viewProps=e.viewProps,this.view=new So(t,{props:e.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}onInputChange_(t){const r=t.currentTarget.value,i=this.parser_(r);C(i)||(this.value.rawValue=i),this.view.refresh()}}function Lo(n){return String(n)}function yr(n){return n==="false"?!1:!!n}function Sn(n){return Lo(n)}function Mo(n){return t=>n.reduce((e,r)=>e!==null?e:r(t),null)}const Ao=j(0);function se(n){return Ao(n)+"%"}function Pr(n){return String(n)}function Oe(n){return n}function Vt({primary:n,secondary:t,forward:e,backward:r}){let i=!1;function s(o){i||(i=!0,o(),i=!1)}n.emitter.on("change",o=>{s(()=>{t.setRawValue(e(n.rawValue,t.rawValue),o.options)})}),t.emitter.on("change",o=>{s(()=>{n.setRawValue(r(n.rawValue,t.rawValue),o.options)}),s(()=>{t.setRawValue(e(n.rawValue,t.rawValue),o.options)})}),s(()=>{t.setRawValue(e(n.rawValue,t.rawValue),{forceEmit:!1,last:!0})})}function O(n,t){const e=n*(t.altKey?.1:1)*(t.shiftKey?10:1);return t.upKey?+e:t.downKey?-e:0}function Bt(n){return{altKey:n.altKey,downKey:n.key==="ArrowDown",shiftKey:n.shiftKey,upKey:n.key==="ArrowUp"}}function X(n){return{altKey:n.altKey,downKey:n.key==="ArrowLeft",shiftKey:n.shiftKey,upKey:n.key==="ArrowRight"}}function Oo(n){return n==="ArrowUp"||n==="ArrowDown"}function Er(n){return Oo(n)||n==="ArrowLeft"||n==="ArrowRight"}function _e(n,t){var e,r;const i=t.ownerDocument.defaultView,s=t.getBoundingClientRect();return{x:n.pageX-(((e=i&&i.scrollX)!==null&&e!==void 0?e:0)+s.left),y:n.pageY-(((r=i&&i.scrollY)!==null&&r!==void 0?r:0)+s.top)}}class dt{constructor(t){this.lastTouch_=null,this.onDocumentMouseMove_=this.onDocumentMouseMove_.bind(this),this.onDocumentMouseUp_=this.onDocumentMouseUp_.bind(this),this.onMouseDown_=this.onMouseDown_.bind(this),this.onTouchEnd_=this.onTouchEnd_.bind(this),this.onTouchMove_=this.onTouchMove_.bind(this),this.onTouchStart_=this.onTouchStart_.bind(this),this.elem_=t,this.emitter=new k,t.addEventListener("touchstart",this.onTouchStart_,{passive:!1}),t.addEventListener("touchmove",this.onTouchMove_,{passive:!0}),t.addEventListener("touchend",this.onTouchEnd_),t.addEventListener("mousedown",this.onMouseDown_)}computePosition_(t){const e=this.elem_.getBoundingClientRect();return{bounds:{width:e.width,height:e.height},point:t?{x:t.x,y:t.y}:null}}onMouseDown_(t){var e;t.preventDefault(),(e=t.currentTarget)===null||e===void 0||e.focus();const r=this.elem_.ownerDocument;r.addEventListener("mousemove",this.onDocumentMouseMove_),r.addEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("down",{altKey:t.altKey,data:this.computePosition_(_e(t,this.elem_)),sender:this,shiftKey:t.shiftKey})}onDocumentMouseMove_(t){this.emitter.emit("move",{altKey:t.altKey,data:this.computePosition_(_e(t,this.elem_)),sender:this,shiftKey:t.shiftKey})}onDocumentMouseUp_(t){const e=this.elem_.ownerDocument;e.removeEventListener("mousemove",this.onDocumentMouseMove_),e.removeEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("up",{altKey:t.altKey,data:this.computePosition_(_e(t,this.elem_)),sender:this,shiftKey:t.shiftKey})}onTouchStart_(t){t.preventDefault();const e=t.targetTouches.item(0),r=this.elem_.getBoundingClientRect();this.emitter.emit("down",{altKey:t.altKey,data:this.computePosition_(e?{x:e.clientX-r.left,y:e.clientY-r.top}:void 0),sender:this,shiftKey:t.shiftKey}),this.lastTouch_=e}onTouchMove_(t){const e=t.targetTouches.item(0),r=this.elem_.getBoundingClientRect();this.emitter.emit("move",{altKey:t.altKey,data:this.computePosition_(e?{x:e.clientX-r.left,y:e.clientY-r.top}:void 0),sender:this,shiftKey:t.shiftKey}),this.lastTouch_=e}onTouchEnd_(t){var e;const r=(e=t.targetTouches.item(0))!==null&&e!==void 0?e:this.lastTouch_,i=this.elem_.getBoundingClientRect();this.emitter.emit("up",{altKey:t.altKey,data:this.computePosition_(r?{x:r.clientX-i.left,y:r.clientY-i.top}:void 0),sender:this,shiftKey:t.shiftKey})}}const N=v("txt");class jo{constructor(t,e){this.onChange_=this.onChange_.bind(this),this.props_=e.props,this.props_.emitter.on("change",this.onChange_),this.element=t.createElement("div"),this.element.classList.add(N(),N(void 0,"num")),e.arrayPosition&&this.element.classList.add(N(void 0,e.arrayPosition)),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("input");r.classList.add(N("i")),r.type="text",e.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,this.onDraggingChange_=this.onDraggingChange_.bind(this),this.dragging_=e.dragging,this.dragging_.emitter.on("change",this.onDraggingChange_),this.element.classList.add(N()),this.inputElement.classList.add(N("i"));const i=t.createElement("div");i.classList.add(N("k")),this.element.appendChild(i),this.knobElement=i;const s=t.createElementNS(z,"svg");s.classList.add(N("g")),this.knobElement.appendChild(s);const o=t.createElementNS(z,"path");o.classList.add(N("gb")),s.appendChild(o),this.guideBodyElem_=o;const a=t.createElementNS(z,"path");a.classList.add(N("gh")),s.appendChild(a),this.guideHeadElem_=a;const p=t.createElement("div");p.classList.add(v("tt")()),this.knobElement.appendChild(p),this.tooltipElem_=p,e.value.emitter.on("change",this.onChange_),this.value=e.value,this.refresh()}onDraggingChange_(t){if(t.rawValue===null){this.element.classList.remove(N(void 0,"drg"));return}this.element.classList.add(N(void 0,"drg"));const e=t.rawValue/this.props_.get("pointerScale"),r=e+(e>0?-1:e<0?1:0),i=S(-r,-4,4);this.guideHeadElem_.setAttributeNS(null,"d",[`M ${r+i},0 L${r},4 L${r+i},8`,`M ${e},-1 L${e},9`].join(" ")),this.guideBodyElem_.setAttributeNS(null,"d",`M 0,4 L${e},4`);const s=this.props_.get("formatter");this.tooltipElem_.textContent=s(this.value.rawValue),this.tooltipElem_.style.left=`${e}px`}refresh(){const t=this.props_.get("formatter");this.inputElement.value=t(this.value.rawValue)}onChange_(){this.refresh()}}class Wt{constructor(t,e){var r;this.originRawValue_=0,this.onInputChange_=this.onInputChange_.bind(this),this.onInputKeyDown_=this.onInputKeyDown_.bind(this),this.onInputKeyUp_=this.onInputKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.parser_=e.parser,this.props=e.props,this.sliderProps_=(r=e.sliderProps)!==null&&r!==void 0?r:null,this.value=e.value,this.viewProps=e.viewProps,this.dragging_=y(null),this.view=new jo(t,{arrayPosition:e.arrayPosition,dragging:this.dragging_,props:this.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.inputElement.addEventListener("keydown",this.onInputKeyDown_),this.view.inputElement.addEventListener("keyup",this.onInputKeyUp_);const i=new dt(this.view.knobElement);i.emitter.on("down",this.onPointerDown_),i.emitter.on("move",this.onPointerMove_),i.emitter.on("up",this.onPointerUp_)}constrainValue_(t){var e,r;const i=(e=this.sliderProps_)===null||e===void 0?void 0:e.get("min"),s=(r=this.sliderProps_)===null||r===void 0?void 0:r.get("max");let o=t;return i!==void 0&&(o=Math.max(o,i)),s!==void 0&&(o=Math.min(o,s)),o}onInputChange_(t){const r=t.currentTarget.value,i=this.parser_(r);C(i)||(this.value.rawValue=this.constrainValue_(i)),this.view.refresh()}onInputKeyDown_(t){const e=O(this.props.get("keyScale"),Bt(t));e!==0&&this.value.setRawValue(this.constrainValue_(this.value.rawValue+e),{forceEmit:!1,last:!1})}onInputKeyUp_(t){O(this.props.get("keyScale"),Bt(t))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}onPointerDown_(){this.originRawValue_=this.value.rawValue,this.dragging_.rawValue=0}computeDraggingValue_(t){if(!t.point)return null;const e=t.point.x-t.bounds.width/2;return this.constrainValue_(this.originRawValue_+e*this.props.get("pointerScale"))}onPointerMove_(t){const e=this.computeDraggingValue_(t.data);e!==null&&(this.value.setRawValue(e,{forceEmit:!1,last:!1}),this.dragging_.rawValue=this.value.rawValue-this.originRawValue_)}onPointerUp_(t){const e=this.computeDraggingValue_(t.data);e!==null&&(this.value.setRawValue(e,{forceEmit:!0,last:!0}),this.dragging_.rawValue=null)}}const we=v("sld");class Do{constructor(t,e){this.onChange_=this.onChange_.bind(this),this.props_=e.props,this.props_.emitter.on("change",this.onChange_),this.element=t.createElement("div"),this.element.classList.add(we()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("div");r.classList.add(we("t")),e.viewProps.bindTabIndex(r),this.element.appendChild(r),this.trackElement=r;const i=t.createElement("div");i.classList.add(we("k")),this.trackElement.appendChild(i),this.knobElement=i,e.value.emitter.on("change",this.onChange_),this.value=e.value,this.update_()}update_(){const t=S(_(this.value.rawValue,this.props_.get("min"),this.props_.get("max"),0,100),0,100);this.knobElement.style.width=`${t}%`}onChange_(){this.update_()}}class Ro{constructor(t,e){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDownOrMove_=this.onPointerDownOrMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=e.value,this.viewProps=e.viewProps,this.props=e.props,this.view=new Do(t,{props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new dt(this.view.trackElement),this.ptHandler_.emitter.on("down",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("move",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.trackElement.addEventListener("keydown",this.onKeyDown_),this.view.trackElement.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(t,e){t.point&&this.value.setRawValue(_(S(t.point.x,0,t.bounds.width),0,t.bounds.width,this.props.get("min"),this.props.get("max")),e)}onPointerDownOrMove_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerUp_(t){this.handlePointerEvent_(t.data,{forceEmit:!0,last:!0})}onKeyDown_(t){const e=O(this.props.get("keyScale"),X(t));e!==0&&this.value.setRawValue(this.value.rawValue+e,{forceEmit:!1,last:!1})}onKeyUp_(t){O(this.props.get("keyScale"),X(t))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const ge=v("sldtxt");class To{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(ge());const r=t.createElement("div");r.classList.add(ge("s")),this.sliderView_=e.sliderView,r.appendChild(this.sliderView_.element),this.element.appendChild(r);const i=t.createElement("div");i.classList.add(ge("t")),this.textView_=e.textView,i.appendChild(this.textView_.element),this.element.appendChild(i)}}class oe{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.sliderC_=new Ro(t,{props:e.sliderProps,value:e.value,viewProps:this.viewProps}),this.textC_=new Wt(t,{parser:e.parser,props:e.textProps,sliderProps:e.sliderProps,value:e.value,viewProps:e.viewProps}),this.view=new To(t,{sliderView:this.sliderC_.view,textView:this.textC_.view})}get sliderController(){return this.sliderC_}get textController(){return this.textC_}importProps(t){return R(t,null,e=>({max:e.required.number,min:e.required.number}),e=>{const r=this.sliderC_.props;return r.set("max",e.max),r.set("min",e.min),!0})}exportProps(){const t=this.sliderC_.props;return T(null,{max:t.get("max"),min:t.get("min")})}}function kr(n){return{sliderProps:new d({keyScale:n.keyScale,max:n.max,min:n.min}),textProps:new d({formatter:y(n.formatter),keyScale:n.keyScale,pointerScale:y(n.pointerScale)})}}const Bo={containerUnitSize:"cnt-usz"};function Vr(n){return`--${Bo[n]}`}function It(n){return pr(n)}function rt(n){if(Ve(n))return P(n,It)}function G(n,t){if(!n)return;const e=[],r=or(n,t);r&&e.push(r);const i=ar(n);return i&&e.push(i),new Ht(e)}function Io(n){return n?n.major===Et.major:!1}function Sr(n){if(n==="inline"||n==="popup")return n}function Yt(n,t){n.write(t)}const Jt=v("ckb");class No{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),this.element=t.createElement("div"),this.element.classList.add(Jt()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("label");r.classList.add(Jt("l")),this.element.appendChild(r),this.labelElement=r;const i=t.createElement("input");i.classList.add(Jt("i")),i.type="checkbox",this.labelElement.appendChild(i),this.inputElement=i,e.viewProps.bindDisabled(this.inputElement);const s=t.createElement("div");s.classList.add(Jt("w")),this.labelElement.appendChild(s);const o=de(t,"check");s.appendChild(o),e.value.emitter.on("change",this.onValueChange_),this.value=e.value,this.update_()}update_(){this.inputElement.checked=this.value.rawValue}onValueChange_(){this.update_()}}class Fo{constructor(t,e){this.onInputChange_=this.onInputChange_.bind(this),this.onLabelMouseDown_=this.onLabelMouseDown_.bind(this),this.value=e.value,this.viewProps=e.viewProps,this.view=new No(t,{value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.labelElement.addEventListener("mousedown",this.onLabelMouseDown_)}onInputChange_(t){const e=t.currentTarget;this.value.rawValue=e.checked,t.preventDefault(),t.stopPropagation()}onLabelMouseDown_(t){t.preventDefault()}}function $o(n){const t=[],e=Je(n.options);return e&&t.push(e),new Ht(t)}const zo=A({id:"input-bool",type:"input",accept:(n,t)=>{if(typeof n!="boolean")return null;const e=P(t,r=>({options:r.optional.custom(Gt),readonly:r.optional.constant(!1)}));return e?{initialValue:n,params:e}:null},binding:{reader:n=>yr,constraint:n=>$o(n.params),writer:n=>Yt},controller:n=>{const t=n.document,e=n.value,r=n.constraint,i=r&&ie(r,qt);return i?new st(t,{props:new d({options:i.values.value("options")}),value:e,viewProps:n.viewProps}):new Fo(t,{value:e,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="boolean"?null:n.controller.valueController instanceof st?new Xe(n.controller):null}}),ot=v("col");class Ko{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(ot()),e.foldable.bindExpandedClass(this.element,ot(void 0,"expanded")),K(e.foldable,"completed",Pt(this.element,ot(void 0,"cpl")));const r=t.createElement("div");r.classList.add(ot("h")),this.element.appendChild(r);const i=t.createElement("div");i.classList.add(ot("s")),r.appendChild(i),this.swatchElement=i;const s=t.createElement("div");if(s.classList.add(ot("t")),r.appendChild(s),this.textElement=s,e.pickerLayout==="inline"){const o=t.createElement("div");o.classList.add(ot("p")),this.element.appendChild(o),this.pickerElement=o}else this.pickerElement=null}}function Uo(n,t,e){const r=S(n/255,0,1),i=S(t/255,0,1),s=S(e/255,0,1),o=Math.max(r,i,s),a=Math.min(r,i,s),p=o-a;let l=0,c=0;const u=(a+o)/2;return p!==0&&(c=p/(1-Math.abs(o+a-1)),r===o?l=(i-s)/p:i===o?l=2+(s-r)/p:l=4+(r-i)/p,l=l/6+(l<0?1:0)),[l*360,c*100,u*100]}function Ho(n,t,e){const r=(n%360+360)%360,i=S(t/100,0,1),s=S(e/100,0,1),o=(1-Math.abs(2*s-1))*i,a=o*(1-Math.abs(r/60%2-1)),p=s-o/2;let l,c,u;return r>=0&&r<60?[l,c,u]=[o,a,0]:r>=60&&r<120?[l,c,u]=[a,o,0]:r>=120&&r<180?[l,c,u]=[0,o,a]:r>=180&&r<240?[l,c,u]=[0,a,o]:r>=240&&r<300?[l,c,u]=[a,0,o]:[l,c,u]=[o,0,a],[(l+p)*255,(c+p)*255,(u+p)*255]}function qo(n,t,e){const r=S(n/255,0,1),i=S(t/255,0,1),s=S(e/255,0,1),o=Math.max(r,i,s),a=Math.min(r,i,s),p=o-a;let l;p===0?l=0:o===r?l=60*(((i-s)/p%6+6)%6):o===i?l=60*((s-r)/p+2):l=60*((r-i)/p+4);const c=o===0?0:p/o,u=o;return[l,c*100,u*100]}function Lr(n,t,e){const r=rr(n,360),i=S(t/100,0,1),s=S(e/100,0,1),o=s*i,a=o*(1-Math.abs(r/60%2-1)),p=s-o;let l,c,u;return r>=0&&r<60?[l,c,u]=[o,a,0]:r>=60&&r<120?[l,c,u]=[a,o,0]:r>=120&&r<180?[l,c,u]=[0,o,a]:r>=180&&r<240?[l,c,u]=[0,a,o]:r>=240&&r<300?[l,c,u]=[a,0,o]:[l,c,u]=[o,0,a],[(l+p)*255,(c+p)*255,(u+p)*255]}function Go(n,t,e){const r=e+t*(100-Math.abs(2*e-100))/200;return[n,r!==0?t*(100-Math.abs(2*e-100))/r:0,e+t*(100-Math.abs(2*e-100))/(2*100)]}function Wo(n,t,e){const r=100-Math.abs(e*(200-t)/100-100);return[n,r!==0?t*e/r:0,e*(200-t)/(2*100)]}function U(n){return[n[0],n[1],n[2]]}function ve(n,t){return[n[0],n[1],n[2],t]}const Yo={hsl:{hsl:(n,t,e)=>[n,t,e],hsv:Go,rgb:Ho},hsv:{hsl:Wo,hsv:(n,t,e)=>[n,t,e],rgb:Lr},rgb:{hsl:Uo,hsv:qo,rgb:(n,t,e)=>[n,t,e]}};function Ct(n,t){return[t==="float"?1:n==="rgb"?255:360,t==="float"?1:n==="rgb"?255:100,t==="float"?1:n==="rgb"?255:100]}function Xo(n,t){return n===t?t:rr(n,t)}function Mr(n,t,e){var r;const i=Ct(t,e);return[t==="rgb"?S(n[0],0,i[0]):Xo(n[0],i[0]),S(n[1],0,i[1]),S(n[2],0,i[2]),S((r=n[3])!==null&&r!==void 0?r:1,0,1)]}function Ln(n,t,e,r){const i=Ct(t,e),s=Ct(t,r);return n.map((o,a)=>o/i[a]*s[a])}function Ar(n,t,e){const r=Ln(n,t.mode,t.type,"int"),i=Yo[t.mode][e.mode](...r);return Ln(i,e.mode,"int",e.type)}class b{static black(){return new b([0,0,0],"rgb")}constructor(t,e){this.type="int",this.mode=e,this.comps_=Mr(t,e,this.type)}getComponents(t){return ve(Ar(U(this.comps_),{mode:this.mode,type:this.type},{mode:t??this.mode,type:this.type}),this.comps_[3])}toRgbaObject(){const t=this.getComponents("rgb");return{r:t[0],g:t[1],b:t[2],a:t[3]}}}const Z=v("colp");class Qo{constructor(t,e){this.alphaViews_=null,this.element=t.createElement("div"),this.element.classList.add(Z()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("div");r.classList.add(Z("hsv"));const i=t.createElement("div");i.classList.add(Z("sv")),this.svPaletteView_=e.svPaletteView,i.appendChild(this.svPaletteView_.element),r.appendChild(i);const s=t.createElement("div");s.classList.add(Z("h")),this.hPaletteView_=e.hPaletteView,s.appendChild(this.hPaletteView_.element),r.appendChild(s),this.element.appendChild(r);const o=t.createElement("div");if(o.classList.add(Z("rgb")),this.textsView_=e.textsView,o.appendChild(this.textsView_.element),this.element.appendChild(o),e.alphaViews){this.alphaViews_={palette:e.alphaViews.palette,text:e.alphaViews.text};const a=t.createElement("div");a.classList.add(Z("a"));const p=t.createElement("div");p.classList.add(Z("ap")),p.appendChild(this.alphaViews_.palette.element),a.appendChild(p);const l=t.createElement("div");l.classList.add(Z("at")),l.appendChild(this.alphaViews_.text.element),a.appendChild(l),this.element.appendChild(a)}}get allFocusableElements(){const t=[this.svPaletteView_.element,this.hPaletteView_.element,this.textsView_.modeSelectElement,...this.textsView_.inputViews.map(e=>e.inputElement)];return this.alphaViews_&&t.push(this.alphaViews_.palette.element,this.alphaViews_.text.inputElement),t}}function Jo(n){return n==="int"?"int":n==="float"?"float":void 0}function Ze(n){return P(n,t=>({color:t.optional.object({alpha:t.optional.boolean,type:t.optional.custom(Jo)}),expanded:t.optional.boolean,picker:t.optional.custom(Sr),readonly:t.optional.constant(!1)}))}function ct(n){return n?.1:1}function Or(n){var t;return(t=n.color)===null||t===void 0?void 0:t.type}class tn{constructor(t,e){this.type="float",this.mode=e,this.comps_=Mr(t,e,this.type)}getComponents(t){return ve(Ar(U(this.comps_),{mode:this.mode,type:this.type},{mode:t??this.mode,type:this.type}),this.comps_[3])}toRgbaObject(){const t=this.getComponents("rgb");return{r:t[0],g:t[1],b:t[2],a:t[3]}}}const Zo={int:(n,t)=>new b(n,t),float:(n,t)=>new tn(n,t)};function en(n,t,e){return Zo[e](n,t)}function ta(n){return n.type==="float"}function ea(n){return n.type==="int"}function na(n){const t=n.getComponents(),e=Ct(n.mode,"int");return new b([Math.round(_(t[0],0,1,0,e[0])),Math.round(_(t[1],0,1,0,e[1])),Math.round(_(t[2],0,1,0,e[2])),t[3]],n.mode)}function ra(n){const t=n.getComponents(),e=Ct(n.mode,"int");return new tn([_(t[0],0,e[0],0,1),_(t[1],0,e[1],0,1),_(t[2],0,e[2],0,1),t[3]],n.mode)}function M(n,t){if(n.type===t)return n;if(ea(n)&&t==="float")return ra(n);if(ta(n)&&t==="int")return na(n);throw E.shouldNeverHappen()}function ia(n,t){return n.alpha===t.alpha&&n.mode===t.mode&&n.notation===t.notation&&n.type===t.type}function $(n,t){const e=n.match(/^(.+)%$/);return Math.min(e?parseFloat(e[1])*.01*t:parseFloat(n),t)}const sa={deg:n=>n,grad:n=>n*360/400,rad:n=>n*360/(2*Math.PI),turn:n=>n*360};function jr(n){const t=n.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);if(!t)return parseFloat(n);const e=parseFloat(t[1]),r=t[2];return sa[r](e)}function Dr(n){const t=n.match(/^rgb\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;const e=[$(t[1],255),$(t[2],255),$(t[3],255)];return isNaN(e[0])||isNaN(e[1])||isNaN(e[2])?null:e}function oa(n){const t=Dr(n);return t?new b(t,"rgb"):null}function Rr(n){const t=n.match(/^rgba\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;const e=[$(t[1],255),$(t[2],255),$(t[3],255),$(t[4],1)];return isNaN(e[0])||isNaN(e[1])||isNaN(e[2])||isNaN(e[3])?null:e}function aa(n){const t=Rr(n);return t?new b(t,"rgb"):null}function Tr(n){const t=n.match(/^hsl\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;const e=[jr(t[1]),$(t[2],100),$(t[3],100)];return isNaN(e[0])||isNaN(e[1])||isNaN(e[2])?null:e}function la(n){const t=Tr(n);return t?new b(t,"hsl"):null}function Br(n){const t=n.match(/^hsla\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;const e=[jr(t[1]),$(t[2],100),$(t[3],100),$(t[4],1)];return isNaN(e[0])||isNaN(e[1])||isNaN(e[2])||isNaN(e[3])?null:e}function pa(n){const t=Br(n);return t?new b(t,"hsl"):null}function Ir(n){const t=n.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(t)return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];const e=n.match(/^(?:#|0x)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return e?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:null}function ca(n){const t=Ir(n);return t?new b(t,"rgb"):null}function Nr(n){const t=n.match(/^#?([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(t)return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),_(parseInt(t[4]+t[4],16),0,255,0,1)];const e=n.match(/^(?:#|0x)?([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return e?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16),_(parseInt(e[4],16),0,255,0,1)]:null}function ua(n){const t=Nr(n);return t?new b(t,"rgb"):null}function Fr(n){const t=n.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!t)return null;const e=[parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3])];return isNaN(e[0])||isNaN(e[1])||isNaN(e[2])?null:e}function Mn(n){return t=>{const e=Fr(t);return e?en(e,"rgb",n):null}}function $r(n){const t=n.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*a\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!t)return null;const e=[parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3]),parseFloat(t[4])];return isNaN(e[0])||isNaN(e[1])||isNaN(e[2])||isNaN(e[3])?null:e}function An(n){return t=>{const e=$r(t);return e?en(e,"rgb",n):null}}const da=[{parser:Ir,result:{alpha:!1,mode:"rgb",notation:"hex"}},{parser:Nr,result:{alpha:!0,mode:"rgb",notation:"hex"}},{parser:Dr,result:{alpha:!1,mode:"rgb",notation:"func"}},{parser:Rr,result:{alpha:!0,mode:"rgb",notation:"func"}},{parser:Tr,result:{alpha:!1,mode:"hsl",notation:"func"}},{parser:Br,result:{alpha:!0,mode:"hsl",notation:"func"}},{parser:Fr,result:{alpha:!1,mode:"rgb",notation:"object"}},{parser:$r,result:{alpha:!0,mode:"rgb",notation:"object"}}];function ha(n){return da.reduce((t,{parser:e,result:r})=>t||(e(n)?r:null),null)}function va(n,t="int"){const e=ha(n);return e?e.notation==="hex"&&t!=="float"?Object.assign(Object.assign({},e),{type:"int"}):e.notation==="func"?Object.assign(Object.assign({},e),{type:t}):null:null}function Xt(n){const t=[ca,ua,oa,aa,la,pa];n==="int"&&t.push(Mn("int"),An("int")),n==="float"&&t.push(Mn("float"),An("float"));const e=Mo(t);return r=>{const i=e(r);return i?M(i,n):null}}function ma(n){const t=Xt("int");if(typeof n!="string")return b.black();const e=t(n);return e??b.black()}function zr(n){const t=S(Math.floor(n),0,255).toString(16);return t.length===1?`0${t}`:t}function nn(n,t="#"){const e=U(n.getComponents("rgb")).map(zr).join("");return`${t}${e}`}function rn(n,t="#"){const e=n.getComponents("rgb"),r=[e[0],e[1],e[2],e[3]*255].map(zr).join("");return`${t}${r}`}function Kr(n){const t=j(0),e=M(n,"int");return`rgb(${U(e.getComponents("rgb")).map(i=>t(i)).join(", ")})`}function te(n){const t=j(2),e=j(0);return`rgba(${M(n,"int").getComponents("rgb").map((s,o)=>(o===3?t:e)(s)).join(", ")})`}function ba(n){const t=[j(0),se,se],e=M(n,"int");return`hsl(${U(e.getComponents("hsl")).map((i,s)=>t[s](i)).join(", ")})`}function fa(n){const t=[j(0),se,se,j(2)];return`hsla(${M(n,"int").getComponents("hsl").map((i,s)=>t[s](i)).join(", ")})`}function Ur(n,t){const e=j(t==="float"?2:0),r=["r","g","b"],i=M(n,t);return`{${U(i.getComponents("rgb")).map((o,a)=>`${r[a]}: ${e(o)}`).join(", ")}}`}function _a(n){return t=>Ur(t,n)}function Hr(n,t){const e=j(2),r=j(t==="float"?2:0),i=["r","g","b","a"];return`{${M(n,t).getComponents("rgb").map((a,p)=>{const l=p===3?e:r;return`${i[p]}: ${l(a)}`}).join(", ")}}`}function wa(n){return t=>Hr(t,n)}const ga=[{format:{alpha:!1,mode:"rgb",notation:"hex",type:"int"},stringifier:nn},{format:{alpha:!0,mode:"rgb",notation:"hex",type:"int"},stringifier:rn},{format:{alpha:!1,mode:"rgb",notation:"func",type:"int"},stringifier:Kr},{format:{alpha:!0,mode:"rgb",notation:"func",type:"int"},stringifier:te},{format:{alpha:!1,mode:"hsl",notation:"func",type:"int"},stringifier:ba},{format:{alpha:!0,mode:"hsl",notation:"func",type:"int"},stringifier:fa},...["int","float"].reduce((n,t)=>[...n,{format:{alpha:!1,mode:"rgb",notation:"object",type:t},stringifier:_a(t)},{format:{alpha:!0,mode:"rgb",notation:"object",type:t},stringifier:wa(t)}],[])];function qr(n){return ga.reduce((t,e)=>t||(ia(e.format,n)?e.stringifier:null),null)}const Ot=v("apl");class xa{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),this.value=e.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(Ot()),e.viewProps.bindClassModifiers(this.element),e.viewProps.bindTabIndex(this.element);const r=t.createElement("div");r.classList.add(Ot("b")),this.element.appendChild(r);const i=t.createElement("div");i.classList.add(Ot("c")),r.appendChild(i),this.colorElem_=i;const s=t.createElement("div");s.classList.add(Ot("m")),this.element.appendChild(s),this.markerElem_=s;const o=t.createElement("div");o.classList.add(Ot("p")),this.markerElem_.appendChild(o),this.previewElem_=o,this.update_()}update_(){const t=this.value.rawValue,e=t.getComponents("rgb"),r=new b([e[0],e[1],e[2],0],"rgb"),i=new b([e[0],e[1],e[2],255],"rgb"),s=["to right",te(r),te(i)];this.colorElem_.style.background=`linear-gradient(${s.join(",")})`,this.previewElem_.style.backgroundColor=te(t);const o=_(e[3],0,1,0,100);this.markerElem_.style.left=`${o}%`}onValueChange_(){this.update_()}}class Ca{constructor(t,e){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=e.value,this.viewProps=e.viewProps,this.view=new xa(t,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new dt(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(t,e){if(!t.point)return;const r=t.point.x/t.bounds.width,i=this.value.rawValue,[s,o,a]=i.getComponents("hsv");this.value.setRawValue(new b([s,o,a,r],"hsv"),e)}onPointerDown_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerMove_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerUp_(t){this.handlePointerEvent_(t.data,{forceEmit:!0,last:!0})}onKeyDown_(t){const e=O(ct(!0),X(t));if(e===0)return;const r=this.value.rawValue,[i,s,o,a]=r.getComponents("hsv");this.value.setRawValue(new b([i,s,o,a+e],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(t){O(ct(!0),X(t))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const vt=v("coltxt");function ya(n){const t=n.createElement("select"),e=[{text:"RGB",value:"rgb"},{text:"HSL",value:"hsl"},{text:"HSV",value:"hsv"},{text:"HEX",value:"hex"}];return t.appendChild(e.reduce((r,i)=>{const s=n.createElement("option");return s.textContent=i.text,s.value=i.value,r.appendChild(s),r},n.createDocumentFragment())),t}class Pa{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(vt()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("div");r.classList.add(vt("m")),this.modeElem_=ya(t),this.modeElem_.classList.add(vt("ms")),r.appendChild(this.modeSelectElement),e.viewProps.bindDisabled(this.modeElem_);const i=t.createElement("div");i.classList.add(vt("mm")),i.appendChild(de(t,"dropdown")),r.appendChild(i),this.element.appendChild(r);const s=t.createElement("div");s.classList.add(vt("w")),this.element.appendChild(s),this.inputsElem_=s,this.inputViews_=e.inputViews,this.applyInputViews_(),W(e.mode,o=>{this.modeElem_.value=o})}get modeSelectElement(){return this.modeElem_}get inputViews(){return this.inputViews_}set inputViews(t){this.inputViews_=t,this.applyInputViews_()}applyInputViews_(){dr(this.inputsElem_);const t=this.element.ownerDocument;this.inputViews_.forEach(e=>{const r=t.createElement("div");r.classList.add(vt("c")),r.appendChild(e.element),this.inputsElem_.appendChild(r)})}}function Ea(n){return j(n==="float"?2:0)}function ka(n,t,e){const r=Ct(n,t)[e];return new zt({min:0,max:r})}function Va(n,t,e){return new Wt(n,{arrayPosition:e===0?"fst":e===2?"lst":"mid",parser:t.parser,props:d.fromObject({formatter:Ea(t.colorType),keyScale:ct(!1),pointerScale:t.colorType==="float"?.01:1}),value:y(0,{constraint:ka(t.colorMode,t.colorType,e)}),viewProps:t.viewProps})}function Sa(n,t){const e={colorMode:t.colorMode,colorType:t.colorType,parser:Y,viewProps:t.viewProps};return[0,1,2].map(r=>{const i=Va(n,e,r);return Vt({primary:t.value,secondary:i.value,forward(s){return M(s,t.colorType).getComponents(t.colorMode)[r]},backward(s,o){const a=t.colorMode,l=M(s,t.colorType).getComponents(a);l[r]=o;const c=en(ve(U(l),l[3]),a,t.colorType);return M(c,"int")}}),i})}function La(n,t){const e=new Tt(n,{parser:Xt("int"),props:d.fromObject({formatter:nn}),value:y(b.black()),viewProps:t.viewProps});return Vt({primary:t.value,secondary:e.value,forward:r=>new b(U(r.getComponents()),r.mode),backward:(r,i)=>new b(ve(U(i.getComponents(r.mode)),r.getComponents()[3]),r.mode)}),[e]}function Ma(n){return n!=="hex"}class Aa{constructor(t,e){this.onModeSelectChange_=this.onModeSelectChange_.bind(this),this.colorType_=e.colorType,this.value=e.value,this.viewProps=e.viewProps,this.colorMode=y(this.value.rawValue.mode),this.ccs_=this.createComponentControllers_(t),this.view=new Pa(t,{mode:this.colorMode,inputViews:[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view],viewProps:this.viewProps}),this.view.modeSelectElement.addEventListener("change",this.onModeSelectChange_)}createComponentControllers_(t){const e=this.colorMode.rawValue;return Ma(e)?Sa(t,{colorMode:e,colorType:this.colorType_,value:this.value,viewProps:this.viewProps}):La(t,{value:this.value,viewProps:this.viewProps})}onModeSelectChange_(t){const e=t.currentTarget;this.colorMode.rawValue=e.value,this.ccs_=this.createComponentControllers_(this.view.element.ownerDocument),this.view.inputViews=this.ccs_.map(r=>r.view)}}const xe=v("hpl");class Oa{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),this.value=e.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(xe()),e.viewProps.bindClassModifiers(this.element),e.viewProps.bindTabIndex(this.element);const r=t.createElement("div");r.classList.add(xe("c")),this.element.appendChild(r);const i=t.createElement("div");i.classList.add(xe("m")),this.element.appendChild(i),this.markerElem_=i,this.update_()}update_(){const t=this.value.rawValue,[e]=t.getComponents("hsv");this.markerElem_.style.backgroundColor=Kr(new b([e,100,100],"hsv"));const r=_(e,0,360,0,100);this.markerElem_.style.left=`${r}%`}onValueChange_(){this.update_()}}class ja{constructor(t,e){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=e.value,this.viewProps=e.viewProps,this.view=new Oa(t,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new dt(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(t,e){if(!t.point)return;const r=_(S(t.point.x,0,t.bounds.width),0,t.bounds.width,0,360),i=this.value.rawValue,[,s,o,a]=i.getComponents("hsv");this.value.setRawValue(new b([r,s,o,a],"hsv"),e)}onPointerDown_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerMove_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerUp_(t){this.handlePointerEvent_(t.data,{forceEmit:!0,last:!0})}onKeyDown_(t){const e=O(ct(!1),X(t));if(e===0)return;const r=this.value.rawValue,[i,s,o,a]=r.getComponents("hsv");this.value.setRawValue(new b([i+e,s,o,a],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(t){O(ct(!1),X(t))!==0&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}const Ce=v("svp"),On=64;class Da{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),this.value=e.value,this.value.emitter.on("change",this.onValueChange_),this.element=t.createElement("div"),this.element.classList.add(Ce()),e.viewProps.bindClassModifiers(this.element),e.viewProps.bindTabIndex(this.element);const r=t.createElement("canvas");r.height=On,r.width=On,r.classList.add(Ce("c")),this.element.appendChild(r),this.canvasElement=r;const i=t.createElement("div");i.classList.add(Ce("m")),this.element.appendChild(i),this.markerElem_=i,this.update_()}update_(){const t=Ds(this.canvasElement);if(!t)return;const r=this.value.rawValue.getComponents("hsv"),i=this.canvasElement.width,s=this.canvasElement.height,o=t.getImageData(0,0,i,s),a=o.data;for(let c=0;cr.getComponents()[3],backward:(r,i)=>{const s=r.getComponents();return s[3]=i,new b(s,r.mode)}}),this.textsC_=new Aa(t,{colorType:e.colorType,value:this.value,viewProps:this.viewProps}),this.view=new Qo(t,{alphaViews:this.alphaIcs_?{palette:this.alphaIcs_.palette.view,text:this.alphaIcs_.text.view}:null,hPaletteView:this.hPaletteC_.view,supportsAlpha:e.supportsAlpha,svPaletteView:this.svPaletteC_.view,textsView:this.textsC_.view,viewProps:this.viewProps})}get textsController(){return this.textsC_}}const ye=v("colsw");class Ba{constructor(t,e){this.onValueChange_=this.onValueChange_.bind(this),e.value.emitter.on("change",this.onValueChange_),this.value=e.value,this.element=t.createElement("div"),this.element.classList.add(ye()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("div");r.classList.add(ye("sw")),this.element.appendChild(r),this.swatchElem_=r;const i=t.createElement("button");i.classList.add(ye("b")),e.viewProps.bindDisabled(i),this.element.appendChild(i),this.buttonElement=i,this.update_()}update_(){const t=this.value.rawValue;this.swatchElem_.style.backgroundColor=rn(t)}onValueChange_(){this.update_()}}class Ia{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.view=new Ba(t,{value:this.value,viewProps:this.viewProps})}}class sn{constructor(t,e){this.onButtonBlur_=this.onButtonBlur_.bind(this),this.onButtonClick_=this.onButtonClick_.bind(this),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.value=e.value,this.viewProps=e.viewProps,this.foldable_=Ut.create(e.expanded),this.swatchC_=new Ia(t,{value:this.value,viewProps:this.viewProps});const r=this.swatchC_.view.buttonElement;r.addEventListener("blur",this.onButtonBlur_),r.addEventListener("click",this.onButtonClick_),this.textC_=new Tt(t,{parser:e.parser,props:d.fromObject({formatter:e.formatter}),value:this.value,viewProps:this.viewProps}),this.view=new Ko(t,{foldable:this.foldable_,pickerLayout:e.pickerLayout}),this.view.swatchElement.appendChild(this.swatchC_.view.element),this.view.textElement.appendChild(this.textC_.view.element),this.popC_=e.pickerLayout==="popup"?new Cr(t,{viewProps:this.viewProps}):null;const i=new Ta(t,{colorType:e.colorType,supportsAlpha:e.supportsAlpha,value:this.value,viewProps:this.viewProps});i.view.allFocusableElements.forEach(s=>{s.addEventListener("blur",this.onPopupChildBlur_),s.addEventListener("keydown",this.onPopupChildKeydown_)}),this.pickerC_=i,this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(i.view.element),Vt({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:s=>s,backward:(s,o)=>o})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),Ye(this.foldable_,this.view.pickerElement))}get textController(){return this.textC_}onButtonBlur_(t){if(!this.popC_)return;const e=this.view.element,r=t.relatedTarget;(!r||!e.contains(r))&&(this.popC_.shows.rawValue=!1)}onButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(t){if(!this.popC_)return;const e=this.popC_.view.element,r=hr(t);r&&e.contains(r)||r&&r===this.swatchC_.view.buttonElement&&!Ke(e.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(t){this.popC_?t.key==="Escape"&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&t.key==="Escape"&&this.swatchC_.view.buttonElement.focus()}}function Na(n){return U(n.getComponents("rgb")).reduce((t,e)=>t<<8|Math.floor(e)&255,0)}function Fa(n){return n.getComponents("rgb").reduce((t,e,r)=>{const i=Math.floor(r===3?e*255:e)&255;return t<<8|i},0)>>>0}function $a(n){return new b([n>>16&255,n>>8&255,n&255],"rgb")}function za(n){return new b([n>>24&255,n>>16&255,n>>8&255,_(n&255,0,255,0,1)],"rgb")}function Ka(n){return typeof n!="number"?b.black():$a(n)}function Ua(n){return typeof n!="number"?b.black():za(n)}function ee(n,t){return typeof n!="object"||C(n)?!1:t in n&&typeof n[t]=="number"}function Gr(n){return ee(n,"r")&&ee(n,"g")&&ee(n,"b")}function Wr(n){return Gr(n)&&ee(n,"a")}function Yr(n){return Gr(n)}function on(n,t){if(n.mode!==t.mode||n.type!==t.type)return!1;const e=n.getComponents(),r=t.getComponents();for(let i=0;i{Yt(e,t(r))}:null}function qa(n){const t=n?Fa:Na;return(e,r)=>{Yt(e,t(r))}}function Ga(n,t,e){const i=M(t,e).toRgbaObject();n.writeProperty("r",i.r),n.writeProperty("g",i.g),n.writeProperty("b",i.b),n.writeProperty("a",i.a)}function Wa(n,t,e){const i=M(t,e).toRgbaObject();n.writeProperty("r",i.r),n.writeProperty("g",i.g),n.writeProperty("b",i.b)}function Ya(n,t){return(e,r)=>{n?Ga(e,r,t):Wa(e,r,t)}}function Xa(n){var t;return!!(!((t=n==null?void 0:n.color)===null||t===void 0)&&t.alpha)}function Qa(n){return n?t=>rn(t,"0x"):t=>nn(t,"0x")}function Ja(n){return"color"in n||n.view==="color"}const Za=A({id:"input-color-number",type:"input",accept:(n,t)=>{if(typeof n!="number"||!Ja(t))return null;const e=Ze(t);return e?{initialValue:n,params:Object.assign(Object.assign({},e),{supportsAlpha:Xa(t)})}:null},binding:{reader:n=>n.params.supportsAlpha?Ua:Ka,equals:on,writer:n=>qa(n.params.supportsAlpha)},controller:n=>{var t,e;return new sn(n.document,{colorType:"int",expanded:(t=n.params.expanded)!==null&&t!==void 0?t:!1,formatter:Qa(n.params.supportsAlpha),parser:Xt("int"),pickerLayout:(e=n.params.picker)!==null&&e!==void 0?e:"popup",supportsAlpha:n.params.supportsAlpha,value:n.value,viewProps:n.viewProps})}});function tl(n,t){if(!Yr(n))return M(b.black(),t);if(t==="int"){const e=jn(n);return new b(e,"rgb")}if(t==="float"){const e=jn(n);return new tn(e,"rgb")}return M(b.black(),"int")}function el(n){return Wr(n)}function nl(n){return t=>{const e=tl(t,n);return M(e,"int")}}function rl(n,t){return e=>n?Hr(e,t):Ur(e,t)}const il=A({id:"input-color-object",type:"input",accept:(n,t)=>{var e;if(!Yr(n))return null;const r=Ze(t);return r?{initialValue:n,params:Object.assign(Object.assign({},r),{colorType:(e=Or(t))!==null&&e!==void 0?e:"int"})}:null},binding:{reader:n=>nl(n.params.colorType),equals:on,writer:n=>Ya(el(n.initialValue),n.params.colorType)},controller:n=>{var t,e;const r=Wr(n.initialValue);return new sn(n.document,{colorType:n.params.colorType,expanded:(t=n.params.expanded)!==null&&t!==void 0?t:!1,formatter:rl(r,n.params.colorType),parser:Xt("int"),pickerLayout:(e=n.params.picker)!==null&&e!==void 0?e:"popup",supportsAlpha:r,value:n.value,viewProps:n.viewProps})}}),sl=A({id:"input-color-string",type:"input",accept:(n,t)=>{if(typeof n!="string"||t.view==="text")return null;const e=va(n,Or(t));if(!e)return null;const r=qr(e);if(!r)return null;const i=Ze(t);return i?{initialValue:n,params:Object.assign(Object.assign({},i),{format:e,stringifier:r})}:null},binding:{reader:()=>ma,equals:on,writer:n=>{const t=Ha(n.params.format);if(!t)throw E.notBindable();return t}},controller:n=>{var t,e;return new sn(n.document,{colorType:n.params.format.type,expanded:(t=n.params.expanded)!==null&&t!==void 0?t:!1,formatter:n.params.stringifier,parser:Xt("int"),pickerLayout:(e=n.params.picker)!==null&&e!==void 0?e:"popup",supportsAlpha:n.params.format.alpha,value:n.value,viewProps:n.viewProps})}});class an{constructor(t){this.components=t.components,this.asm_=t.assembly}constrain(t){const e=this.asm_.toComponents(t).map((r,i)=>{var s,o;return(o=(s=this.components[i])===null||s===void 0?void 0:s.constrain(r))!==null&&o!==void 0?o:r});return this.asm_.fromComponents(e)}}const Dn=v("pndtxt");class ol{constructor(t,e){this.textViews=e.textViews,this.element=t.createElement("div"),this.element.classList.add(Dn()),this.textViews.forEach(r=>{const i=t.createElement("div");i.classList.add(Dn("a")),i.appendChild(r.element),this.element.appendChild(i)})}}function al(n,t,e){return new Wt(n,{arrayPosition:e===0?"fst":e===t.axes.length-1?"lst":"mid",parser:t.parser,props:t.axes[e].textProps,value:y(0,{constraint:t.axes[e].constraint}),viewProps:t.viewProps})}class ln{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.acs_=e.axes.map((r,i)=>al(t,e,i)),this.acs_.forEach((r,i)=>{Vt({primary:this.value,secondary:r.value,forward:s=>e.assembly.toComponents(s)[i],backward:(s,o)=>{const a=e.assembly.toComponents(s);return a[i]=o,e.assembly.fromComponents(a)}})}),this.view=new ol(t,{textViews:this.acs_.map(r=>r.view)})}get textControllers(){return this.acs_}}class ll extends Rt{get max(){return this.controller.valueController.sliderController.props.get("max")}set max(t){this.controller.valueController.sliderController.props.set("max",t)}get min(){return this.controller.valueController.sliderController.props.get("min")}set min(t){this.controller.valueController.sliderController.props.set("min",t)}}function pl(n,t){const e=[],r=or(n,t);r&&e.push(r);const i=ar(n);i&&e.push(i);const s=Je(n.options);return s&&e.push(s),new Ht(e)}const cl=A({id:"input-number",type:"input",accept:(n,t)=>{if(typeof n!="number")return null;const e=P(t,r=>Object.assign(Object.assign({},pr(r)),{options:r.optional.custom(Gt),readonly:r.optional.constant(!1)}));return e?{initialValue:n,params:e}:null},binding:{reader:n=>nr,constraint:n=>pl(n.params,n.initialValue),writer:n=>Yt},controller:n=>{const t=n.value,e=n.constraint,r=e&&ie(e,qt);if(r)return new st(n.document,{props:new d({options:r.values.value("options")}),value:t,viewProps:n.viewProps});const i=lr(n.params,t.rawValue),s=e&&ie(e,zt);return s?new oe(n.document,Object.assign(Object.assign({},kr(Object.assign(Object.assign({},i),{keyScale:y(i.keyScale),max:s.values.value("max"),min:s.values.value("min")}))),{parser:Y,value:t,viewProps:n.viewProps})):new Wt(n.document,{parser:Y,props:d.fromObject(i),value:t,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="number"?null:n.controller.valueController instanceof oe?new ll(n.controller):n.controller.valueController instanceof st?new Xe(n.controller):null}});class it{constructor(t=0,e=0){this.x=t,this.y=e}getComponents(){return[this.x,this.y]}static isObject(t){if(C(t))return!1;const e=t.x,r=t.y;return!(typeof e!="number"||typeof r!="number")}static equals(t,e){return t.x===e.x&&t.y===e.y}toObject(){return{x:this.x,y:this.y}}}const Xr={toComponents:n=>n.getComponents(),fromComponents:n=>new it(...n)},mt=v("p2d");class ul{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(mt()),e.viewProps.bindClassModifiers(this.element),W(e.expanded,Pt(this.element,mt(void 0,"expanded")));const r=t.createElement("div");r.classList.add(mt("h")),this.element.appendChild(r);const i=t.createElement("button");i.classList.add(mt("b")),i.appendChild(de(t,"p2dpad")),e.viewProps.bindDisabled(i),r.appendChild(i),this.buttonElement=i;const s=t.createElement("div");if(s.classList.add(mt("t")),r.appendChild(s),this.textElement=s,e.pickerLayout==="inline"){const o=t.createElement("div");o.classList.add(mt("p")),this.element.appendChild(o),this.pickerElement=o}else this.pickerElement=null}}const tt=v("p2dp");class dl{constructor(t,e){this.onFoldableChange_=this.onFoldableChange_.bind(this),this.onPropsChange_=this.onPropsChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.props_=e.props,this.props_.emitter.on("change",this.onPropsChange_),this.element=t.createElement("div"),this.element.classList.add(tt()),e.layout==="popup"&&this.element.classList.add(tt(void 0,"p")),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("div");r.classList.add(tt("p")),e.viewProps.bindTabIndex(r),this.element.appendChild(r),this.padElement=r;const i=t.createElementNS(z,"svg");i.classList.add(tt("g")),this.padElement.appendChild(i),this.svgElem_=i;const s=t.createElementNS(z,"line");s.classList.add(tt("ax")),s.setAttributeNS(null,"x1","0"),s.setAttributeNS(null,"y1","50%"),s.setAttributeNS(null,"x2","100%"),s.setAttributeNS(null,"y2","50%"),this.svgElem_.appendChild(s);const o=t.createElementNS(z,"line");o.classList.add(tt("ax")),o.setAttributeNS(null,"x1","50%"),o.setAttributeNS(null,"y1","0"),o.setAttributeNS(null,"x2","50%"),o.setAttributeNS(null,"y2","100%"),this.svgElem_.appendChild(o);const a=t.createElementNS(z,"line");a.classList.add(tt("l")),a.setAttributeNS(null,"x1","50%"),a.setAttributeNS(null,"y1","50%"),this.svgElem_.appendChild(a),this.lineElem_=a;const p=t.createElement("div");p.classList.add(tt("m")),this.padElement.appendChild(p),this.markerElem_=p,e.value.emitter.on("change",this.onValueChange_),this.value=e.value,this.update_()}get allFocusableElements(){return[this.padElement]}update_(){const[t,e]=this.value.rawValue.getComponents(),r=this.props_.get("max"),i=_(t,-r,+r,0,100),s=_(e,-r,+r,0,100),o=this.props_.get("invertsY")?100-s:s;this.lineElem_.setAttributeNS(null,"x2",`${i}%`),this.lineElem_.setAttributeNS(null,"y2",`${o}%`),this.markerElem_.style.left=`${i}%`,this.markerElem_.style.top=`${o}%`}onValueChange_(){this.update_()}onPropsChange_(){this.update_()}onFoldableChange_(){this.update_()}}function Rn(n,t,e){return[O(t[0],X(n)),O(t[1],Bt(n))*(e?1:-1)]}class hl{constructor(t,e){this.onPadKeyDown_=this.onPadKeyDown_.bind(this),this.onPadKeyUp_=this.onPadKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.props=e.props,this.value=e.value,this.viewProps=e.viewProps,this.view=new dl(t,{layout:e.layout,props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new dt(this.view.padElement),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.padElement.addEventListener("keydown",this.onPadKeyDown_),this.view.padElement.addEventListener("keyup",this.onPadKeyUp_)}handlePointerEvent_(t,e){if(!t.point)return;const r=this.props.get("max"),i=_(t.point.x,0,t.bounds.width,-r,+r),s=_(this.props.get("invertsY")?t.bounds.height-t.point.y:t.point.y,0,t.bounds.height,-r,+r);this.value.setRawValue(new it(i,s),e)}onPointerDown_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerMove_(t){this.handlePointerEvent_(t.data,{forceEmit:!1,last:!1})}onPointerUp_(t){this.handlePointerEvent_(t.data,{forceEmit:!0,last:!0})}onPadKeyDown_(t){Er(t.key)&&t.preventDefault();const[e,r]=Rn(t,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY"));e===0&&r===0||this.value.setRawValue(new it(this.value.rawValue.x+e,this.value.rawValue.y+r),{forceEmit:!1,last:!1})}onPadKeyUp_(t){const[e,r]=Rn(t,[this.props.get("xKeyScale"),this.props.get("yKeyScale")],this.props.get("invertsY"));e===0&&r===0||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class vl{constructor(t,e){var r,i;this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.onPadButtonBlur_=this.onPadButtonBlur_.bind(this),this.onPadButtonClick_=this.onPadButtonClick_.bind(this),this.value=e.value,this.viewProps=e.viewProps,this.foldable_=Ut.create(e.expanded),this.popC_=e.pickerLayout==="popup"?new Cr(t,{viewProps:this.viewProps}):null;const s=new hl(t,{layout:e.pickerLayout,props:new d({invertsY:y(e.invertsY),max:y(e.max),xKeyScale:e.axes[0].textProps.value("keyScale"),yKeyScale:e.axes[1].textProps.value("keyScale")}),value:this.value,viewProps:this.viewProps});s.view.allFocusableElements.forEach(o=>{o.addEventListener("blur",this.onPopupChildBlur_),o.addEventListener("keydown",this.onPopupChildKeydown_)}),this.pickerC_=s,this.textC_=new ln(t,{assembly:Xr,axes:e.axes,parser:e.parser,value:this.value,viewProps:this.viewProps}),this.view=new ul(t,{expanded:this.foldable_.value("expanded"),pickerLayout:e.pickerLayout,viewProps:this.viewProps}),this.view.textElement.appendChild(this.textC_.view.element),(r=this.view.buttonElement)===null||r===void 0||r.addEventListener("blur",this.onPadButtonBlur_),(i=this.view.buttonElement)===null||i===void 0||i.addEventListener("click",this.onPadButtonClick_),this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),Vt({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:o=>o,backward:(o,a)=>a})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),Ye(this.foldable_,this.view.pickerElement))}get textController(){return this.textC_}onPadButtonBlur_(t){if(!this.popC_)return;const e=this.view.element,r=t.relatedTarget;(!r||!e.contains(r))&&(this.popC_.shows.rawValue=!1)}onPadButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(t){if(!this.popC_)return;const e=this.popC_.view.element,r=hr(t);r&&e.contains(r)||r&&r===this.view.buttonElement&&!Ke(e.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(t){this.popC_?t.key==="Escape"&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&t.key==="Escape"&&this.view.buttonElement.focus()}}function ml(n){return it.isObject(n)?new it(n.x,n.y):new it}function bl(n,t){n.writeProperty("x",t.x),n.writeProperty("y",t.y)}function fl(n,t){return new an({assembly:Xr,components:[G(Object.assign(Object.assign({},n),n.x),t.x),G(Object.assign(Object.assign({},n),n.y),t.y)]})}function Tn(n,t){var e,r;if(!C(n.min)||!C(n.max))return Math.max(Math.abs((e=n.min)!==null&&e!==void 0?e:0),Math.abs((r=n.max)!==null&&r!==void 0?r:0));const i=ir(n);return Math.max(Math.abs(i)*10,Math.abs(t)*10)}function _l(n,t){var e,r;const i=Tn(lt(n,(e=n.x)!==null&&e!==void 0?e:{}),t.x),s=Tn(lt(n,(r=n.y)!==null&&r!==void 0?r:{}),t.y);return Math.max(i,s)}function wl(n){if(!("y"in n))return!1;const t=n.y;return t&&"inverted"in t?!!t.inverted:!1}const gl=A({id:"input-point2d",type:"input",accept:(n,t)=>{if(!it.isObject(n))return null;const e=P(t,r=>Object.assign(Object.assign({},It(r)),{expanded:r.optional.boolean,picker:r.optional.custom(Sr),readonly:r.optional.constant(!1),x:r.optional.custom(rt),y:r.optional.object(Object.assign(Object.assign({},It(r)),{inverted:r.optional.boolean}))}));return e?{initialValue:n,params:e}:null},binding:{reader:()=>ml,constraint:n=>fl(n.params,n.initialValue),equals:it.equals,writer:()=>bl},controller:n=>{var t,e;const r=n.document,i=n.value,s=n.constraint,o=[n.params.x,n.params.y];return new vl(r,{axes:i.rawValue.getComponents().map((a,p)=>{var l;return ze({constraint:s.components[p],initialValue:a,params:lt(n.params,(l=o[p])!==null&&l!==void 0?l:{})})}),expanded:(t=n.params.expanded)!==null&&t!==void 0?t:!1,invertsY:wl(n.params),max:_l(n.params,i.rawValue),parser:Y,pickerLayout:(e=n.params.picker)!==null&&e!==void 0?e:"popup",value:i,viewProps:n.viewProps})}});class ft{constructor(t=0,e=0,r=0){this.x=t,this.y=e,this.z=r}getComponents(){return[this.x,this.y,this.z]}static isObject(t){if(C(t))return!1;const e=t.x,r=t.y,i=t.z;return!(typeof e!="number"||typeof r!="number"||typeof i!="number")}static equals(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z}toObject(){return{x:this.x,y:this.y,z:this.z}}}const Qr={toComponents:n=>n.getComponents(),fromComponents:n=>new ft(...n)};function xl(n){return ft.isObject(n)?new ft(n.x,n.y,n.z):new ft}function Cl(n,t){n.writeProperty("x",t.x),n.writeProperty("y",t.y),n.writeProperty("z",t.z)}function yl(n,t){return new an({assembly:Qr,components:[G(Object.assign(Object.assign({},n),n.x),t.x),G(Object.assign(Object.assign({},n),n.y),t.y),G(Object.assign(Object.assign({},n),n.z),t.z)]})}const Pl=A({id:"input-point3d",type:"input",accept:(n,t)=>{if(!ft.isObject(n))return null;const e=P(t,r=>Object.assign(Object.assign({},It(r)),{readonly:r.optional.constant(!1),x:r.optional.custom(rt),y:r.optional.custom(rt),z:r.optional.custom(rt)}));return e?{initialValue:n,params:e}:null},binding:{reader:n=>xl,constraint:n=>yl(n.params,n.initialValue),equals:ft.equals,writer:n=>Cl},controller:n=>{const t=n.value,e=n.constraint,r=[n.params.x,n.params.y,n.params.z];return new ln(n.document,{assembly:Qr,axes:t.rawValue.getComponents().map((i,s)=>{var o;return ze({constraint:e.components[s],initialValue:i,params:lt(n.params,(o=r[s])!==null&&o!==void 0?o:{})})}),parser:Y,value:t,viewProps:n.viewProps})}});class _t{constructor(t=0,e=0,r=0,i=0){this.x=t,this.y=e,this.z=r,this.w=i}getComponents(){return[this.x,this.y,this.z,this.w]}static isObject(t){if(C(t))return!1;const e=t.x,r=t.y,i=t.z,s=t.w;return!(typeof e!="number"||typeof r!="number"||typeof i!="number"||typeof s!="number")}static equals(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w}toObject(){return{x:this.x,y:this.y,z:this.z,w:this.w}}}const Jr={toComponents:n=>n.getComponents(),fromComponents:n=>new _t(...n)};function El(n){return _t.isObject(n)?new _t(n.x,n.y,n.z,n.w):new _t}function kl(n,t){n.writeProperty("x",t.x),n.writeProperty("y",t.y),n.writeProperty("z",t.z),n.writeProperty("w",t.w)}function Vl(n,t){return new an({assembly:Jr,components:[G(Object.assign(Object.assign({},n),n.x),t.x),G(Object.assign(Object.assign({},n),n.y),t.y),G(Object.assign(Object.assign({},n),n.z),t.z),G(Object.assign(Object.assign({},n),n.w),t.w)]})}const Sl=A({id:"input-point4d",type:"input",accept:(n,t)=>{if(!_t.isObject(n))return null;const e=P(t,r=>Object.assign(Object.assign({},It(r)),{readonly:r.optional.constant(!1),w:r.optional.custom(rt),x:r.optional.custom(rt),y:r.optional.custom(rt),z:r.optional.custom(rt)}));return e?{initialValue:n,params:e}:null},binding:{reader:n=>El,constraint:n=>Vl(n.params,n.initialValue),equals:_t.equals,writer:n=>kl},controller:n=>{const t=n.value,e=n.constraint,r=[n.params.x,n.params.y,n.params.z,n.params.w];return new ln(n.document,{assembly:Jr,axes:t.rawValue.getComponents().map((i,s)=>{var o;return ze({constraint:e.components[s],initialValue:i,params:lt(n.params,(o=r[s])!==null&&o!==void 0?o:{})})}),parser:Y,value:t,viewProps:n.viewProps})}});function Ll(n){const t=[],e=Je(n.options);return e&&t.push(e),new Ht(t)}const Ml=A({id:"input-string",type:"input",accept:(n,t)=>{if(typeof n!="string")return null;const e=P(t,r=>({readonly:r.optional.constant(!1),options:r.optional.custom(Gt)}));return e?{initialValue:n,params:e}:null},binding:{reader:n=>Pr,constraint:n=>Ll(n.params),writer:n=>Yt},controller:n=>{const t=n.document,e=n.value,r=n.constraint,i=r&&ie(r,qt);return i?new st(t,{props:new d({options:i.values.value("options")}),value:e,viewProps:n.viewProps}):new Tt(t,{parser:s=>s,props:d.fromObject({formatter:Oe}),value:e,viewProps:n.viewProps})},api(n){return typeof n.controller.value.rawValue!="string"?null:n.controller.valueController instanceof st?new Xe(n.controller):null}}),Qt={monitor:{defaultInterval:200,defaultRows:3}},Bn=v("mll");class Al{constructor(t,e){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=e.formatter,this.element=t.createElement("div"),this.element.classList.add(Bn()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("textarea");r.classList.add(Bn("i")),r.style.height=`calc(var(${Vr("containerUnitSize")}) * ${e.rows})`,r.readOnly=!0,e.viewProps.bindDisabled(r),this.element.appendChild(r),this.textareaElem_=r,e.value.emitter.on("change",this.onValueUpdate_),this.value=e.value,this.update_()}update_(){const t=this.textareaElem_,e=t.scrollTop===t.scrollHeight-t.clientHeight,r=[];this.value.rawValue.forEach(i=>{i!==void 0&&r.push(this.formatter_(i))}),t.textContent=r.join(` +`),e&&(t.scrollTop=t.scrollHeight)}onValueUpdate_(){this.update_()}}class pn{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.view=new Al(t,{formatter:e.formatter,rows:e.rows,value:this.value,viewProps:this.viewProps})}}const In=v("sgl");class Ol{constructor(t,e){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=e.formatter,this.element=t.createElement("div"),this.element.classList.add(In()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("input");r.classList.add(In("i")),r.readOnly=!0,r.type="text",e.viewProps.bindDisabled(r),this.element.appendChild(r),this.inputElement=r,e.value.emitter.on("change",this.onValueUpdate_),this.value=e.value,this.update_()}update_(){const t=this.value.rawValue,e=t[t.length-1];this.inputElement.value=e!==void 0?this.formatter_(e):""}onValueUpdate_(){this.update_()}}class cn{constructor(t,e){this.value=e.value,this.viewProps=e.viewProps,this.view=new Ol(t,{formatter:e.formatter,value:this.value,viewProps:this.viewProps})}}const jl=A({id:"monitor-bool",type:"monitor",accept:(n,t)=>{if(typeof n!="boolean")return null;const e=P(t,r=>({readonly:r.required.constant(!0),rows:r.optional.number}));return e?{initialValue:n,params:e}:null},binding:{reader:n=>yr},controller:n=>{var t;return n.value.rawValue.length===1?new cn(n.document,{formatter:Sn,value:n.value,viewProps:n.viewProps}):new pn(n.document,{formatter:Sn,rows:(t=n.params.rows)!==null&&t!==void 0?t:Qt.monitor.defaultRows,value:n.value,viewProps:n.viewProps})}});class Dl extends Rt{get max(){return this.controller.valueController.props.get("max")}set max(t){this.controller.valueController.props.set("max",t)}get min(){return this.controller.valueController.props.get("min")}set min(t){this.controller.valueController.props.set("min",t)}}const et=v("grl");class Rl{constructor(t,e){this.onCursorChange_=this.onCursorChange_.bind(this),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.element=t.createElement("div"),this.element.classList.add(et()),e.viewProps.bindClassModifiers(this.element),this.formatter_=e.formatter,this.props_=e.props,this.cursor_=e.cursor,this.cursor_.emitter.on("change",this.onCursorChange_);const r=t.createElementNS(z,"svg");r.classList.add(et("g")),r.style.height=`calc(var(${Vr("containerUnitSize")}) * ${e.rows})`,this.element.appendChild(r),this.svgElem_=r;const i=t.createElementNS(z,"polyline");this.svgElem_.appendChild(i),this.lineElem_=i;const s=t.createElement("div");s.classList.add(et("t"),v("tt")()),this.element.appendChild(s),this.tooltipElem_=s,e.value.emitter.on("change",this.onValueUpdate_),this.value=e.value,this.update_()}get graphElement(){return this.svgElem_}update_(){const{clientWidth:t,clientHeight:e}=this.element,r=this.value.rawValue.length-1,i=this.props_.get("min"),s=this.props_.get("max"),o=[];this.value.rawValue.forEach((u,g)=>{if(u===void 0)return;const f=_(g,0,r,0,t),m=_(u,i,s,e,0);o.push([f,m].join(","))}),this.lineElem_.setAttributeNS(null,"points",o.join(" "));const a=this.tooltipElem_,p=this.value.rawValue[this.cursor_.rawValue];if(p===void 0){a.classList.remove(et("t","a"));return}const l=_(this.cursor_.rawValue,0,r,0,t),c=_(p,i,s,e,0);a.style.left=`${l}px`,a.style.top=`${c}px`,a.textContent=`${this.formatter_(p)}`,a.classList.contains(et("t","a"))||(a.classList.add(et("t","a"),et("t","in")),re(a),a.classList.remove(et("t","in")))}onValueUpdate_(){this.update_()}onCursorChange_(){this.update_()}}class Zr{constructor(t,e){if(this.onGraphMouseMove_=this.onGraphMouseMove_.bind(this),this.onGraphMouseLeave_=this.onGraphMouseLeave_.bind(this),this.onGraphPointerDown_=this.onGraphPointerDown_.bind(this),this.onGraphPointerMove_=this.onGraphPointerMove_.bind(this),this.onGraphPointerUp_=this.onGraphPointerUp_.bind(this),this.props=e.props,this.value=e.value,this.viewProps=e.viewProps,this.cursor_=y(-1),this.view=new Rl(t,{cursor:this.cursor_,formatter:e.formatter,rows:e.rows,props:this.props,value:this.value,viewProps:this.viewProps}),!Ke(t))this.view.element.addEventListener("mousemove",this.onGraphMouseMove_),this.view.element.addEventListener("mouseleave",this.onGraphMouseLeave_);else{const r=new dt(this.view.element);r.emitter.on("down",this.onGraphPointerDown_),r.emitter.on("move",this.onGraphPointerMove_),r.emitter.on("up",this.onGraphPointerUp_)}}importProps(t){return R(t,null,e=>({max:e.required.number,min:e.required.number}),e=>(this.props.set("max",e.max),this.props.set("min",e.min),!0))}exportProps(){return T(null,{max:this.props.get("max"),min:this.props.get("min")})}onGraphMouseLeave_(){this.cursor_.rawValue=-1}onGraphMouseMove_(t){const{clientWidth:e}=this.view.element;this.cursor_.rawValue=Math.floor(_(t.offsetX,0,e,0,this.value.rawValue.length))}onGraphPointerDown_(t){this.onGraphPointerMove_(t)}onGraphPointerMove_(t){if(!t.data.point){this.cursor_.rawValue=-1;return}this.cursor_.rawValue=Math.floor(_(t.data.point.x,0,t.data.bounds.width,0,this.value.rawValue.length))}onGraphPointerUp_(){this.cursor_.rawValue=-1}}function je(n){return C(n.format)?j(2):n.format}function Tl(n){var t;return n.value.rawValue.length===1?new cn(n.document,{formatter:je(n.params),value:n.value,viewProps:n.viewProps}):new pn(n.document,{formatter:je(n.params),rows:(t=n.params.rows)!==null&&t!==void 0?t:Qt.monitor.defaultRows,value:n.value,viewProps:n.viewProps})}function Bl(n){var t,e,r;return new Zr(n.document,{formatter:je(n.params),rows:(t=n.params.rows)!==null&&t!==void 0?t:Qt.monitor.defaultRows,props:d.fromObject({max:(e=n.params.max)!==null&&e!==void 0?e:100,min:(r=n.params.min)!==null&&r!==void 0?r:0}),value:n.value,viewProps:n.viewProps})}function Nn(n){return n.view==="graph"}const Il=A({id:"monitor-number",type:"monitor",accept:(n,t)=>{if(typeof n!="number")return null;const e=P(t,r=>({format:r.optional.function,max:r.optional.number,min:r.optional.number,readonly:r.required.constant(!0),rows:r.optional.number,view:r.optional.string}));return e?{initialValue:n,params:e}:null},binding:{defaultBufferSize:n=>Nn(n)?64:1,reader:n=>nr},controller:n=>Nn(n.params)?Bl(n):Tl(n),api:n=>n.controller.valueController instanceof Zr?new Dl(n.controller):null}),Nl=A({id:"monitor-string",type:"monitor",accept:(n,t)=>{if(typeof n!="string")return null;const e=P(t,r=>({multiline:r.optional.boolean,readonly:r.required.constant(!0),rows:r.optional.number}));return e?{initialValue:n,params:e}:null},binding:{reader:n=>Pr},controller:n=>{var t;const e=n.value;return e.rawValue.length>1||n.params.multiline?new pn(n.document,{formatter:Oe,rows:(t=n.params.rows)!==null&&t!==void 0?t:Qt.monitor.defaultRows,value:e,viewProps:n.viewProps}):new cn(n.document,{formatter:Oe,value:e,viewProps:n.viewProps})}});class Fl{constructor(){this.map_=new Map}get(t){var e;return(e=this.map_.get(t))!==null&&e!==void 0?e:null}has(t){return this.map_.has(t)}add(t,e){return this.map_.set(t,e),t.viewProps.handleDispose(()=>{this.map_.delete(t)}),e}}class $l{constructor(t){this.target=t.target,this.reader_=t.reader,this.writer_=t.writer}read(){return this.reader_(this.target.read())}write(t){this.writer_(this.target,t)}inject(t){this.write(this.reader_(t))}}function zl(n,t){var e;const r=n.accept(t.target.read(),t.params);if(C(r))return null;const i={target:t.target,initialValue:r.initialValue,params:r.params},s=P(t.params,u=>({disabled:u.optional.boolean,hidden:u.optional.boolean,label:u.optional.string,tag:u.optional.string})),o=n.binding.reader(i),a=n.binding.constraint?n.binding.constraint(i):void 0,p=new $l({reader:o,target:t.target,writer:n.binding.writer(i)}),l=new ks(y(o(r.initialValue),{constraint:a,equals:n.binding.equals}),p),c=n.controller({constraint:a,document:t.document,initialValue:r.initialValue,params:r.params,value:l,viewProps:Q.create({disabled:s==null?void 0:s.disabled,hidden:s==null?void 0:s.hidden})});return new $s(t.document,{blade:kt(),props:d.fromObject({label:"label"in t.params?(e=s==null?void 0:s.label)!==null&&e!==void 0?e:null:t.target.key}),tag:s==null?void 0:s.tag,value:l,valueController:c})}class Kl{constructor(t){this.target=t.target,this.reader_=t.reader}read(){return this.reader_(this.target.read())}}function Ul(n,t){return t===0?new Po:new Eo(n,t??Qt.monitor.defaultInterval)}function Hl(n,t){var e,r,i;const s=n.accept(t.target.read(),t.params);if(C(s))return null;const o={target:t.target,initialValue:s.initialValue,params:s.params},a=P(t.params,g=>({bufferSize:g.optional.number,disabled:g.optional.boolean,hidden:g.optional.boolean,interval:g.optional.number,label:g.optional.string})),p=n.binding.reader(o),l=(r=(e=a==null?void 0:a.bufferSize)!==null&&e!==void 0?e:n.binding.defaultBufferSize&&n.binding.defaultBufferSize(s.params))!==null&&r!==void 0?r:1,c=new qs({binding:new Kl({reader:p,target:t.target}),bufferSize:l,ticker:Ul(t.document,a==null?void 0:a.interval)}),u=n.controller({document:t.document,params:s.params,value:c,viewProps:Q.create({disabled:a==null?void 0:a.disabled,hidden:a==null?void 0:a.hidden})});return u.viewProps.bindDisabled(c.ticker),u.viewProps.handleDispose(()=>{c.ticker.dispose()}),new Ws(t.document,{blade:kt(),props:d.fromObject({label:"label"in t.params?(i=a==null?void 0:a.label)!==null&&i!==void 0?i:null:t.target.key}),value:c,valueController:u})}class ql{constructor(t){this.pluginsMap_={blades:[],inputs:[],monitors:[]},this.apiCache_=t}getAll(){return[...this.pluginsMap_.blades,...this.pluginsMap_.inputs,...this.pluginsMap_.monitors]}register(t,e){if(!Io(e.core))throw E.notCompatible(t,e.id);e.type==="blade"?this.pluginsMap_.blades.unshift(e):e.type==="input"?this.pluginsMap_.inputs.unshift(e):e.type==="monitor"&&this.pluginsMap_.monitors.unshift(e)}createInput_(t,e,r){return this.pluginsMap_.inputs.reduce((i,s)=>i??zl(s,{document:t,target:e,params:r}),null)}createMonitor_(t,e,r){return this.pluginsMap_.monitors.reduce((i,s)=>i??Hl(s,{document:t,params:r,target:e}),null)}createBinding(t,e,r){const i=e.read();if(C(i))throw new E({context:{key:e.key},type:"nomatchingcontroller"});const s=this.createInput_(t,e,r);if(s)return s;const o=this.createMonitor_(t,e,r);if(o)return o;throw new E({context:{key:e.key},type:"nomatchingcontroller"})}createBlade(t,e){const r=this.pluginsMap_.blades.reduce((i,s)=>i??yo(s,{document:t,params:e}),null);if(!r)throw new E({type:"nomatchingview",context:{params:e}});return r}createInputBindingApi_(t){const e=this.pluginsMap_.inputs.reduce((r,i)=>{var s,o;return r||((o=(s=i.api)===null||s===void 0?void 0:s.call(i,{controller:t}))!==null&&o!==void 0?o:null)},null);return this.apiCache_.add(t,e??new Rt(t))}createMonitorBindingApi_(t){const e=this.pluginsMap_.monitors.reduce((r,i)=>{var s,o;return r||((o=(s=i.api)===null||s===void 0?void 0:s.call(i,{controller:t}))!==null&&o!==void 0?o:null)},null);return this.apiCache_.add(t,e??new Rt(t))}createBindingApi(t){if(this.apiCache_.has(t))return this.apiCache_.get(t);if(zs(t))return this.createInputBindingApi_(t);if(Ys(t))return this.createMonitorBindingApi_(t);throw E.shouldNeverHappen()}createApi(t){if(this.apiCache_.has(t))return this.apiCache_.get(t);if(Fs(t))return this.createBindingApi(t);const e=this.pluginsMap_.blades.reduce((r,i)=>r??i.api({controller:t,pool:this}),null);if(!e)throw E.shouldNeverHappen();return this.apiCache_.add(t,e)}}const Gl=new Fl;function Wl(){const n=new ql(Gl);return[gl,Pl,Sl,Ml,cl,sl,il,Za,zo,jl,Nl,Il,to,vo,xr].forEach(t=>{n.register("core",t)}),n}class Yl extends ut{constructor(t){super(t),this.emitter_=new k,this.controller.value.emitter.on("change",e=>{this.emitter_.emit("change",new Kt(this,e.rawValue))})}get label(){return this.controller.labelController.props.get("label")}set label(t){this.controller.labelController.props.set("label",t)}get options(){return this.controller.valueController.props.get("options")}set options(t){this.controller.valueController.props.set("options",t)}get value(){return this.controller.value.rawValue}set value(t){this.controller.value.rawValue=t}on(t,e){const r=e.bind(this);return this.emitter_.on(t,i=>{r(i)},{key:e}),this}off(t,e){return this.emitter_.off(t,e),this}}class Xl extends ut{}class Ql extends ut{constructor(t){super(t),this.emitter_=new k,this.controller.value.emitter.on("change",e=>{this.emitter_.emit("change",new Kt(this,e.rawValue))})}get label(){return this.controller.labelController.props.get("label")}set label(t){this.controller.labelController.props.set("label",t)}get max(){return this.controller.valueController.sliderController.props.get("max")}set max(t){this.controller.valueController.sliderController.props.set("max",t)}get min(){return this.controller.valueController.sliderController.props.get("min")}set min(t){this.controller.valueController.sliderController.props.set("min",t)}get value(){return this.controller.value.rawValue}set value(t){this.controller.value.rawValue=t}on(t,e){const r=e.bind(this);return this.emitter_.on(t,i=>{r(i)},{key:e}),this}off(t,e){return this.emitter_.off(t,e),this}}class Jl extends ut{constructor(t){super(t),this.emitter_=new k,this.controller.value.emitter.on("change",e=>{this.emitter_.emit("change",new Kt(this,e.rawValue))})}get label(){return this.controller.labelController.props.get("label")}set label(t){this.controller.labelController.props.set("label",t)}get formatter(){return this.controller.valueController.props.get("formatter")}set formatter(t){this.controller.valueController.props.set("formatter",t)}get value(){return this.controller.value.rawValue}set value(t){this.controller.value.rawValue=t}on(t,e){const r=e.bind(this);return this.emitter_.on(t,i=>{r(i)},{key:e}),this}off(t,e){return this.emitter_.off(t,e),this}}const Zl=function(){return{id:"list",type:"blade",core:Et,accept(n){const t=P(n,e=>({options:e.required.custom(Gt),value:e.required.raw,view:e.required.constant("list"),label:e.optional.string}));return t?{params:t}:null},controller(n){const t=new qt(Qe(n.params.options)),e=y(n.params.value,{constraint:t}),r=new st(n.document,{props:new d({options:t.values.value("options")}),value:e,viewProps:n.viewProps});return new pt(n.document,{blade:n.blade,props:d.fromObject({label:n.params.label}),value:e,valueController:r})},api(n){return!(n.controller instanceof pt)||!(n.controller.valueController instanceof st)?null:new Yl(n.controller)}}}();class tp extends wr{constructor(t,e){super(t,e)}get element(){return this.controller.view.element}}class ep extends Me{constructor(t,e){super(t,{expanded:e.expanded,blade:e.blade,props:e.props,root:!0,viewProps:e.viewProps})}}const Fn=v("spr");class np{constructor(t,e){this.element=t.createElement("div"),this.element.classList.add(Fn()),e.viewProps.bindClassModifiers(this.element);const r=t.createElement("hr");r.classList.add(Fn("r")),this.element.appendChild(r)}}class $n extends he{constructor(t,e){super(Object.assign(Object.assign({},e),{view:new np(t,{viewProps:e.viewProps})}))}}const rp={id:"separator",type:"blade",core:Et,accept(n){const t=P(n,e=>({view:e.required.constant("separator")}));return t?{params:t}:null},controller(n){return new $n(n.document,{blade:n.blade,viewProps:n.viewProps})},api(n){return n.controller instanceof $n?new Xl(n.controller):null}},ip={id:"slider",type:"blade",core:Et,accept(n){const t=P(n,e=>({max:e.required.number,min:e.required.number,view:e.required.constant("slider"),format:e.optional.function,label:e.optional.string,value:e.optional.number}));return t?{params:t}:null},controller(n){var t,e;const r=(t=n.params.value)!==null&&t!==void 0?t:0,i=new zt({max:n.params.max,min:n.params.min}),s=y(r,{constraint:i}),o=new oe(n.document,Object.assign(Object.assign({},kr({formatter:(e=n.params.format)!==null&&e!==void 0?e:xs,keyScale:y(1),max:i.values.value("max"),min:i.values.value("min"),pointerScale:sr(n.params,r)})),{parser:Y,value:s,viewProps:n.viewProps}));return new pt(n.document,{blade:n.blade,props:d.fromObject({label:n.params.label}),value:s,valueController:o})},api(n){return!(n.controller instanceof pt)||!(n.controller.valueController instanceof oe)?null:new Ql(n.controller)}},sp=function(){return{id:"text",type:"blade",core:Et,accept(n){const t=P(n,e=>({parse:e.required.function,value:e.required.raw,view:e.required.constant("text"),format:e.optional.function,label:e.optional.string}));return t?{params:t}:null},controller(n){var t;const e=y(n.params.value),r=new Tt(n.document,{parser:n.params.parse,props:d.fromObject({formatter:(t=n.params.format)!==null&&t!==void 0?t:i=>String(i)}),value:e,viewProps:n.viewProps});return new pt(n.document,{blade:n.blade,props:d.fromObject({label:n.params.label}),value:e,valueController:r})},api(n){return!(n.controller instanceof pt)||!(n.controller.valueController instanceof Tt)?null:new Jl(n.controller)}}}();function op(n){const t=n.createElement("div");return t.classList.add(v("dfw")()),n.body&&n.body.appendChild(t),t}function ap(n,t,e){if(n.querySelector(`style[data-tp-style=${t}]`))return;const r=n.createElement("style");r.dataset.tpStyle=t,r.textContent=e,n.head.appendChild(r)}class lp extends tp{constructor(t){var e,r;const i=t??{},s=(e=i.document)!==null&&e!==void 0?e:js(),o=Wl(),a=new ep(s,{expanded:i.expanded,blade:kt(),props:d.fromObject({title:i.title}),viewProps:Q.create()});super(a,o),this.pool_=o,this.containerElem_=(r=i.container)!==null&&r!==void 0?r:op(s),this.containerElem_.appendChild(this.element),this.doc_=s,this.usesDefaultWrapper_=!i.container,this.setUpDefaultPlugins_()}get document(){if(!this.doc_)throw E.alreadyDisposed();return this.doc_}dispose(){const t=this.containerElem_;if(!t)throw E.alreadyDisposed();if(this.usesDefaultWrapper_){const e=t.parentElement;e&&e.removeChild(t)}this.containerElem_=null,this.doc_=null,super.dispose()}registerPlugin(t){t.css&&ap(this.document,`plugin-${t.id}`,t.css),("plugin"in t?[t.plugin]:"plugins"in t?t.plugins:[]).forEach(r=>{this.pool_.register(t.id,r)})}setUpDefaultPlugins_(){this.registerPlugin({id:"default",css:'.tp-tbiv_b,.tp-coltxtv_ms,.tp-colswv_b,.tp-ckbv_i,.tp-sglv_i,.tp-mllv_i,.tp-grlv_g,.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw,.tp-rotv_b,.tp-fldv_b,.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{background-color:var(--btn-bg);border-radius:var(--bld-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--cnt-usz);line-height:var(--cnt-usz);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-p2dv_b:hover,.tp-btnv_b:hover,.tp-lstv_s:hover{background-color:var(--btn-bg-h)}.tp-p2dv_b:focus,.tp-btnv_b:focus,.tp-lstv_s:focus{background-color:var(--btn-bg-f)}.tp-p2dv_b:active,.tp-btnv_b:active,.tp-lstv_s:active{background-color:var(--btn-bg-a)}.tp-p2dv_b:disabled,.tp-btnv_b:disabled,.tp-lstv_s:disabled{opacity:.5}.tp-rotv_c>.tp-cntv.tp-v-lst,.tp-tbpv_c>.tp-cntv.tp-v-lst,.tp-fldv_c>.tp-cntv.tp-v-lst{margin-bottom:calc(-1*var(--cnt-vp))}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-tbpv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_c{border-bottom-left-radius:0}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-tbpv_c>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_b{border-bottom-left-radius:0}.tp-rotv_c>*:not(.tp-v-fst),.tp-tbpv_c>*:not(.tp-v-fst),.tp-fldv_c>*:not(.tp-v-fst){margin-top:var(--cnt-usp)}.tp-rotv_c>.tp-sprv:not(.tp-v-fst),.tp-tbpv_c>.tp-sprv:not(.tp-v-fst),.tp-fldv_c>.tp-sprv:not(.tp-v-fst),.tp-rotv_c>.tp-cntv:not(.tp-v-fst),.tp-tbpv_c>.tp-cntv:not(.tp-v-fst),.tp-fldv_c>.tp-cntv:not(.tp-v-fst){margin-top:var(--cnt-vp)}.tp-rotv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-tbpv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-rotv_c>.tp-cntv+*:not(.tp-v-hidden),.tp-tbpv_c>.tp-cntv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-cntv+*:not(.tp-v-hidden){margin-top:var(--cnt-vp)}.tp-rotv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-tbpv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-fldv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-rotv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-tbpv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-fldv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv{margin-top:0}.tp-tbpv_c>.tp-cntv,.tp-fldv_c>.tp-cntv{margin-left:4px}.tp-tbpv_c>.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-fldv>.tp-fldv_b{border-top-left-radius:var(--bld-br);border-bottom-left-radius:var(--bld-br)}.tp-tbpv_c>.tp-fldv.tp-fldv-expanded>.tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-fldv-expanded>.tp-fldv_b{border-bottom-left-radius:0}.tp-tbpv_c .tp-fldv>.tp-fldv_c,.tp-fldv_c .tp-fldv>.tp-fldv_c{border-bottom-left-radius:var(--bld-br)}.tp-tbpv_c>.tp-cntv+.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-cntv+.tp-fldv>.tp-fldv_b{border-top-left-radius:0}.tp-tbpv_c>.tp-cntv+.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-cntv+.tp-tabv>.tp-tabv_t{border-top-left-radius:0}.tp-tbpv_c>.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-tabv>.tp-tabv_t{border-top-left-radius:var(--bld-br)}.tp-tbpv_c .tp-tabv>.tp-tabv_c,.tp-fldv_c .tp-tabv>.tp-tabv_c{border-bottom-left-radius:var(--bld-br)}.tp-rotv_b,.tp-fldv_b{background-color:var(--cnt-bg);color:var(--cnt-fg);cursor:pointer;display:block;height:calc(var(--cnt-usz) + 4px);line-height:calc(var(--cnt-usz) + 4px);overflow:hidden;padding-left:var(--cnt-hp);padding-right:calc(4px + var(--cnt-usz) + var(--cnt-hp));position:relative;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;transition:border-radius .2s ease-in-out .2s}.tp-rotv_b:hover,.tp-fldv_b:hover{background-color:var(--cnt-bg-h)}.tp-rotv_b:focus,.tp-fldv_b:focus{background-color:var(--cnt-bg-f)}.tp-rotv_b:active,.tp-fldv_b:active{background-color:var(--cnt-bg-a)}.tp-rotv_b:disabled,.tp-fldv_b:disabled{opacity:.5}.tp-rotv_m,.tp-fldv_m{background:linear-gradient(to left, var(--cnt-fg), var(--cnt-fg) 2px, transparent 2px, transparent 4px, var(--cnt-fg) 4px);border-radius:2px;bottom:0;content:"";display:block;height:6px;right:calc(var(--cnt-hp) + (var(--cnt-usz) + 4px - 6px)/2 - 2px);margin:auto;opacity:.5;position:absolute;top:0;transform:rotate(90deg);transition:transform .2s ease-in-out;width:6px}.tp-rotv.tp-rotv-expanded .tp-rotv_m,.tp-fldv.tp-fldv-expanded>.tp-fldv_b>.tp-fldv_m{transform:none}.tp-rotv_c,.tp-fldv_c{box-sizing:border-box;height:0;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;position:relative;transition:height .2s ease-in-out,opacity .2s linear,padding .2s ease-in-out}.tp-rotv.tp-rotv-cpl:not(.tp-rotv-expanded) .tp-rotv_c,.tp-fldv.tp-fldv-cpl:not(.tp-fldv-expanded)>.tp-fldv_c{display:none}.tp-rotv.tp-rotv-expanded .tp-rotv_c,.tp-fldv.tp-fldv-expanded>.tp-fldv_c{opacity:1;padding-bottom:var(--cnt-vp);padding-top:var(--cnt-vp);transform:none;overflow:visible;transition:height .2s ease-in-out,opacity .2s linear .2s,padding .2s ease-in-out}.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw{background-color:var(--in-bg);border-radius:var(--bld-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--cnt-usz);line-height:var(--cnt-usz);min-width:0;width:100%}.tp-txtv_i:hover,.tp-p2dpv_p:hover,.tp-colswv_sw:hover{background-color:var(--in-bg-h)}.tp-txtv_i:focus,.tp-p2dpv_p:focus,.tp-colswv_sw:focus{background-color:var(--in-bg-f)}.tp-txtv_i:active,.tp-p2dpv_p:active,.tp-colswv_sw:active{background-color:var(--in-bg-a)}.tp-txtv_i:disabled,.tp-p2dpv_p:disabled,.tp-colswv_sw:disabled{opacity:.5}.tp-lstv,.tp-coltxtv_m{position:relative}.tp-lstv_s{padding:0 20px 0 4px;width:100%}.tp-lstv_m,.tp-coltxtv_mm{bottom:0;margin:auto;pointer-events:none;position:absolute;right:2px;top:0}.tp-lstv_m svg,.tp-coltxtv_mm svg{bottom:0;height:16px;margin:auto;position:absolute;right:0;top:0;width:16px}.tp-lstv_m svg path,.tp-coltxtv_mm svg path{fill:currentColor}.tp-sglv_i,.tp-mllv_i,.tp-grlv_g{background-color:var(--mo-bg);border-radius:var(--bld-br);box-sizing:border-box;color:var(--mo-fg);height:var(--cnt-usz);scrollbar-color:currentColor rgba(0,0,0,0);scrollbar-width:thin;width:100%}.tp-sglv_i::-webkit-scrollbar,.tp-mllv_i::-webkit-scrollbar,.tp-grlv_g::-webkit-scrollbar{height:8px;width:8px}.tp-sglv_i::-webkit-scrollbar-corner,.tp-mllv_i::-webkit-scrollbar-corner,.tp-grlv_g::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.tp-sglv_i::-webkit-scrollbar-thumb,.tp-mllv_i::-webkit-scrollbar-thumb,.tp-grlv_g::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:currentColor;border:rgba(0,0,0,0) solid 2px;border-radius:4px}.tp-pndtxtv,.tp-coltxtv_w{display:flex}.tp-pndtxtv_a,.tp-coltxtv_c{width:100%}.tp-pndtxtv_a+.tp-pndtxtv_a,.tp-coltxtv_c+.tp-pndtxtv_a,.tp-pndtxtv_a+.tp-coltxtv_c,.tp-coltxtv_c+.tp-coltxtv_c{margin-left:2px}.tp-rotv{--bs-bg: var(--tp-base-background-color, hsl(230, 7%, 17%));--bs-br: var(--tp-base-border-radius, 6px);--bs-ff: var(--tp-base-font-family, Roboto Mono, Source Code Pro, Menlo, Courier, monospace);--bs-sh: var(--tp-base-shadow-color, rgba(0, 0, 0, 0.2));--bld-br: var(--tp-blade-border-radius, 2px);--bld-hp: var(--tp-blade-horizontal-padding, 4px);--bld-vw: var(--tp-blade-value-width, 160px);--btn-bg: var(--tp-button-background-color, hsl(230, 7%, 70%));--btn-bg-a: var(--tp-button-background-color-active, #d6d7db);--btn-bg-f: var(--tp-button-background-color-focus, #c8cad0);--btn-bg-h: var(--tp-button-background-color-hover, #bbbcc4);--btn-fg: var(--tp-button-foreground-color, hsl(230, 7%, 17%));--cnt-bg: var(--tp-container-background-color, rgba(187, 188, 196, 0.1));--cnt-bg-a: var(--tp-container-background-color-active, rgba(187, 188, 196, 0.25));--cnt-bg-f: var(--tp-container-background-color-focus, rgba(187, 188, 196, 0.2));--cnt-bg-h: var(--tp-container-background-color-hover, rgba(187, 188, 196, 0.15));--cnt-fg: var(--tp-container-foreground-color, hsl(230, 7%, 75%));--cnt-hp: var(--tp-container-horizontal-padding, 4px);--cnt-vp: var(--tp-container-vertical-padding, 4px);--cnt-usp: var(--tp-container-unit-spacing, 4px);--cnt-usz: var(--tp-container-unit-size, 20px);--in-bg: var(--tp-input-background-color, rgba(187, 188, 196, 0.1));--in-bg-a: var(--tp-input-background-color-active, rgba(187, 188, 196, 0.25));--in-bg-f: var(--tp-input-background-color-focus, rgba(187, 188, 196, 0.2));--in-bg-h: var(--tp-input-background-color-hover, rgba(187, 188, 196, 0.15));--in-fg: var(--tp-input-foreground-color, hsl(230, 7%, 75%));--lbl-fg: var(--tp-label-foreground-color, rgba(187, 188, 196, 0.7));--mo-bg: var(--tp-monitor-background-color, rgba(0, 0, 0, 0.2));--mo-fg: var(--tp-monitor-foreground-color, rgba(187, 188, 196, 0.7));--grv-fg: var(--tp-groove-foreground-color, rgba(187, 188, 196, 0.1))}.tp-btnv_b{width:100%}.tp-btnv_t{text-align:center}.tp-ckbv_l{display:block;position:relative}.tp-ckbv_i{left:0;opacity:0;position:absolute;top:0}.tp-ckbv_w{background-color:var(--in-bg);border-radius:var(--bld-br);cursor:pointer;display:block;height:var(--cnt-usz);position:relative;width:var(--cnt-usz)}.tp-ckbv_w svg{bottom:0;display:block;height:16px;left:0;margin:auto;opacity:0;position:absolute;right:0;top:0;width:16px}.tp-ckbv_w svg path{fill:none;stroke:var(--in-fg);stroke-width:2}.tp-ckbv_i:hover+.tp-ckbv_w{background-color:var(--in-bg-h)}.tp-ckbv_i:focus+.tp-ckbv_w{background-color:var(--in-bg-f)}.tp-ckbv_i:active+.tp-ckbv_w{background-color:var(--in-bg-a)}.tp-ckbv_i:checked+.tp-ckbv_w svg{opacity:1}.tp-ckbv.tp-v-disabled .tp-ckbv_w{opacity:.5}.tp-colv{position:relative}.tp-colv_h{display:flex}.tp-colv_s{flex-grow:0;flex-shrink:0;width:var(--cnt-usz)}.tp-colv_t{flex:1;margin-left:4px}.tp-colv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-colv.tp-colv-expanded.tp-colv-cpl .tp-colv_p{overflow:visible}.tp-colv.tp-colv-expanded .tp-colv_p{margin-top:var(--cnt-usp);opacity:1}.tp-colv .tp-popv{left:calc(-1*var(--cnt-hp));right:calc(-1*var(--cnt-hp));top:var(--cnt-usz)}.tp-colpv_h,.tp-colpv_ap{margin-left:6px;margin-right:6px}.tp-colpv_h{margin-top:var(--cnt-usp)}.tp-colpv_rgb{display:flex;margin-top:var(--cnt-usp);width:100%}.tp-colpv_a{display:flex;margin-top:var(--cnt-vp);padding-top:calc(var(--cnt-vp) + 2px);position:relative}.tp-colpv_a::before{background-color:var(--grv-fg);content:"";height:2px;left:calc(-1*var(--cnt-hp));position:absolute;right:calc(-1*var(--cnt-hp));top:0}.tp-colpv.tp-v-disabled .tp-colpv_a::before{opacity:.5}.tp-colpv_ap{align-items:center;display:flex;flex:3}.tp-colpv_at{flex:1;margin-left:4px}.tp-svpv{border-radius:var(--bld-br);outline:none;overflow:hidden;position:relative}.tp-svpv.tp-v-disabled{opacity:.5}.tp-svpv_c{cursor:crosshair;display:block;height:calc(var(--cnt-usz)*4);width:100%}.tp-svpv_m{border-radius:100%;border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;filter:drop-shadow(0 0 1px rgba(0, 0, 0, 0.3));height:12px;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;width:12px}.tp-svpv:focus .tp-svpv_m{border-color:#fff}.tp-hplv{cursor:pointer;height:var(--cnt-usz);outline:none;position:relative}.tp-hplv.tp-v-disabled{opacity:.5}.tp-hplv_c{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAABCAYAAABubagXAAAAQ0lEQVQoU2P8z8Dwn0GCgQEDi2OK/RBgYHjBgIpfovFh8j8YBIgzFGQxuqEgPhaDOT5gOhPkdCxOZeBg+IDFZZiGAgCaSSMYtcRHLgAAAABJRU5ErkJggg==);background-position:left top;background-repeat:no-repeat;background-size:100% 100%;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;position:absolute;top:50%;width:100%}.tp-hplv_m{border-radius:var(--bld-br);border:rgba(255,255,255,.75) solid 2px;box-shadow:0 0 2px rgba(0,0,0,.1);box-sizing:border-box;height:12px;left:50%;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;top:50%;width:12px}.tp-hplv:focus .tp-hplv_m{border-color:#fff}.tp-aplv{cursor:pointer;height:var(--cnt-usz);outline:none;position:relative;width:100%}.tp-aplv.tp-v-disabled{opacity:.5}.tp-aplv_b{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:4px 4px;background-position:0 0,2px 2px;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;overflow:hidden;position:absolute;top:50%;width:100%}.tp-aplv_c{bottom:0;left:0;position:absolute;right:0;top:0}.tp-aplv_m{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:12px 12px;background-position:0 0,6px 6px;border-radius:var(--bld-br);box-shadow:0 0 2px rgba(0,0,0,.1);height:12px;left:50%;margin-left:-6px;margin-top:-6px;overflow:hidden;pointer-events:none;position:absolute;top:50%;width:12px}.tp-aplv_p{border-radius:var(--bld-br);border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;bottom:0;left:0;position:absolute;right:0;top:0}.tp-aplv:focus .tp-aplv_p{border-color:#fff}.tp-colswv{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:10px 10px;background-position:0 0,5px 5px;border-radius:var(--bld-br);overflow:hidden}.tp-colswv.tp-v-disabled{opacity:.5}.tp-colswv_sw{border-radius:0}.tp-colswv_b{cursor:pointer;display:block;height:var(--cnt-usz);left:0;position:absolute;top:0;width:var(--cnt-usz)}.tp-colswv_b:focus::after{border:rgba(255,255,255,.75) solid 2px;border-radius:var(--bld-br);bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.tp-coltxtv{display:flex;width:100%}.tp-coltxtv_m{margin-right:4px}.tp-coltxtv_ms{border-radius:var(--bld-br);color:var(--lbl-fg);cursor:pointer;height:var(--cnt-usz);line-height:var(--cnt-usz);padding:0 18px 0 4px}.tp-coltxtv_ms:hover{background-color:var(--in-bg-h)}.tp-coltxtv_ms:focus{background-color:var(--in-bg-f)}.tp-coltxtv_ms:active{background-color:var(--in-bg-a)}.tp-coltxtv_mm{color:var(--lbl-fg)}.tp-coltxtv.tp-v-disabled .tp-coltxtv_mm{opacity:.5}.tp-coltxtv_w{flex:1}.tp-dfwv{position:absolute;top:8px;right:8px;width:256px}.tp-fldv{position:relative}.tp-fldv_t{padding-left:4px}.tp-fldv_b:disabled .tp-fldv_m{display:none}.tp-fldv_c{padding-left:4px}.tp-fldv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--cnt-usz) + 4px);width:max(var(--bs-br),4px)}.tp-fldv_i::before{background-color:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.tp-fldv_b:hover+.tp-fldv_i{color:var(--cnt-bg-h)}.tp-fldv_b:focus+.tp-fldv_i{color:var(--cnt-bg-f)}.tp-fldv_b:active+.tp-fldv_i{color:var(--cnt-bg-a)}.tp-fldv.tp-v-disabled>.tp-fldv_i{opacity:.5}.tp-grlv{position:relative}.tp-grlv_g{display:block;height:calc(var(--cnt-usz)*3)}.tp-grlv_g polyline{fill:none;stroke:var(--mo-fg);stroke-linejoin:round}.tp-grlv_t{margin-top:-4px;transition:left .05s,top .05s;visibility:hidden}.tp-grlv_t.tp-grlv_t-a{visibility:visible}.tp-grlv_t.tp-grlv_t-in{transition:none}.tp-grlv.tp-v-disabled .tp-grlv_g{opacity:.5}.tp-grlv .tp-ttv{background-color:var(--mo-fg)}.tp-grlv .tp-ttv::before{border-top-color:var(--mo-fg)}.tp-lblv{align-items:center;display:flex;line-height:1.3;padding-left:var(--cnt-hp);padding-right:var(--cnt-hp)}.tp-lblv.tp-lblv-nol{display:block}.tp-lblv_l{color:var(--lbl-fg);flex:1;-webkit-hyphens:auto;hyphens:auto;overflow:hidden;padding-left:4px;padding-right:16px}.tp-lblv.tp-v-disabled .tp-lblv_l{opacity:.5}.tp-lblv.tp-lblv-nol .tp-lblv_l{display:none}.tp-lblv_v{align-self:flex-start;flex-grow:0;flex-shrink:0;width:var(--bld-vw)}.tp-lblv.tp-lblv-nol .tp-lblv_v{width:100%}.tp-lstv_s{padding:0 20px 0 var(--bld-hp);width:100%}.tp-lstv_m{color:var(--btn-fg)}.tp-sglv_i{padding-left:var(--bld-hp);padding-right:var(--bld-hp)}.tp-sglv.tp-v-disabled .tp-sglv_i{opacity:.5}.tp-mllv_i{display:block;height:calc(var(--cnt-usz)*3);line-height:var(--cnt-usz);padding-left:var(--bld-hp);padding-right:var(--bld-hp);resize:none;white-space:pre}.tp-mllv.tp-v-disabled .tp-mllv_i{opacity:.5}.tp-p2dv{position:relative}.tp-p2dv_h{display:flex}.tp-p2dv_b{height:var(--cnt-usz);margin-right:4px;position:relative;width:var(--cnt-usz)}.tp-p2dv_b svg{display:block;height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.tp-p2dv_b svg path{stroke:currentColor;stroke-width:2}.tp-p2dv_b svg circle{fill:currentColor}.tp-p2dv_t{flex:1}.tp-p2dv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-p2dv.tp-p2dv-expanded .tp-p2dv_p{margin-top:var(--cnt-usp);opacity:1}.tp-p2dv .tp-popv{left:calc(-1*var(--cnt-hp));right:calc(-1*var(--cnt-hp));top:var(--cnt-usz)}.tp-p2dpv{padding-left:calc(var(--cnt-usz) + 4px)}.tp-p2dpv_p{cursor:crosshair;height:0;overflow:hidden;padding-bottom:100%;position:relative}.tp-p2dpv.tp-v-disabled .tp-p2dpv_p{opacity:.5}.tp-p2dpv_g{display:block;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.tp-p2dpv_ax{opacity:.1;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_l{opacity:.5;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_m{border:var(--in-fg) solid 1px;border-radius:50%;box-sizing:border-box;height:4px;margin-left:-2px;margin-top:-2px;position:absolute;width:4px}.tp-p2dpv_p:focus .tp-p2dpv_m{background-color:var(--in-fg);border-width:0}.tp-popv{background-color:var(--bs-bg);border-radius:var(--bs-br);box-shadow:0 2px 4px var(--bs-sh);display:none;max-width:var(--bld-vw);padding:var(--cnt-vp) var(--cnt-hp);position:absolute;visibility:hidden;z-index:1000}.tp-popv.tp-popv-v{display:block;visibility:visible}.tp-sldv.tp-v-disabled{opacity:.5}.tp-sldv_t{box-sizing:border-box;cursor:pointer;height:var(--cnt-usz);margin:0 6px;outline:none;position:relative}.tp-sldv_t::before{background-color:var(--in-bg);border-radius:1px;bottom:0;content:"";display:block;height:2px;left:0;margin:auto;position:absolute;right:0;top:0}.tp-sldv_k{height:100%;left:0;position:absolute;top:0}.tp-sldv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";display:block;height:2px;left:0;margin-bottom:auto;margin-top:auto;position:absolute;right:0;top:0}.tp-sldv_k::after{background-color:var(--btn-bg);border-radius:var(--bld-br);bottom:0;content:"";display:block;height:12px;margin-bottom:auto;margin-top:auto;position:absolute;right:-6px;top:0;width:12px}.tp-sldv_t:hover .tp-sldv_k::after{background-color:var(--btn-bg-h)}.tp-sldv_t:focus .tp-sldv_k::after{background-color:var(--btn-bg-f)}.tp-sldv_t:active .tp-sldv_k::after{background-color:var(--btn-bg-a)}.tp-sldtxtv{display:flex}.tp-sldtxtv_s{flex:2}.tp-sldtxtv_t{flex:1;margin-left:4px}.tp-tabv{position:relative}.tp-tabv_t{align-items:flex-end;color:var(--cnt-bg);display:flex;overflow:hidden;position:relative}.tp-tabv_t:hover{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus){color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active){color:var(--cnt-bg-a)}.tp-tabv_t::before{background-color:currentColor;bottom:0;content:"";height:2px;left:0;pointer-events:none;position:absolute;right:0}.tp-tabv.tp-v-disabled .tp-tabv_t::before{opacity:.5}.tp-tabv.tp-tabv-nop .tp-tabv_t{height:calc(var(--cnt-usz) + 4px);position:relative}.tp-tabv.tp-tabv-nop .tp-tabv_t::before{background-color:var(--cnt-bg);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.tp-tabv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--cnt-usz) + 4px);width:max(var(--bs-br),4px)}.tp-tabv_i::before{background-color:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.tp-tabv_t:hover+.tp-tabv_i{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus)+.tp-tabv_i{color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active)+.tp-tabv_i{color:var(--cnt-bg-a)}.tp-tabv.tp-v-disabled>.tp-tabv_i{opacity:.5}.tp-tbiv{flex:1;min-width:0;position:relative}.tp-tbiv+.tp-tbiv{margin-left:2px}.tp-tbiv+.tp-tbiv.tp-v-disabled::before{opacity:.5}.tp-tbiv_b{display:block;padding-left:calc(var(--cnt-hp) + 4px);padding-right:calc(var(--cnt-hp) + 4px);position:relative;width:100%}.tp-tbiv_b:disabled{opacity:.5}.tp-tbiv_b::before{background-color:var(--cnt-bg);bottom:2px;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.tp-tbiv_b:hover::before{background-color:var(--cnt-bg-h)}.tp-tbiv_b:focus::before{background-color:var(--cnt-bg-f)}.tp-tbiv_b:active::before{background-color:var(--cnt-bg-a)}.tp-tbiv_t{color:var(--cnt-fg);height:calc(var(--cnt-usz) + 4px);line-height:calc(var(--cnt-usz) + 4px);opacity:.5;overflow:hidden;position:relative;text-overflow:ellipsis}.tp-tbiv.tp-tbiv-sel .tp-tbiv_t{opacity:1}.tp-tbpv_c{padding-bottom:var(--cnt-vp);padding-left:4px;padding-top:var(--cnt-vp)}.tp-txtv{position:relative}.tp-txtv_i{padding-left:var(--bld-hp);padding-right:var(--bld-hp)}.tp-txtv.tp-txtv-fst .tp-txtv_i{border-bottom-right-radius:0;border-top-right-radius:0}.tp-txtv.tp-txtv-mid .tp-txtv_i{border-radius:0}.tp-txtv.tp-txtv-lst .tp-txtv_i{border-bottom-left-radius:0;border-top-left-radius:0}.tp-txtv.tp-txtv-num .tp-txtv_i{text-align:right}.tp-txtv.tp-txtv-drg .tp-txtv_i{opacity:.3}.tp-txtv_k{cursor:pointer;height:100%;left:calc(var(--bld-hp) - 5px);position:absolute;top:0;width:12px}.tp-txtv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";height:calc(var(--cnt-usz) - 4px);left:50%;margin-bottom:auto;margin-left:-1px;margin-top:auto;opacity:.1;position:absolute;top:0;transition:border-radius .1s,height .1s,transform .1s,width .1s;width:2px}.tp-txtv_k:hover::before,.tp-txtv.tp-txtv-drg .tp-txtv_k::before{opacity:1}.tp-txtv.tp-txtv-drg .tp-txtv_k::before{border-radius:50%;height:4px;transform:translateX(-1px);width:4px}.tp-txtv_g{bottom:0;display:block;height:8px;left:50%;margin:auto;overflow:visible;pointer-events:none;position:absolute;top:0;visibility:hidden;width:100%}.tp-txtv.tp-txtv-drg .tp-txtv_g{visibility:visible}.tp-txtv_gb{fill:none;stroke:var(--in-fg);stroke-dasharray:1}.tp-txtv_gh{fill:none;stroke:var(--in-fg)}.tp-txtv .tp-ttv{margin-left:6px;visibility:hidden}.tp-txtv.tp-txtv-drg .tp-ttv{visibility:visible}.tp-ttv{background-color:var(--in-fg);border-radius:var(--bld-br);color:var(--bs-bg);padding:2px 4px;pointer-events:none;position:absolute;transform:translate(-50%, -100%)}.tp-ttv::before{border-color:var(--in-fg) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:2px;box-sizing:border-box;content:"";font-size:.9em;height:4px;left:50%;margin-left:-2px;position:absolute;top:100%;width:4px}.tp-rotv{background-color:var(--bs-bg);border-radius:var(--bs-br);box-shadow:0 2px 4px var(--bs-sh);font-family:var(--bs-ff);font-size:11px;font-weight:500;line-height:1;text-align:left}.tp-rotv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br);border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br);padding-left:calc(4px + var(--cnt-usz) + var(--cnt-hp));text-align:center}.tp-rotv.tp-rotv-expanded .tp-rotv_b{border-bottom-left-radius:0;border-bottom-right-radius:0;transition-delay:0s;transition-duration:0s}.tp-rotv.tp-rotv-not>.tp-rotv_b{display:none}.tp-rotv_b:disabled .tp-rotv_m{display:none}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst.tp-fldv-expanded>.tp-fldv_b{transition-delay:0s;transition-duration:0s}.tp-rotv_c .tp-fldv.tp-v-vlst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-right-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst{margin-top:calc(-1*var(--cnt-vp))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst>.tp-fldv_b{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst{margin-top:calc(-1*var(--cnt-vp))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst>.tp-tabv_t{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv.tp-v-disabled,.tp-rotv .tp-v-disabled{pointer-events:none}.tp-rotv.tp-v-hidden,.tp-rotv .tp-v-hidden{display:none}.tp-sprv_r{background-color:var(--grv-fg);border-width:0;display:block;height:2px;margin:0;width:100%}.tp-sprv.tp-v-disabled .tp-sprv_r{opacity:.5}',plugins:[Zl,rp,ip,xr,sp]})}}new _r("4.0.3");function Pp(n,t){const e=Ni("hash"),r=pp(n),i=zn(r,e),s=yt(i);if(Re)return s;let o=null;return r.push({_:"button",_key:"reset configs",value:()=>{const a=zn(r,{});Object.assign(s.value,structuredClone(a)),o==null||o.refresh()}}),t=Object.assign({container:document.querySelector("#option-gui-pos"),expanded:Fi},t),Ft(s,()=>{console.log(s.value),Object.assign(e,s.value)},{deep:!0}),pe(()=>{o=new lp(Object.assign({title:"options"},t)),cp(s,r,o)}),ce(()=>{o==null||o.dispose()}),s}function zn(n,t){const e={};for(const r of n){const{_:i,_key:s}=r;if(i==="button")continue;const a=t[s]??r.value;i==="boolean"?e[s]=!!a:i==="string"?e[s]=String(a):i==="number"?e[s]=parseFloat(a):console.error(r)}return e}function Kn(n){return Gn(n)}function pp(n){return Object.entries(n).map(([t,e])=>{if(gi(e))return{_:"button",_key:t,value:e};const r=Kn(e)?e:{_:!0,value:e},i=Kn(e)?typeof e.value:typeof e,s=r._===!0?i:r._;return{...r,_key:t,_:s}})}function cp(n,t,e){for(const r of t){const{_:i,_key:s,value:o,...a}=r;if(i==="button"){e.addButton({title:s}).on("click",o);continue}e.addBinding(n.value,s,a)}}var up=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dp(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var ti={exports:{}};(function(n,t){(function(e,r){n.exports=r()})(up,function(){var e=function(){function r(f){return o.appendChild(f.dom),f}function i(f){for(var m=0;mp+1e3&&(c.update(1e3*l/(f-p),100),p=f,l=0,g)){var m=performance.memory;g.update(m.usedJSHeapSize/1048576,m.jsHeapSizeLimit/1048576)}return f},update:function(){a=this.end()},domElement:o,setMode:i}};return e.Panel=function(r,i,s){var o=1/0,a=0,p=Math.round,l=p(window.devicePixelRatio||1),c=80*l,u=48*l,g=3*l,f=2*l,m=3*l,L=15*l,B=74*l,x=30*l,w=document.createElement("canvas");w.width=c,w.height=u,w.style.cssText="width:80px;height:48px";var h=w.getContext("2d");return h.font="bold "+9*l+"px Helvetica,Arial,sans-serif",h.textBaseline="top",h.fillStyle=s,h.fillRect(0,0,c,u),h.fillStyle=i,h.fillText(r,g,f),h.fillRect(m,L,B,x),h.fillStyle=s,h.globalAlpha=.9,h.fillRect(m,L,B,x),{dom:w,update:function(I,ei){o=Math.min(o,I),a=Math.max(a,I),h.fillStyle=s,h.globalAlpha=1,h.fillRect(0,0,c,L),h.fillStyle=i,h.fillText(p(I)+" "+r+" ("+p(o)+"-"+p(a)+")",g,f),h.drawImage(w,m+l,L,B-l,x,m,L,B-l,x),h.fillRect(m+B-l,L,l,x),h.fillStyle=s,h.globalAlpha=.9,h.fillRect(m+B-l,L,l,p((1-I/ei)*x))}}},e})})(ti);var hp=ti.exports;const vp=dp(hp);function mp(){const n=Re?null:new vp;return n==null||n.showPanel(0),pe(()=>{n&&document.body.append(n.dom)}),ce(()=>{n==null||n.dom.remove()}),t=>{n==null||n.begin();const e=t();return e!=null&&e.then?e.then(()=>{n==null||n.end()}):n==null||n.end(),e}}function Ep(n,t){const{fps:e}=t||{},r=mp(),i=yi(s);return ce(()=>i.pause()),i;async function*s(){const o=await n(),a=bp(o);for(;;){const p=hi(e),l=()=>a?o.next():n(),c=await r(async()=>fp(l,p));if(a&&c.done)break;yield}}}function bp(n){return Gn(n)&&(Symbol.asyncIterator in n||Symbol.iterator in n)}async function fp(n,t){const e=Date.now(),r=await n(),i=Date.now(),s=t?1e3/t-(i-e):0;return await Ci(s>0?s:0),r}export{vn as V,xp as _,yp as a,Ep as b,gp as c,Cp as d,hn as e,Ci as s,Pp as u}; diff --git a/assets/utils-DWuipzrQ.js b/assets/utils-DWuipzrQ.js new file mode 100644 index 0000000..9cb641b --- /dev/null +++ b/assets/utils-DWuipzrQ.js @@ -0,0 +1 @@ +function f(a,c="#fff"){const e=a.canvas.width,n=a.canvas.height;a.fillStyle=c,a.clearRect(0,0,e,n)}export{f as c}; diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 0000000..44e8cbb --- /dev/null +++ b/favicon.svg @@ -0,0 +1 @@ + diff --git a/index.html b/index.html new file mode 100644 index 0000000..54b0860 --- /dev/null +++ b/index.html @@ -0,0 +1,14 @@ + + + + + + + Visual + + + + +
+ +