From a6902f11e56c387123e1f1a54b7baa55116bdd7b Mon Sep 17 00:00:00 2001 From: thepaperpilot Date: Sun, 23 Apr 2023 05:03:52 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20thepaper?= =?UTF-8?q?pilot/Planar-Pioneers@a8815f9eb570dbad31ac4e5204ecaca6d9b41d71?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...meLoop.8b501f84.js => gameLoop.fdd22bbc.js} | 2 +- assets/index.23e23bb0.js | 18 ++++++++++++++++++ .../{index.2f12c259.css => index.6da26b86.css} | 2 +- assets/index.78856c6f.js | 18 ------------------ index.html | 4 ++-- sw.js | 2 +- 6 files changed, 23 insertions(+), 23 deletions(-) rename assets/{gameLoop.8b501f84.js => gameLoop.fdd22bbc.js} (89%) create mode 100644 assets/index.23e23bb0.js rename assets/{index.2f12c259.css => index.6da26b86.css} (97%) delete mode 100644 assets/index.78856c6f.js diff --git a/assets/gameLoop.8b501f84.js b/assets/gameLoop.fdd22bbc.js similarity index 89% rename from assets/gameLoop.8b501f84.js rename to assets/gameLoop.fdd22bbc.js index ff9b860..ff0943c 100644 --- a/assets/gameLoop.8b501f84.js +++ b/assets/gameLoop.fdd22bbc.js @@ -1 +1 @@ -import{_ as d,s as p,p as e,a as o,l as T,D as l,b as m,g as u}from"./index.78856c6f.js";import"./vue.804e2479.js";import{b2 as c}from"./@vue.6f8187b0.js";/* empty css */import"./nanoevents.1080beb7.js";import"./lz-string.dccec454.js";import"./vue-next-select.f5f69b1a.js";import"./vuedraggable.ce650350.js";import"./amator.1e5a40c8.js";import"./bezier-easing.a990b400.js";import"./sortablejs.a0f68e5e.js";import"./vue-textarea-autosize.35804eaf.js";import"./vue-panzoom.89be130f.js";import"./panzoom.30c56ba6.js";import"./wheel.f2ae740f.js";import"./ngraph.events.083734c6.js";import"./vue-toastification.5231d1bd.js";let n=null,f=null;function a(){const t=Date.now();let i=(t-e.time)/1e3;e.time=t;const r=i;if(o.lastTenTicks.push(r),o.lastTenTicks.length>10&&(o.lastTenTicks=o.lastTenTicks.slice(1)),!((f==null?void 0:f.value)&&!e.keepGoing)&&!o.hasNaN&&(i=Math.max(i,0),e.devSpeed!==0)){if(T.value=!1,e.offlineTime!=null){if(l.gt(e.offlineTime,m.offlineLimit*3600)&&(e.offlineTime=m.offlineLimit*3600),l.gt(e.offlineTime,0)&&e.devSpeed!==0){const s=Math.max(e.offlineTime/10,i);e.offlineTime=e.offlineTime-s,i+=s}else e.devSpeed===0&&(e.offlineTime+=i);(!e.offlineProd||l.lt(e.offlineTime,0))&&(e.offlineTime=null)}i=Math.min(i,m.maxTickLength),e.devSpeed!=null&&(i*=e.devSpeed),Number.isFinite(i)||(i=1e308),!l.eq(i,0)&&(e.timePlayed+=i,Number.isFinite(e.timePlayed)||(e.timePlayed=1e308),u.emit("update",i,r),p.unthrottled?(requestAnimationFrame(a),n!=null&&(clearInterval(n),n=null)):n==null&&(n=setInterval(a,50)))}}async function A(){f=(await d(()=>import("./index.78856c6f.js").then(function(t){return t.c}),["assets/index.78856c6f.js","assets/index.2f12c259.css","assets/@fontsource.f66d05e7.css","assets/vue.804e2479.js","assets/amator.1e5a40c8.js","assets/bezier-easing.a990b400.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/lz-string.dccec454.js","assets/vue-next-select.f5f69b1a.js","assets/vue-next-select.9e6f4164.css","assets/vuedraggable.ce650350.js","assets/sortablejs.a0f68e5e.js","assets/vue-textarea-autosize.35804eaf.js","assets/vue-panzoom.89be130f.js","assets/panzoom.30c56ba6.js","assets/wheel.f2ae740f.js","assets/ngraph.events.083734c6.js","assets/vue-toastification.5231d1bd.js","assets/vue-toastification.4b5f8ac8.css"])).hasWon,c(f,t=>{t&&u.emit("gameWon")}),p.unthrottled?requestAnimationFrame(a):n=setInterval(a,50)}export{A as startGameLoop}; +import{_ as d,s as p,p as e,a as o,l as T,D as l,b as m,g as u}from"./index.23e23bb0.js";import"./vue.804e2479.js";import{b2 as c}from"./@vue.6f8187b0.js";/* empty css */import"./nanoevents.1080beb7.js";import"./lz-string.dccec454.js";import"./vue-next-select.f5f69b1a.js";import"./vuedraggable.ce650350.js";import"./amator.1e5a40c8.js";import"./bezier-easing.a990b400.js";import"./sortablejs.a0f68e5e.js";import"./vue-textarea-autosize.35804eaf.js";import"./vue-panzoom.89be130f.js";import"./panzoom.30c56ba6.js";import"./wheel.f2ae740f.js";import"./ngraph.events.083734c6.js";import"./vue-toastification.5231d1bd.js";let n=null,f=null;function a(){const t=Date.now();let i=(t-e.time)/1e3;e.time=t;const r=i;if(o.lastTenTicks.push(r),o.lastTenTicks.length>10&&(o.lastTenTicks=o.lastTenTicks.slice(1)),!((f==null?void 0:f.value)&&!e.keepGoing)&&!o.hasNaN&&(i=Math.max(i,0),e.devSpeed!==0)){if(T.value=!1,e.offlineTime!=null){if(l.gt(e.offlineTime,m.offlineLimit*3600)&&(e.offlineTime=m.offlineLimit*3600),l.gt(e.offlineTime,0)&&e.devSpeed!==0){const s=Math.max(e.offlineTime/10,i);e.offlineTime=e.offlineTime-s,i+=s}else e.devSpeed===0&&(e.offlineTime+=i);(!e.offlineProd||l.lt(e.offlineTime,0))&&(e.offlineTime=null)}i=Math.min(i,m.maxTickLength),e.devSpeed!=null&&(i*=e.devSpeed),Number.isFinite(i)||(i=1e308),!l.eq(i,0)&&(e.timePlayed+=i,Number.isFinite(e.timePlayed)||(e.timePlayed=1e308),u.emit("update",i,r),p.unthrottled?(requestAnimationFrame(a),n!=null&&(clearInterval(n),n=null)):n==null&&(n=setInterval(a,50)))}}async function A(){f=(await d(()=>import("./index.23e23bb0.js").then(function(t){return t.c}),["assets/index.23e23bb0.js","assets/index.6da26b86.css","assets/@fontsource.f66d05e7.css","assets/vue.804e2479.js","assets/amator.1e5a40c8.js","assets/bezier-easing.a990b400.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/lz-string.dccec454.js","assets/vue-next-select.f5f69b1a.js","assets/vue-next-select.9e6f4164.css","assets/vuedraggable.ce650350.js","assets/sortablejs.a0f68e5e.js","assets/vue-textarea-autosize.35804eaf.js","assets/vue-panzoom.89be130f.js","assets/panzoom.30c56ba6.js","assets/wheel.f2ae740f.js","assets/ngraph.events.083734c6.js","assets/vue-toastification.5231d1bd.js","assets/vue-toastification.4b5f8ac8.css"])).hasWon,c(f,t=>{t&&u.emit("gameWon")}),p.unthrottled?requestAnimationFrame(a):n=setInterval(a,50)}export{A as startGameLoop}; diff --git a/assets/index.23e23bb0.js b/assets/index.23e23bb0.js new file mode 100644 index 0000000..63a636b --- /dev/null +++ b/assets/index.23e23bb0.js @@ -0,0 +1,18 @@ +/* empty css */import"./vue.804e2479.js";import{_ as M,C as a,l as fe,q as dt,t as F,b2 as Ee,ab as W,aD as dn,w as Me,b3 as Pe,a9 as y,O as Q,az as At,as as et,aF as _,a1 as k,aL as Re,a2 as m,aH as xt,A as de,$ as H,b7 as B,b9 as Gt,ar as Ve,bv as lt,a8 as D,bt as Un,bc as ut,T as jn,u as Ht,j as Wn,bw as tn,aM as Tt,a0 as V,aO as we,J as G,G as re,I as $e,aI as tt,aG as nt,z as Ue,bo as Gn,bs as Hn,aK as ct,bd as nn,am as Ft,H as Zn,bf as Yn}from"./@vue.6f8187b0.js";import{c as gn}from"./nanoevents.1080beb7.js";import{L as Be}from"./lz-string.dccec454.js";import{Y as Jn}from"./vue-next-select.f5f69b1a.js";import{D as Kn}from"./vuedraggable.ce650350.js";import{p as Xn}from"./vue-textarea-autosize.35804eaf.js";import{P as Qn}from"./vue-panzoom.89be130f.js";import{s as ei,u as fn}from"./vue-toastification.5231d1bd.js";import"./amator.1e5a40c8.js";import"./bezier-easing.a990b400.js";import"./sortablejs.a0f68e5e.js";import"./panzoom.30c56ba6.js";import"./wheel.f2ae740f.js";import"./ngraph.events.083734c6.js";const ti=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const l of o.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).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 i(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}};ti();const ni="modulepreload",rn={},ii="./",bt=function(t,n){return!n||n.length===0?t():Promise.all(n.map(i=>{if(i=`${ii}${i}`,i in rn)return;rn[i]=!0;const r=i.endsWith(".css"),o=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${o}`))return;const l=document.createElement("link");if(l.rel=r?"stylesheet":ni,r||(l.as="script",l.crossOrigin=""),l.href=i,document.head.appendChild(l),r)return new Promise((s,c)=>{l.addEventListener("load",s),l.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},ri="./projInfo-schema.json",ai="Planar Pioneers",oi="A game about controlling and exploiting planes!",si="planar-pioneers",li="thepaperpilot",ui="",ci="",di="0.0",gi="Initial Commit",fi=!0,mi=!1,hi=2,vi=!0,pi=null,bi="",yi=["main"],_i=3600,wi=0,Ni=!0,Ci="base64";var Y={$schema:ri,title:ai,description:oi,id:si,author:li,discordName:ui,discordLink:ci,versionNumber:di,versionTitle:gi,allowGoBack:fi,defaultShowSmall:mi,defaultDecimalsShown:hi,useHeader:vi,banner:pi,logo:bi,initialTabs:yi,maxTickLength:_i,offlineLimit:wi,enablePausing:Ni,exportEncoding:Ci};class Si{constructor(t){this.map=new Map,this.first=void 0,this.last=void 0,this.maxSize=t}get size(){return this.map.size}get(t){const n=this.map.get(t);if(n!==void 0)return n!==this.first&&(n===this.last?(this.last=n.prev,this.last.next=void 0):(n.prev.next=n.next,n.next.prev=n.prev),n.next=this.first,this.first.prev=n,this.first=n),n.value}set(t,n){if(this.maxSize<1)return;if(this.map.has(t))throw new Error("Cannot update existing keys in the cache");const i=new ki(t,n);for(this.first===void 0?(this.first=i,this.last=i):(i.next=this.first,this.first.prev=i,this.first=i),this.map.set(t,i);this.map.size>this.maxSize;){const r=this.last;this.map.delete(r.key),this.last=r.prev,this.last.next=void 0}}}class ki{constructor(t,n){this.next=void 0,this.prev=void 0,this.key=t,this.value=n}}const Ut=17,Ii=9e15,xi=Math.log10(9e15),Mi=1/9e15,Ei=308,$i=-324,an=5,Ti=(1<<10)-1,Fi=function(){const e=[];for(let n=$i+1;n<=Ei;n++)e.push(Number("1e"+n));const t=323;return function(n){return e[n+t]}}(),Ge=[2,Math.E,3,4,5,6,7,8,9,10],Pi=[[1,1.0891180521811203,1.1789767925673957,1.2701455431742086,1.3632090180450092,1.4587818160364217,1.5575237916251419,1.6601571006859253,1.767485818836978,1.8804192098842727,2],[1,1.1121114330934079,1.231038924931609,1.3583836963111375,1.4960519303993531,1.6463542337511945,1.8121385357018724,1.996971324618307,2.2053895545527546,2.4432574483385254,Math.E],[1,1.1187738849693603,1.2464963939368214,1.38527004705667,1.5376664685821402,1.7068895236551784,1.897001227148399,2.1132403089001035,2.362480153784171,2.6539010333870774,3],[1,1.1367350847096405,1.2889510672956703,1.4606478703324786,1.6570295196661111,1.8850062585672889,2.1539465047453485,2.476829779693097,2.872061932789197,3.3664204535587183,4],[1,1.1494592900767588,1.319708228183931,1.5166291280087583,1.748171114438024,2.0253263297298045,2.3636668498288547,2.7858359149579424,3.3257226212448145,4.035730287722532,5],[1,1.159225940787673,1.343712473580932,1.5611293155111927,1.8221199554561318,2.14183924486326,2.542468319282638,3.0574682501653316,3.7390572020926873,4.6719550537360774,6],[1,1.1670905356972596,1.3632807444991446,1.5979222279405536,1.8842640123816674,2.2416069644878687,2.69893426559423,3.3012632110403577,4.121250340630164,5.281493033448316,7],[1,1.1736630594087796,1.379783782386201,1.6292821855668218,1.9378971836180754,2.3289975651071977,2.8384347394720835,3.5232708454565906,4.478242031114584,5.868592169644505,8],[1,1.1793017514670474,1.394054150657457,1.65664127441059,1.985170999970283,2.4069682290577457,2.9647310119960752,3.7278665320924946,4.814462547283592,6.436522247411611,9],[1,1.1840100246247336,1.4061375836156955,1.6802272208863964,2.026757028388619,2.4770056063449646,3.080525271755482,3.9191964192627284,5.135152840833187,6.989961179534715,10]],Vi=[[-1,-.9194161097107025,-.8335625019330468,-.7425599821143978,-.6466611521029437,-.5462617907227869,-.4419033816638769,-.3342645487554494,-.224140440909962,-.11241087890006762,0],[-1,-.90603157029014,-.80786507256596,-.7064666939634,-.60294836853664,-.49849837513117,-.39430303318768,-.29147201034755,-.19097820800866,-.09361896280296,0],[-1,-.9021579584316141,-.8005762598234203,-.6964780623319391,-.5911906810998454,-.486050182576545,-.3823089430815083,-.28106046722897615,-.1831906535795894,-.08935809204418144,0],[-1,-.8917227442365535,-.781258746326964,-.6705130326902455,-.5612813129406509,-.4551067709033134,-.35319256652135966,-.2563741554088552,-.1651412821106526,-.0796919581982668,0],[-1,-.8843387974366064,-.7678744063886243,-.6529563724510552,-.5415870994657841,-.4352842206588936,-.33504449124791424,-.24138853420685147,-.15445285440944467,-.07409659641336663,0],[-1,-.8786709358426346,-.7577735191184886,-.6399546189952064,-.527284921869926,-.4211627631006314,-.3223479611761232,-.23107655627789858,-.1472057700818259,-.07035171210706326,0],[-1,-.8740862815291583,-.7497032990976209,-.6297119746181752,-.5161838335958787,-.41036238255751956,-.31277212146489963,-.2233976621705518,-.1418697367979619,-.06762117662323441,0],[-1,-.8702632331800649,-.7430366914122081,-.6213373075161548,-.5072025698095242,-.40171437727184167,-.30517930701410456,-.21736343968190863,-.137710238299109,-.06550774483471955,0],[-1,-.8670016295947213,-.7373984232432306,-.6143173985094293,-.49973884395492807,-.394584953527678,-.2989649949848695,-.21245647317021688,-.13434688362382652,-.0638072667348083,0],[-1,-.8641642839543857,-.732534623168535,-.6083127477059322,-.4934049257184696,-.3885773075899922,-.29376029055315767,-.2083678561173622,-.13155653399373268,-.062401588652553186,0]];let h=function(t){return u.fromValue_noAlloc(t)},q=function(e,t,n){return u.fromComponents(e,t,n)},j=function(t,n,i){return u.fromComponents_noNormalize(t,n,i)};const Ae=function(t,n){const i=n+1,r=Math.ceil(Math.log10(Math.abs(t))),o=Math.round(t*Math.pow(10,i-r))*Math.pow(10,r-i);return parseFloat(o.toFixed(Math.max(i-r,0)))},jt=function(e){return Math.sign(e)*Math.log10(Math.abs(e))},Di=function(e){if(!isFinite(e))return e;if(e<-50)return e===Math.trunc(e)?Number.NEGATIVE_INFINITY:0;let t=1;for(;e<10;)t=t*e,++e;e-=1;let n=.9189385332046727;n=n+(e+.5)*Math.log(e),n=n-e;const i=e*e;let r=e;return n=n+1/(12*r),r=r*i,n=n+1/(360*r),r=r*i,n=n+1/(1260*r),r=r*i,n=n+1/(1680*r),r=r*i,n=n+1/(1188*r),r=r*i,n=n+691/(360360*r),r=r*i,n=n+7/(1092*r),r=r*i,n=n+3617/(122400*r),Math.exp(n)/t},mn=.5671432904097838,on=function(e,t=1e-10){let n,i;if(!Number.isFinite(e)||e===0)return e;if(e===1)return mn;e<10?n=0:n=Math.log(e)-Math.log(Math.log(e));for(let r=0;r<100;++r){if(i=(e*Math.exp(-n)+n*n)/(n+1),Math.abs(i-n).5?1:-1;if(Math.random()*20<1)return j(t,0,1);const n=Math.floor(Math.random()*(e+1));let i=n===0?Math.random()*616-308:Math.random()*16;Math.random()>.9&&(i=Math.trunc(i));let r=Math.pow(10,i);return Math.random()>.9&&(r=Math.trunc(r)),q(t,n,r)}static affordGeometricSeries_core(e,t,n,i){const r=t.mul(n.pow(i));return g.floor(e.div(r).mul(n.sub(1)).add(1).log10().div(n.log10()))}static sumGeometricSeries_core(e,t,n,i){return t.mul(n.pow(i)).mul(g.sub(1,n.pow(e))).div(g.sub(1,n))}static affordArithmeticSeries_core(e,t,n,i){const o=t.add(i.mul(n)).sub(n.div(2)),l=o.pow(2);return o.neg().add(l.add(n.mul(e).mul(2)).sqrt()).div(n).floor()}static sumArithmeticSeries_core(e,t,n,i){const r=t.add(i.mul(n));return e.div(2).mul(r.mul(2).plus(e.sub(1).mul(n)))}static efficiencyOfPurchase_core(e,t,n){return e.div(t).add(e.div(n))}normalize(){if(this.sign===0||this.mag===0&&this.layer===0)return this.sign=0,this.mag=0,this.layer=0,this;if(this.layer===0&&this.mag<0&&(this.mag=-this.mag,this.sign=-this.sign),this.layer===0&&this.mag=Ii)return this.layer+=1,this.mag=t*Math.log10(e),this;for(;e0;)this.layer-=1,this.layer===0?this.mag=Math.pow(10,this.mag):(this.mag=t*Math.pow(10,e),e=Math.abs(this.mag),t=Math.sign(this.mag));return this.layer===0&&(this.mag<0?(this.mag=-this.mag,this.sign=-this.sign):this.mag===0&&(this.sign=0)),this}fromComponents(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this.normalize(),this}fromComponents_noNormalize(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this}fromMantissaExponent(e,t){return this.layer=1,this.sign=Math.sign(e),e=Math.abs(e),this.mag=t+Math.log10(e),this.normalize(),this}fromMantissaExponent_noNormalize(e,t){return this.fromMantissaExponent(e,t),this}fromDecimal(e){return this.sign=e.sign,this.layer=e.layer,this.mag=e.mag,this}fromNumber(e){return this.mag=Math.abs(e),this.sign=Math.sign(e),this.layer=0,this.normalize(),this}fromString(e){const t=e,n=g.fromStringCache.get(t);if(n!==void 0)return this.fromDecimal(n);e=e.replace(",","");const i=e.split("^^^");if(i.length===2){const p=parseFloat(i[0]),C=parseFloat(i[1]),E=i[1].split(";");let O=1;if(E.length===2&&(O=parseFloat(E[1]),isFinite(O)||(O=1)),isFinite(p)&&isFinite(C)){const S=g.pentate(p,C,O);return this.sign=S.sign,this.layer=S.layer,this.mag=S.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}const r=e.split("^^");if(r.length===2){const p=parseFloat(r[0]),C=parseFloat(r[1]),E=r[1].split(";");let O=1;if(E.length===2&&(O=parseFloat(E[1]),isFinite(O)||(O=1)),isFinite(p)&&isFinite(C)){const S=g.tetrate(p,C,O);return this.sign=S.sign,this.layer=S.layer,this.mag=S.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}const o=e.split("^");if(o.length===2){const p=parseFloat(o[0]),C=parseFloat(o[1]);if(isFinite(p)&&isFinite(C)){const E=g.pow(p,C);return this.sign=E.sign,this.layer=E.layer,this.mag=E.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}e=e.trim().toLowerCase();let l,s,c=e.split("pt");if(c.length===2){l=10,s=parseFloat(c[0]),c[1]=c[1].replace("(",""),c[1]=c[1].replace(")","");let p=parseFloat(c[1]);if(isFinite(p)||(p=1),isFinite(l)&&isFinite(s)){const C=g.tetrate(l,s,p);return this.sign=C.sign,this.layer=C.layer,this.mag=C.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}if(c=e.split("p"),c.length===2){l=10,s=parseFloat(c[0]),c[1]=c[1].replace("(",""),c[1]=c[1].replace(")","");let p=parseFloat(c[1]);if(isFinite(p)||(p=1),isFinite(l)&&isFinite(s)){const C=g.tetrate(l,s,p);return this.sign=C.sign,this.layer=C.layer,this.mag=C.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}const f=e.split("e"),v=f.length-1;if(v===0){const p=parseFloat(e);if(isFinite(p))return this.fromNumber(p),g.fromStringCache.size>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}else if(v===1){const p=parseFloat(e);if(isFinite(p)&&p!==0)return this.fromNumber(p),g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}const b=e.split("e^");if(b.length===2){this.sign=1,b[0].charAt(0)=="-"&&(this.sign=-1);let p="";for(let C=0;C=43&&E<=57||E===101)p+=b[1].charAt(C);else return this.layer=parseFloat(p),this.mag=parseFloat(b[1].substr(C+1)),this.normalize(),g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}if(v<1)return this.sign=0,this.layer=0,this.mag=0,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this;const N=parseFloat(f[0]);if(N===0)return this.sign=0,this.layer=0,this.mag=0,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this;let w=parseFloat(f[f.length-1]);if(v>=2){const p=parseFloat(f[f.length-2]);isFinite(p)&&(w*=Math.sign(p),w+=jt(p))}if(!isFinite(N))this.sign=f[0]==="-"?-1:1,this.layer=v,this.mag=w;else if(v===1)this.sign=Math.sign(N),this.layer=1,this.mag=w+Math.log10(Math.abs(N));else if(this.sign=Math.sign(N),this.layer=v,v===2){const p=g.mul(q(1,2,w),h(N));return this.sign=p.sign,this.layer=p.layer,this.mag=p.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}else this.mag=w;return this.normalize(),g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}fromValue(e){return e instanceof g?this.fromDecimal(e):typeof e=="number"?this.fromNumber(e):typeof e=="string"?this.fromString(e):(this.sign=0,this.layer=0,this.mag=0,this)}toNumber(){return Number.isFinite(this.layer)?this.layer===0?this.sign*this.mag:this.layer===1?this.sign*Math.pow(10,this.mag):this.mag>0?this.sign>0?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:0:Number.NaN}mantissaWithDecimalPlaces(e){return isNaN(this.m)?Number.NaN:this.m===0?0:Ae(this.m,e)}magnitudeWithDecimalPlaces(e){return isNaN(this.mag)?Number.NaN:this.mag===0?0:Ae(this.mag,e)}toString(){return isNaN(this.layer)||isNaN(this.sign)||isNaN(this.mag)?"NaN":this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY?this.sign===1?"Infinity":"-Infinity":this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toString():this.m+"e"+this.e:this.layer===1?this.m+"e"+this.e:this.layer<=an?(this.sign===-1?"-":"")+"e".repeat(this.layer)+this.mag:(this.sign===-1?"-":"")+"(e^"+this.layer+")"+this.mag}toExponential(e){return this.layer===0?(this.sign*this.mag).toExponential(e):this.toStringWithDecimalPlaces(e)}toFixed(e){return this.layer===0?(this.sign*this.mag).toFixed(e):this.toStringWithDecimalPlaces(e)}toPrecision(e){return this.e<=-7?this.toExponential(e-1):e>this.e?this.toFixed(e-this.exponent-1):this.toExponential(e-1)}valueOf(){return this.toString()}toJSON(){return this.toString()}toStringWithDecimalPlaces(e){return this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toFixed(e):Ae(this.m,e)+"e"+Ae(this.e,e):this.layer===1?Ae(this.m,e)+"e"+Ae(this.e,e):this.layer<=an?(this.sign===-1?"-":"")+"e".repeat(this.layer)+Ae(this.mag,e):(this.sign===-1?"-":"")+"(e^"+this.layer+")"+Ae(this.mag,e)}abs(){return j(this.sign===0?0:1,this.layer,this.mag)}neg(){return j(-this.sign,this.layer,this.mag)}negate(){return this.neg()}negated(){return this.neg()}sgn(){return this.sign}round(){return this.mag<0?g.dZero:this.layer===0?q(this.sign,0,Math.round(this.mag)):this}floor(){return this.mag<0?g.dZero:this.layer===0?q(this.sign,0,Math.floor(this.mag)):this}ceil(){return this.mag<0?g.dZero:this.layer===0?q(this.sign,0,Math.ceil(this.mag)):this}trunc(){return this.mag<0?g.dZero:this.layer===0?q(this.sign,0,Math.trunc(this.mag)):this}add(e){const t=h(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer)||this.sign===0)return t;if(t.sign===0)return this;if(this.sign===-t.sign&&this.layer===t.layer&&this.mag===t.mag)return j(0,0,0);let n,i;if(this.layer>=2||t.layer>=2)return this.maxabs(t);if(g.cmpabs(this,t)>0?(n=this,i=t):(n=t,i=this),n.layer===0&&i.layer===0)return g.fromNumber(n.sign*n.mag+i.sign*i.mag);const r=n.layer*Math.sign(n.mag),o=i.layer*Math.sign(i.mag);if(r-o>=2)return n;if(r===0&&o===-1){if(Math.abs(i.mag-Math.log10(n.mag))>Ut)return n;{const l=Math.pow(10,Math.log10(n.mag)-i.mag),s=i.sign+n.sign*l;return q(Math.sign(s),1,i.mag+Math.log10(Math.abs(s)))}}if(r===1&&o===0){if(Math.abs(n.mag-Math.log10(i.mag))>Ut)return n;{const l=Math.pow(10,n.mag-Math.log10(i.mag)),s=i.sign+n.sign*l;return q(Math.sign(s),1,Math.log10(i.mag)+Math.log10(Math.abs(s)))}}if(Math.abs(n.mag-i.mag)>Ut)return n;{const l=Math.pow(10,n.mag-i.mag),s=i.sign+n.sign*l;return q(Math.sign(s),1,i.mag+Math.log10(Math.abs(s)))}}plus(e){return this.add(e)}sub(e){return this.add(h(e).neg())}subtract(e){return this.sub(e)}minus(e){return this.sub(e)}mul(e){const t=h(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer))return t;if(this.sign===0||t.sign===0)return j(0,0,0);if(this.layer===t.layer&&this.mag===-t.mag)return j(this.sign*t.sign,0,1);let n,i;if(this.layer>t.layer||this.layer==t.layer&&Math.abs(this.mag)>Math.abs(t.mag)?(n=this,i=t):(n=t,i=this),n.layer===0&&i.layer===0)return g.fromNumber(n.sign*i.sign*n.mag*i.mag);if(n.layer>=3||n.layer-i.layer>=2)return q(n.sign*i.sign,n.layer,n.mag);if(n.layer===1&&i.layer===0)return q(n.sign*i.sign,1,n.mag+Math.log10(i.mag));if(n.layer===1&&i.layer===1)return q(n.sign*i.sign,1,n.mag+i.mag);if(n.layer===2&&i.layer===1){const r=q(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(q(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return q(n.sign*i.sign,r.layer+1,r.sign*r.mag)}if(n.layer===2&&i.layer===2){const r=q(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(q(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return q(n.sign*i.sign,r.layer+1,r.sign*r.mag)}throw Error("Bad arguments to mul: "+this+", "+e)}multiply(e){return this.mul(e)}times(e){return this.mul(e)}div(e){const t=h(e);return this.mul(t.recip())}divide(e){return this.div(e)}divideBy(e){return this.div(e)}dividedBy(e){return this.div(e)}recip(){return this.mag===0?g.dNaN:this.layer===0?q(this.sign,0,1/this.mag):q(this.sign,this.layer,-this.mag)}reciprocal(){return this.recip()}reciprocate(){return this.recip()}cmp(e){const t=h(e);return this.sign>t.sign?1:this.sign0?this.layer:-this.layer,i=t.mag>0?t.layer:-t.layer;return n>i?1:nt.mag?1:this.mag0?t:this}clamp(e,t){return this.max(e).min(t)}clampMin(e){return this.max(e)}clampMax(e){return this.min(e)}cmp_tolerance(e,t){const n=h(e);return this.eq_tolerance(n,t)?0:this.cmp(n)}compare_tolerance(e,t){return this.cmp_tolerance(e,t)}eq_tolerance(e,t){const n=h(e);if(t==null&&(t=1e-7),this.sign!==n.sign||Math.abs(this.layer-n.layer)>1)return!1;let i=this.mag,r=n.mag;return this.layer>n.layer&&(r=jt(r)),this.layer0?q(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):q(1,0,Math.log10(this.mag))}log10(){return this.sign<=0?g.dNaN:this.layer>0?q(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):q(this.sign,0,Math.log10(this.mag))}log(e){return e=h(e),this.sign<=0||e.sign<=0||e.sign===1&&e.layer===0&&e.mag===1?g.dNaN:this.layer===0&&e.layer===0?q(this.sign,0,Math.log(this.mag)/Math.log(e.mag)):g.div(this.log10(),e.log10())}log2(){return this.sign<=0?g.dNaN:this.layer===0?q(this.sign,0,Math.log2(this.mag)):this.layer===1?q(Math.sign(this.mag),0,Math.abs(this.mag)*3.321928094887362):this.layer===2?q(Math.sign(this.mag),1,Math.abs(this.mag)+.5213902276543247):q(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}ln(){return this.sign<=0?g.dNaN:this.layer===0?q(this.sign,0,Math.log(this.mag)):this.layer===1?q(Math.sign(this.mag),0,Math.abs(this.mag)*2.302585092994046):this.layer===2?q(Math.sign(this.mag),1,Math.abs(this.mag)+.36221568869946325):q(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}logarithm(e){return this.log(e)}pow(e){const t=h(e),n=this,i=t;if(n.sign===0)return i.eq(0)?j(1,0,1):n;if(n.sign===1&&n.layer===0&&n.mag===1)return n;if(i.sign===0)return j(1,0,1);if(i.sign===1&&i.layer===0&&i.mag===1)return n;const r=n.absLog10().mul(i).pow10();return this.sign===-1?Math.abs(i.toNumber()%2)%2===1?r.neg():Math.abs(i.toNumber()%2)%2===0?r:g.dNaN:r}pow10(){if(!Number.isFinite(this.layer)||!Number.isFinite(this.mag))return g.dNaN;let e=this;if(e.layer===0){const t=Math.pow(10,e.sign*e.mag);if(Number.isFinite(t)&&Math.abs(t)>=.1)return q(1,0,t);if(e.sign===0)return g.dOne;e=j(e.sign,e.layer+1,Math.log10(e.mag))}return e.sign>0&&e.mag>=0?q(e.sign,e.layer+1,e.mag):e.sign<0&&e.mag>=0?q(-e.sign,e.layer+1,-e.mag):g.dOne}pow_base(e){return h(e).pow(this)}root(e){const t=h(e);return this.pow(t.recip())}factorial(){return this.mag<0?this.add(1).gamma():this.layer===0?this.add(1).gamma():this.layer===1?g.exp(g.mul(this,g.ln(this).sub(1))):g.exp(this)}gamma(){if(this.mag<0)return this.recip();if(this.layer===0){if(this.lt(j(1,0,24)))return g.fromNumber(Di(this.sign*this.mag));const e=this.mag-1;let t=.9189385332046727;t=t+(e+.5)*Math.log(e),t=t-e;const n=e*e;let i=e,r=12*i,o=1/r,l=t+o;if(l===t||(t=l,i=i*n,r=360*i,o=1/r,l=t-o,l===t))return g.exp(t);t=l,i=i*n,r=1260*i;let s=1/r;return t=t+s,i=i*n,r=1680*i,s=1/r,t=t-s,g.exp(t)}else return this.layer===1?g.exp(g.mul(this,g.ln(this).sub(1))):g.exp(this)}lngamma(){return this.gamma().ln()}exp(){return this.mag<0?g.dOne:this.layer===0&&this.mag<=709.7?g.fromNumber(Math.exp(this.sign*this.mag)):this.layer===0?q(1,1,this.sign*Math.log10(Math.E)*this.mag):this.layer===1?q(1,2,this.sign*(Math.log10(.4342944819032518)+this.mag)):q(1,this.layer+1,this.sign*this.mag)}sqr(){return this.pow(2)}sqrt(){if(this.layer===0)return g.fromNumber(Math.sqrt(this.sign*this.mag));if(this.layer===1)return q(1,2,Math.log10(this.mag)-.3010299956639812);{const e=g.div(j(this.sign,this.layer-1,this.mag),j(1,0,2));return e.layer+=1,e.normalize(),e}}cube(){return this.pow(3)}cbrt(){return this.pow(1/3)}tetrate(e=2,t=j(1,0,1)){if(e===1)return g.pow(this,t);if(e===0)return new g(t);if(this.eq(g.dOne))return g.dOne;if(this.eq(-1))return g.pow(this,t);if(e===Number.POSITIVE_INFINITY){const r=this.toNumber();if(r<=1.444667861009766&&r>=.06598803584531254){if(r>1.444667861009099)return g.fromNumber(Math.E);const o=g.ln(this).neg();return o.lambertw().div(o)}else return r>1.444667861009766?g.fromNumber(Number.POSITIVE_INFINITY):g.dNaN}if(this.eq(g.dZero)){let r=Math.abs((e+1)%2);return r>1&&(r=2-r),g.fromNumber(r)}if(e<0)return g.iteratedlog(t,this,-e);t=h(t);const n=e;e=Math.trunc(e);const i=n-e;if(this.gt(g.dZero)&&this.lte(1.444667861009766)){e=Math.min(1e4,e);for(let r=0;r3)return j(t.sign,t.layer+(e-r-1),t.mag);if(r>1e4)return t}return t}iteratedexp(e=2,t=j(1,0,1)){return this.tetrate(e,t)}iteratedlog(e=10,t=1){if(t<0)return g.tetrate(e,-t,this);e=h(e);let n=g.fromDecimal(this);const i=t;t=Math.trunc(t);const r=i-t;if(n.layer-e.layer>3){const o=Math.min(t,n.layer-e.layer-3);t-=o,n.layer-=o}for(let o=0;o1e4)return n}return r>0&&r<1&&(e.eq(10)?n=n.layeradd10(-r):n=n.layeradd(-r,e)),n}slog(e=10,t=100){let n=.001,i=!1,r=!1,o=this.slog_internal(e).toNumber();for(let l=1;l1&&r!=c&&(i=!0),r=c,i?n/=2:n*=2,n=Math.abs(n)*(c?-1:1),o+=n,n===0)break}return g.fromNumber(o)}slog_internal(e=10){if(e=h(e),e.lte(g.dZero)||e.eq(g.dOne))return g.dNaN;if(e.lt(g.dOne))return this.eq(g.dOne)?g.dZero:this.eq(g.dZero)?g.dNegOne:g.dNaN;if(this.mag<0||this.eq(g.dZero))return g.dNegOne;let t=0,n=g.fromDecimal(this);if(n.layer-e.layer>3){const i=n.layer-e.layer-3;t+=i,n.layer-=i}for(let i=0;i<100;++i)if(n.lt(g.dZero))n=g.pow(e,n),t-=1;else{if(n.lte(g.dOne))return g.fromNumber(t+g.slog_critical(e.toNumber(),n.toNumber()));t+=1,n=g.log(n,e)}return g.fromNumber(t)}static slog_critical(e,t){return e>10?t-1:g.critical_section(e,t,Vi)}static tetrate_critical(e,t){return g.critical_section(e,t,Pi)}static critical_section(e,t,n){t*=10,t<0&&(t=0),t>10&&(t=10),e<2&&(e=2),e>10&&(e=10);let i=0,r=0;for(let l=0;le){const s=(e-Ge[l])/(Ge[l+1]-Ge[l]);i=n[l][Math.floor(t)]*(1-s)+n[l+1][Math.floor(t)]*s,r=n[l][Math.ceil(t)]*(1-s)+n[l+1][Math.ceil(t)]*s;break}const o=t-Math.floor(t);return i<=0||r<=0?i*(1-o)+r*o:Math.pow(e,Math.log(i)/Math.log(e)*(1-o)+Math.log(r)/Math.log(e)*o)}layeradd10(e){e=g.fromValue_noAlloc(e).toNumber();const t=g.fromDecimal(this);if(e>=1){t.mag<0&&t.layer>0?(t.sign=0,t.mag=0,t.layer=0):t.sign===-1&&t.layer==0&&(t.sign=1,t.mag=-t.mag);const n=Math.trunc(e);e-=n,t.layer+=n}if(e<=-1){const n=Math.trunc(e);if(e-=n,t.layer+=n,t.layer<0)for(let i=0;i<100;++i){if(t.layer++,t.mag=Math.log10(t.mag),!isFinite(t.mag))return t.sign===0&&(t.sign=1),t.layer<0&&(t.layer=0),t.normalize();if(t.layer>=0)break}}for(;t.layer<0;)t.layer++,t.mag=Math.log10(t.mag);return t.sign===0&&(t.sign=1,t.mag===0&&t.layer>=1&&(t.layer-=1,t.mag=1)),t.normalize(),e!==0?t.layeradd(e,10):t}layeradd(e,t){const i=this.slog(t).toNumber()+e;return i>=0?g.tetrate(t,i):Number.isFinite(i)?i>=-1?g.log(g.tetrate(t,i+1),t):g.log(g.log(g.tetrate(t,i+2),t),t):g.dNaN}lambertw(){if(this.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");if(this.mag<0)return g.fromNumber(on(this.toNumber()));if(this.layer===0)return g.fromNumber(on(this.sign*this.mag));if(this.layer===1)return sn(this);if(this.layer===2)return sn(this);if(this.layer>=3)return j(this.sign,this.layer-1,this.mag);throw new Error("Unhandled behavior in lambertw()")}ssqrt(){if(this.sign==1&&this.layer>=3)return j(this.sign,this.layer-1,this.mag);const e=this.ln();return e.div(e.lambertw())}pentate(e=2,t=j(1,0,1)){t=h(t);const n=e;e=Math.trunc(e);const i=n-e;i!==0&&(t.eq(g.dOne)?(++e,t=g.fromNumber(i)):this.eq(10)?t=t.layeradd10(i):t=t.layeradd(i,this));for(let r=0;r10)return t}return t}sin(){return this.mag<0?this:this.layer===0?g.fromNumber(Math.sin(this.sign*this.mag)):j(0,0,0)}cos(){return this.mag<0?g.dOne:this.layer===0?g.fromNumber(Math.cos(this.sign*this.mag)):j(0,0,0)}tan(){return this.mag<0?this:this.layer===0?g.fromNumber(Math.tan(this.sign*this.mag)):j(0,0,0)}asin(){return this.mag<0?this:this.layer===0?g.fromNumber(Math.asin(this.sign*this.mag)):j(Number.NaN,Number.NaN,Number.NaN)}acos(){return this.mag<0?g.fromNumber(Math.acos(this.toNumber())):this.layer===0?g.fromNumber(Math.acos(this.sign*this.mag)):j(Number.NaN,Number.NaN,Number.NaN)}atan(){return this.mag<0?this:this.layer===0?g.fromNumber(Math.atan(this.sign*this.mag)):g.fromNumber(Math.atan(this.sign*(1/0)))}sinh(){return this.exp().sub(this.negate().exp()).div(2)}cosh(){return this.exp().add(this.negate().exp()).div(2)}tanh(){return this.sinh().div(this.cosh())}asinh(){return g.ln(this.add(this.sqr().add(1).sqrt()))}acosh(){return g.ln(this.add(this.sqr().sub(1).sqrt()))}atanh(){return this.abs().gte(1)?j(Number.NaN,Number.NaN,Number.NaN):g.ln(this.add(1).div(g.fromNumber(1).sub(this))).div(2)}ascensionPenalty(e){return e===0?this:this.root(g.pow(10,e))}egg(){return this.add(9)}lessThanOrEqualTo(e){return this.cmp(e)<1}lessThan(e){return this.cmp(e)<0}greaterThanOrEqualTo(e){return this.cmp(e)>-1}greaterThan(e){return this.cmp(e)>0}};let u=g;u.fromStringCache=new Si(Ti);u.dZero=j(0,0,0);u.dOne=j(1,0,1);u.dNegOne=j(-1,0,1);u.dTwo=j(1,0,2);u.dTen=j(1,0,10);u.dNaN=j(Number.NaN,Number.NaN,Number.NaN);u.dInf=j(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);u.dNegInf=j(-1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);u.dNumberMax=q(1,0,Number.MAX_VALUE);u.dNumberMin=q(1,0,Number.MIN_VALUE);h=u.fromValue_noAlloc;q=u.fromComponents;j=u.fromComponents_noNormalize;u.fromMantissaExponent;u.fromMantissaExponent_noNormalize;const Oi=new u(1);function ht(e,t,n=!0){let i=u.log10(e).floor(),r=u.div(e,u.pow(10,i));r.toStringWithDecimalPlaces(t)==="10"&&(r=Oi,i=i.add(1));const o=i.gte(1e9)?Ie(i,Math.max(Math.max(t,3),Y.defaultDecimalsShown)):i.gte(1e4)?Pt(i,0):i.toStringWithDecimalPlaces(0);return n?r.toStringWithDecimalPlaces(t)+"e"+o:"e"+o}function Pt(e,t){if(e==null)return"NaN";if(e=new u(e),e.mag<.001)return 0 .toFixed(t);const i=e.toStringWithDecimalPlaces(t).split(".");return i[0]=i[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),i.length==1?i[0]:i[0]+"."+i[1]}function hn(e,t){return e==null?"NaN":(e=new u(e),e.mag<1e-4?0 .toFixed(t):(e.mag<.1&&t!==0&&(t=Math.max(Math.max(t,e.log10().negate().ceil().toNumber()),Y.defaultDecimalsShown)),e.toStringWithDecimalPlaces(t)))}const Ai=new u("eeee1000"),Li=new u("e100000"),ln=new u("e1000"),vn=new u(1e9),Bi=new u(1e6),qi=new u(1e3),Ri=new u(.98),zi=new u(.001),pn=new u(0);function Ie(e,t,n){if(t==null&&(t=Y.defaultDecimalsShown),n=n!=null?n:Y.defaultShowSmall,e=new u(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag))return"NaN";if(e.sign<0)return"-"+Ie(e.neg(),t);if(e.mag===Number.POSITIVE_INFINITY)return"Infinity";if(e.gte(Ai)){const i=e.slog();return i.gte(Bi)?"F"+Ie(i.floor()):u.pow(10,i.sub(i.floor())).toStringWithDecimalPlaces(3)+"F"+Pt(i.floor(),0)}else{if(e.gte(Li))return ht(e,0,!1);if(e.gte(ln))return ht(e,0);if(e.gte(vn))return ht(e,t);if(e.gte(qi))return Pt(e,0);if(e.gte(zi)||!n)return hn(e,t);if(e.eq(pn))return 0 .toFixed(t)}return e=yn(e),e.lt(ln)?ht(e,t).replace(/([^(?:e|F)]*)$/,"-$1"):Ie(e,t)+"\u207B\xB9"}function Se(e){return e=new u(e),e.sign<0?"-"+Se(e.neg()):e.gte(vn)||e.lte(Ri)&&!e.eq(pn)?Ie(e):Ie(e,0)}function bn(e){return u.lt(e,0)?"-"+bn(u.neg(e)):u.gt(e,2**51)?Ie(u.div(e,31536e3))+"y":(e=new u(e).toNumber(),e<60?Ie(e)+"s":e<3600?Se(Math.floor(e/60))+"m "+Ie(e%60)+"s":e<86400?Se(Math.floor(e/3600))+"h "+Se(Math.floor(e/60)%60)+"m "+Se(e%60)+"s":e<31536e3?Se(Math.floor(e/84600)%365)+"d "+Se(Math.floor(e/3600)%24)+"h "+Se(Math.floor(e/60)%60)+"m":Se(Math.floor(e/31536e3))+"y "+Se(Math.floor(e/84600)%365)+"d "+Se(Math.floor(e/3600)%24)+"h")}function Ui(e,t,n){e=new u(e);let i=e.toStringWithDecimalPlaces(t);return new u(i).gte(n)&&(i=u.sub(n,Math.pow(.1,t)).toStringWithDecimalPlaces(t)),i}function ji(e,t){return Ie(e,t,!0)}function yn(e){let t=u.log10(e).ceil();const n=u.div(e,u.pow(10,t));return t=t.neg(),e=new u(10).pow(t).times(n),e}var Wi=Object.freeze(Object.defineProperty({__proto__:null,default:u,exponentialFormat:ht,commaFormat:Pt,regularFormat:hn,format:Ie,formatWhole:Se,formatTime:bn,toPlaces:Ui,formatSmall:ji,invertOOM:yn},Symbol.toStringTag,{value:"Module"}));const{exponentialFormat:Gi,commaFormat:Hi,regularFormat:Zi,format:Lt,formatWhole:rt,formatTime:Zt,toPlaces:Yi,formatSmall:at,invertOOM:Ji}=Wi;window.Decimal=u;window.exponentialFormat=Gi;window.commaFormat=Hi;window.regularFormat=Zi;window.format=Lt;window.formatWhole=rt;window.formatTime=Zt;window.toPlaces=Yi;window.formatSmall=at;window.invertOOM=Ji;function Et(e){let t=e.replace(/([A-Z])/g," $1");return t=t.charAt(0).toUpperCase()+t.slice(1),t}function Vt(e){return typeof e=="function"}var oe=(e=>(e.Up="Up",e.Down="Down",e.Left="Left",e.Right="Right",e.Default="Up",e))(oe||{});const yt=Symbol("DoNotCache");function L(e,t){const n=e[t];Vt(n)&&n.length===0&&!n[yt]?e[t]=M(n.bind(e)):Vt(n)&&(e[t]=n.bind(e),e[t][yt]=!0)}function ke(e){return Vt(e)&&!e[yt]&&(e=M(e)),e}const _t=Symbol("Component"),Bt=Symbol("GatherProps");let Ki=0;function _n(e="feature-"){return e+Ki++}var De=(e=>(e[e.Visible=0]="Visible",e[e.Hidden=1]="Hidden",e[e.None=2]="None",e))(De||{});function je(e){const t=a(e);return t!==2&&t!==!1}function qt(e){return a(e)===1}function ie(e){return e[yt]=!0,e}function le(e,t,n){e[t]===void 0&&n!=null&&(e[t]=n)}function Xi(e,...t){const n=[],i=r=>{Object.keys(r).forEach(o=>{const l=r[o];l!=null&&typeof l=="object"&&(t.includes(l.type)?n.push(l):!(l instanceof u)&&!fe(l)&&i(l))})};return i(e),n}const He={variables:{"--foreground":"#dfdfdf","--background":"#0f0f0f","--feature-foreground":"#0f0f0f","--tooltip-background":"rgba(0, 0, 0, 0.75)","--raised-background":"#0f0f0f","--points":"#ffffff","--locked":"#bf8f8f","--highlighted":"#333","--bought":"#77bf5f","--danger":"rgb(220, 53, 69)","--link":"#02f2f2","--outline":"#dfdfdf","--accent1":"#627a82","--accent2":"#658262","--accent3":"#7c6282","--border-radius":"15px","--modal-border":"solid 2px var(--color)","--feature-margin":"0px"},floatingTabs:!0,mergeAdjacent:!0,showPin:!0};var Yt=(e=>(e.Classic="classic",e.Paper="paper",e.Nordic="nordic",e.Aqua="aqua",e))(Yt||{}),Te={classic:He,paper:{...He,variables:{...He.variables,"--background":"#2a323d","--feature-foreground":"#000","--raised-background":"#333c4a","--locked":"#3a3e45","--bought":"#5C8A58","--outline":"#333c4a","--border-radius":"4px","--modal-border":"","--feature-margin":"5px"},floatingTabs:!1},nordic:{...He,variables:{...He.variables,"--foreground":"#D8DEE9","--background":"#2E3440","--feature-foreground":"#000","--raised-background":"#3B4252","--points":"#E5E9F0","--locked":"#4c566a","--highlighted":"#434c5e","--bought":"#8FBCBB","--danger":"#D08770","--link":"#88C0D0","--outline":"#3B4252","--accent1":"#B48EAD","--accent2":"#A3BE8C","--accent3":"#EBCB8B","--border-radius":"4px","--modal-border":"solid 2px #3B4252","--feature-margin":"5px"},floatingTabs:!1},aqua:{...He,variables:{...He.variables,"--foreground":"#bfdfff","--background":"#001f3f","--tooltip-background":"rgba(0, 15, 31, 0.75)","--raised-background":"#001f3f","--points":"#dfefff","--locked":"#c4a7b3","--outline":"#bfdfff"}}};const ye=gn();"fonts"in document&&(document.fonts.onloadingdone=()=>ye.emit("fontsLoaded"));var Qi=Object.freeze(Object.defineProperty({__proto__:null,globalBus:ye},Symbol.toStringTag,{value:"Module"}));const er=dt({id:"",devSpeed:null,name:"",tabs:[],time:-1,autosave:!0,offlineProd:!0,offlineTime:null,timePlayed:0,keepGoing:!1,modID:"",modVersion:"",layers:{}});var U=window.player=er;function wn(e){return JSON.stringify(e,(t,n)=>a(n))}function Nn(e={}){return Object.assign({id:`${Y.id}-0`,name:"Default Save",tabs:Y.initialTabs.slice(),time:Date.now(),autosave:!0,offlineProd:!0,offlineTime:0,timePlayed:0,keepGoing:!1,modID:Y.id,modVersion:Y.versionNumber,layers:{}},e)}function _e(e){const t=Be.compressToUTF16(wn(e!=null?e:U));return localStorage.setItem((e!=null?e:U).id,t),t}async function tr(){rr();try{let e=localStorage.getItem(J.active);if(e==null){await Ye(ot());return}if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Be.decompressFromUTF16(e);else throw"Unable to determine save encoding";const t=JSON.parse(e);if(t.modID!==Y.id){await Ye(ot());return}t.id=J.active,await Ye(t)}catch(e){console.error(`Failed to load save. Falling back to new save. +`,e),await Ye(ot())}}function ot(){const e=$t(),t=Nn({id:e});return _e(t),J.saves.push(e),t}function $t(){let e,t=0;do e=`${Y.id}-${t++}`;while(localStorage.getItem(e)!=null);return e}const nr=F(!1);async function Ye(e){console.info("Loading save",e),nr.value=!0;const{layers:t,removeLayer:n,addLayer:i}=await bt(()=>Promise.resolve().then(function(){return Cr}),void 0),{fixOldSave:r,getInitialLayers:o}=await bt(()=>Promise.resolve().then(function(){return Ql}),void 0);for(const l in t){const s=t[l];s&&n(s)}o(e).forEach(l=>i(l,e)),e=Nn(e),e.offlineProd&&e.time!=null&&e.time&&e.devSpeed!==0&&(e.offlineTime==null&&(e.offlineTime=0),e.offlineTime+=Math.min(e.offlineTime+(Date.now()-e.time)/1e3,Y.offlineLimit*3600)),e.time=Date.now(),e.modVersion!==Y.versionNumber&&(r(e.modVersion,e),e.modVersion=Y.versionNumber),Object.assign(U,e),J.active=U.id,ye.emit("onLoad")}setInterval(()=>{U.autosave&&_e()},1e3);window.onbeforeunload=()=>{U.autosave&&_e()};window.save=_e;const ir=window.hardReset=async()=>{await Ye(ot())};window.deleteLowerSaves=()=>{const e=Object.values(J.saves).indexOf(U.id)+1;Object.values(J.saves).slice(e).forEach(t=>localStorage.removeItem(t)),J.saves=J.saves.slice(0,e)};const wt=dt({active:"",saves:[],showTPS:!0,theme:Yt.Nordic,unthrottled:!1,alignUnits:!1});Ee(wt,e=>{const t=Be.compressToUTF16(JSON.stringify(e));localStorage.setItem(Y.id,t)},{deep:!0});var J=window.settings=wt;window.hardResetSettings=()=>{const e={active:"",saves:[],showTPS:!0,theme:Yt.Nordic,alignUnits:!1};ye.emit("loadSettings",e),Object.assign(wt,e),ir()};function rr(){try{let e=localStorage.getItem(Y.id);if(e!=null&&e!==""){if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Be.decompressFromUTF16(e);else{console.warn("Unable to determine settings encoding",e);return}const t=JSON.parse(e);typeof t=="object"&&Object.assign(wt,t)}ye.emit("loadSettings",wt)}catch{}}const ar=dt([]),or=dt([]),sr=dt([]);function me(e,t="span"){return typeof e=="function"?W({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}`),W({template:e})):W({render:()=>({})}):e}function Le(e){if(Xe(e))return typeof e=="function"?e():me(e);const t=e[_t];return y(t,e[Bt](),null)}function ze(e){if(Xe(e))return typeof e=="function"?e():typeof e=="string"?y(Q,null,[e]):y(e,null,null);const t=e[_t];return y(t,e[Bt](),null)}function Xe(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[yt]===!0}function Cn(e,t){const n=F(null),i=F(void 0);function r(s){n.value||(n.value=setInterval(l,250)),i.value=s}function o(){n.value&&(clearInterval(n.value),n.value=null)}function l(){t&&t.value?t.value():e&&e.value&&e.value(i.value)}return dn(o),{start:r,stop:o,handleHolding:l}}function Sn(e,t="div"){const n=Me();return Pe(()=>{n.value=me(pe(e),t)}),n}function St(e,t="div"){const n=Me(null);return Pe(()=>{const i=pe(e);n.value=i==""||i==null?null:me(i,t)}),n}function pe(e){return a(a(e))}function z(...e){return e.includes(Object)||e.push(Object),e}var X=(e,t)=>{const n=e.__vccOpts||e;for(const[i,r]of t)n[i]=r;return n};const lr=W({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var v;const n=F({}),i=new ResizeObserver(s),r=F(null);At(()=>{const b=r.value;b!=null&&i.observe(b)});let o=!0,l=F((v=r.value)==null?void 0:v.getBoundingClientRect());function s(){o&&(o=!1,et(()=>{var b;l.value=(b=r.value)==null?void 0:b.getBoundingClientRect(),Object.values(n.value).filter(N=>N).forEach(N=>N.rect=N.element.getBoundingClientRect()),t("updateNodes",n.value),o=!0}))}ye.on("fontsLoaded",s);const c={attributes:!1,childList:!0,subtree:!1};xt(Jt,(b,N)=>{const w=new MutationObserver(()=>f(b));w.observe(N,c),n.value[b]={element:N,observer:w,rect:N.getBoundingClientRect()},s()}),xt(Kt,b=>{var N;(N=n.value[b])==null||N.observer.disconnect(),n.value[b]=void 0,s()}),xt(Xt,n),xt(Qt,l);function f(b){const N=n.value[b];N!=null&&(N.rect=N.element.getBoundingClientRect(),t("updateNodes",n.value))}return(b,N)=>(_(),k(Q,null,[Re(b.$slots,"default",{},void 0,!0),m("div",{ref_key:"resizeListener",ref:r,class:"resize-listener"},null,512)],64))}});var kn=X(lr,[["__scopeId","data-v-2b1dc1bc"]]);const ur=["onPointerdown"],cr={class:"modal-wrapper"},dr={class:"modal-container"},gr={class:"modal-header"},fr={class:"modal-body"},mr={class:"modal-footer"},hr=m("div",{class:"modal-default-flex-grow"},null,-1),We=W({__name:"Modal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=de(e),o=M(()=>a(r.modelValue)||s.value);function l(){n("update:modelValue",!1)}const s=F(!1),c=F(null),f=M(()=>{var v,b;return(b=(v=c.value)==null?void 0:v.nodes)!=null?b:null});return t({isOpen:o,nodes:f}),(v,b)=>(_(),H(jn,{to:"#modal-root"},[y(ut,{name:"modal",onBeforeEnter:b[0]||(b[0]=N=>s.value=!0),onAfterLeave:b[1]||(b[1]=N=>s.value=!1)},{default:B(()=>[Gt(m("div",Ve({class:"modal-mask",onPointerdown:lt(l,["self"])},v.$attrs),[m("div",cr,[m("div",dr,[m("div",gr,[Re(v.$slots,"header",{shown:a(o)},()=>[D(" default header ")])]),m("div",fr,[y(kn,{ref_key:"contextRef",ref:c},{default:B(()=>[Re(v.$slots,"body",{shown:a(o)},()=>[D(" default body ")])]),_:3},512)]),m("div",mr,[Re(v.$slots,"footer",{shown:a(o)},()=>[m("div",{class:"modal-default-footer"},[hr,m("button",{class:"button modal-default-button",onClick:l}," Close ")])])])])])],16,ur),[[Un,e.modelValue]])]),_:3})]))}}),Ze=Symbol("ProxyState");function kt(e,t={}){const n=t;let i=!1;function r(){return i||(Object.assign(n,e.call(n,n)),i=!0),n}return new Proxy(n,{get(o,l){if(l===Ze)return r();const s=r()[l];return s!=null&&typeof s=="object"&&qe in s?s[qe]:s},set(o,l,s){return r()[l]=s,!0},has(o,l){return l===Ze?!0:Reflect.has(r(),l)},ownKeys(){return Reflect.ownKeys(r())},getOwnPropertyDescriptor(o,l){return i||(Object.assign(n,e.call(n,n)),i=!0),Object.getOwnPropertyDescriptor(o,l)}})}var ue=window.state=Ht({lastTenTicks:[],hasNaN:!1,NaNPath:[]});const st=Symbol("PersistentState"),Nt=Symbol("DefaultValue"),Dt=Symbol("StackTrace"),Ot=Symbol("Deleted"),qe=Symbol("NonPersistent"),Je=Symbol("SaveDataPath"),vr=Symbol("SkipPersistence");function pr(){var e,t;return(t=(e=new Error().stack)==null?void 0:e.split(` +`).slice(3,5).map(n=>n.trim()).join(` +`))!=null?t:""}function un(e,t){var n;if(u.isNaN(t))throw ue.hasNaN||(U.autosave=!1,ue.hasNaN=!0,ue.NaNPath=e[Je],ue.NaNPersistent=e),console.error("Attempted to save NaN value to",(n=e[Je])==null?void 0:n.join("."),e),new Error("Attempted to set NaN value. See above for details");e[st].value=t}function gt(e,t=!0){const n=fe(e)?e:F(e);fe(e)&&(e=e.value);const i=M({get(){return n.value},set(o){t?un(r,o):r[st].value=o}});i[Nt]=e;const r={get value(){return n.value},set value(o){t?un(r,o):r[st].value=o},__v_isRef:!0,[st]:n,[Nt]:e,[Dt]:pr(),[Ot]:!1,[qe]:i,[Je]:void 0};return be.length===0?console.warn("Creating a persistent ref outside of a layer. This is not officially supported",r,` +Created at: +`+r[Dt]):Qe[be[be.length-1]].add(r),r}function br(e){return e!=null&&typeof e=="object"&&st in e}function yr(e){be.length===0?console.warn("Deleting a persistent ref outside of a layer. Ignoring...",e):Qe[be[be.length-1]].delete(e),e[Ot]=!0}ye.on("addLayer",(e,t)=>{const n=[],i=(r,o=[])=>{let l=!1;return Object.keys(r).forEach(s=>{let c=r[s];if(c!=null&&typeof c=="object"){if(c[vr]===!0)return;if(Ze in c&&(c=c[Ze]),br(c)){if(l=!0,c[Ot]){console.warn("Deleted persistent ref present in returned object. Ignoring...",c,` +Created at: +`+c[Dt]);return}Qe[e.id].delete(c);const f=[e.id,...o,s];c[Je]!=null&&JSON.stringify(f)!==JSON.stringify(c[Je])&&console.error(`Persistent ref is being saved to \`${f.join(".")}\` when it's already present at \`${c[Je].join(".")}\`. This can cause unexpected behavior when loading saves between updates.`,c),c[Je]=f;const v=o.reduce((N,w)=>(w in N||(N[w]={}),N[w]),t),b=v[s];v[s]=c[st],Wn(v)?b!=null?v[s]=b:v[s]=c[Nt]:b!=null?v[s].value=b:v[s].value=c[Nt]}else!(c instanceof u)&&!fe(c)&&!n.includes(c)&&(typeof c.type=="symbol"&&n.push(c),i(c,[...o,s])&&(tn(c)&&!tn(r)?console.warn("Found array that contains persistent values when adding layer. Keep in mind changing the order of elements in the array will mess with existing player saves.",Ze in r?r[Ze]:r,s):l=!0))}}),l};i(e[Ze]),Qe[e.id].forEach(r=>{r[Ot]||console.error(`Created persistent ref in ${e.id} without registering it to the layer! Make sure to include everything persistent in the returned object`,r,` +Created at: +`+r[Dt])}),Qe[e.id].clear()});const Jt=Symbol("RegisterNode"),Kt=Symbol("UnregisterNode"),Xt=Symbol("Nodes"),Qt=Symbol("Bounds"),ve=Ht({});window.layers=ve;const Qe={},be=[];function In(e,t){return kt(()=>{const n={},i=n.emitter=gn();if(n.on=i.on.bind(i),n.emit=i.emit.bind(i),n.nodes=F({}),n.id=e,be.push(e),Qe[e]=new Set,n.minimized=gt(!1,!1),Object.assign(n,t.call(n,n)),be[be.length-1]==null||be[be.length-1]!==e)throw`Adding layers stack in invalid state. This should not happen +Stack: ${be} +Trying to pop ${n.id}`;be.pop(),L(n,"color"),L(n,"display"),L(n,"classes"),L(n,"style"),L(n,"name"),le(n,"name",n.id),L(n,"minWidth"),le(n,"minWidth",600),L(n,"minimizable"),le(n,"minimizable",!0),L(n,"minimizedDisplay");const r=n.style;return n.style=M(()=>{var l,s;let o=a(n.minWidth);return(typeof o=="number"||!Number.isNaN(parseInt(o)))&&(o=o+"px"),[(l=a(r))!=null?l:"",(s=n.minimized)!=null&&s.value?{flexGrow:"0",flexShrink:"0",width:"60px",minWidth:"",flexBasis:"",margin:"0"}:{flexGrow:"",flexShrink:"",width:"",minWidth:o,flexBasis:o,margin:""}]}),n})}function xn(e,t){if(console.info("Adding layer",e.id),ve[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,ve[e.id]);return}le(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),ve[e.id]=e,ye.emit("addLayer",e,t.layers[e.id])}function _r(e){return ve[e]}function Mn(e){console.info("Removing layer",e.id),ye.emit("removeLayer",e),ve[e.id]=void 0}function wr(e){Mn(e),xn(e,U)}function Nr(e){const t=F(!1);return{openModal:()=>t.value=!0,modal:ie(()=>y(We,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},{header:()=>y("h2",null,[a(e.name)]),body:a(e.display)}))}}ye.on("update",function(t){Object.values(ve).forEach(n=>{n==null||n.emit("preUpdate",t)}),Object.values(ve).forEach(n=>{n==null||n.emit("update",t)}),Object.values(ve).forEach(n=>{n==null||n.emit("postUpdate",t)})});var Cr=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:Jt,UnregisterNodeInjectionKey:Kt,NodesInjectionKey:Xt,BoundsInjectionKey:Qt,layers:ve,persistentRefs:Qe,addingLayers:be,createLayer:In,addLayer:xn,getLayer:_r,removeLayer:Mn,reloadLayer:wr,setupLayerModal:Nr},Symbol.toStringTag,{value:"Module"}));const Sr=W({components:{Context:kn},props:{index:{type:Number,required:!0},display:{type:z(Object,String,Function),required:!0},minimizedDisplay:z(Object,String,Function),minimized:{type:Object,required:!0},name:{type:z(String),required:!0},color:z(String),minimizable:z(Boolean),nodes:{type:Object,required:!0}},emits:["setMinimized"],setup(e){const{display:t,index:n,minimized:i,minimizedDisplay:r}=de(e),o=Sn(t),l=St(r),s=M(()=>Y.allowGoBack&&n.value>0&&!pe(i));function c(){U.tabs.splice(a(e.index),1/0)}function f(v){e.nodes.value=v}return{component:o,minimizedComponent:l,showGoBack:s,updateNodes:f,unref:a,goBack:c}}}),kr={key:1};function Ir(e,t,n,i,r,o){const l=Tt("Context");return _(),k("div",{class:"layer-container",style:$e({"--layer-color":e.unref(e.color)})},[e.showGoBack?(_(),k("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...s)=>e.goBack&&e.goBack(...s))},"\u274C")):V("",!0),e.unref(e.minimized)?(_(),k("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=s=>e.$emit("setMinimized",!1))},[e.minimizedComponent?(_(),H(we(e.minimizedComponent),{key:0})):(_(),k("div",kr,G(e.unref(e.name)),1))])):(_(),k("div",{key:2,class:re(["layer-tab",{showGoBack:e.showGoBack}])},[y(l,{onUpdateNodes:e.updateNodes},{default:B(()=>[(_(),H(we(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(_(),k("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=s=>e.$emit("setMinimized",!0))}," \u25BC ")):V("",!0)],4)}var xr=X(Sr,[["render",Ir],["__scopeId","data-v-72dd78b1"]]);const En=e=>(tt("data-v-4b4bda40"),e=e(),nt(),e),Mr=En(()=>m("h2",null,"Changelog",-1)),Er=En(()=>m("details",{open:""},[m("summary",null,[D("v0.0 Initial Commit - "),m("time",null,"2021-09-04")]),D(" This is the first release :D "),m("ul",null,[m("li",{class:"feature"},"Did everything"),m("li",{class:"fix"},"Had some fun"),m("li",{class:"breaking"},"Removed everything"),m("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),$r=W({__name:"Changelog",setup(e,{expose:t}){const n=F(!1);return t({open(){n.value=!0}}),(i,r)=>(_(),H(We,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=o=>n.value=o)},{header:B(()=>[Mr]),body:B(()=>[Er]),_:1},8,["modelValue"]))}});var Tr=X($r,[["__scopeId","data-v-4b4bda40"]]),Fr=W({props:{element:Object,display:{type:z(Object,String,Function),required:!0},style:z(Object,String,Array),classes:z(Object),direction:z(String),xoffset:z(String),yoffset:z(String),pinned:Object},setup(e){const{element:t,display:n,pinned:i}=de(e),r=F(!1),o=M(()=>(pe(i)||r.value)&&l.value),l=St(n),s=Me(me(ie(()=>{const v=pe(t);return v==null?"":ze(v)})));function c(v){const b=i;v.shiftKey&&b&&(b.value=!b.value,v.stopPropagation(),v.preventDefault())}const f=M(()=>pe(i)&&Te[J.theme].showPin);return{Direction:oe,isHovered:r,isShown:o,comp:l,elementComp:s,unref:a,togglePinned:c,showPin:f}}});const Pr={key:0,class:"material-icons pinned"};function Vr(e,t,n,i,r,o){return _(),k("div",{class:re(["tooltip-container",{shown:e.isShown}]),onMouseenter:t[0]||(t[0]=l=>e.isHovered=!0),onMouseleave:t[1]||(t[1]=l=>e.isHovered=!1),onClickCapture:t[2]||(t[2]=(...l)=>e.togglePinned&&e.togglePinned(...l))},[Re(e.$slots,"default",{},void 0,!0),e.elementComp?(_(),H(we(e.elementComp),{key:0})):V("",!0),y(ut,{name:"fade"},{default:B(()=>{var l;return[e.isShown?(_(),k("div",{key:0,class:re(["tooltip",{top:e.unref(e.direction)===e.Direction.Up,left:e.unref(e.direction)===e.Direction.Left,right:e.unref(e.direction)===e.Direction.Right,bottom:e.unref(e.direction)===e.Direction.Down,...e.unref(e.classes)}]),style:$e([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(l=e.unref(e.style))!=null?l:{}])},[e.showPin?(_(),k("span",Pr,"push_pin")):V("",!0),e.comp?(_(),H(we(e.comp),{key:1})):V("",!0)],6)):V("",!0)]}),_:1})],34)}var ce=X(Fr,[["render",Vr],["__scopeId","data-v-6102fa3a"]]);const it=e=>(tt("data-v-4f97aa40"),e=e(),nt(),e),Dr={class:"info-modal-header"},Or=["src","alt"],Ar={class:"info-modal-title"},Lr={key:0},Br={key:0},qr={key:0},Rr=it(()=>m("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1)),zr=it(()=>m("br",null,null,-1)),Ur=it(()=>m("br",null,null,-1)),jr=["href"],Wr=it(()=>m("span",{class:"material-icons info-modal-discord"},"discord",-1)),Gr=it(()=>m("div",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",class:"info-modal-discord-link",target:"_blank"},[m("span",{class:"material-icons info-modal-discord"},"discord"),D(" The Paper Pilot Community ")])],-1)),Hr=it(()=>m("div",null,[m("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link",target:"_blank"},[m("span",{class:"material-icons info-modal-discord"},"discord"),D(" The Modding Tree ")])],-1)),Zr=it(()=>m("br",null,null,-1));var Yr=W({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const n=e,{title:i,logo:r,author:o,discordName:l,discordLink:s,versionNumber:c,versionTitle:f}=Y,v=de(n),b=F(!1),N=M(()=>Zt(U.timePlayed)),w=M(()=>me(ie(()=>y(Q,null,[or.map(Le)]))));t({open(){b.value=!0}});function p(){var C;(C=a(v.changelog))==null||C.open()}return(C,E)=>(_(),H(We,{modelValue:b.value,"onUpdate:modelValue":E[0]||(E[0]=O=>b.value=O)},{header:B(()=>[m("div",Dr,[a(r)?(_(),k("img",{key:0,class:"info-modal-logo",src:a(r),alt:a(i)},null,8,Or)):V("",!0),m("div",Ar,[m("h2",null,G(a(i)),1),m("h4",null,[D(" v"+G(a(c)),1),a(f)?(_(),k("span",Lr,": "+G(a(f)),1)):V("",!0)])])])]),body:B(({shown:O})=>[O?(_(),k("div",Br,[a(o)?(_(),k("div",qr,"By "+G(a(o)),1)):V("",!0),Rr,zr,m("div",{class:"link",onClick:p},"Changelog"),Ur,m("div",null,[a(s)?(_(),k("a",{key:0,href:a(s),class:"info-modal-discord-link",target:"_blank"},[Wr,D(" "+G(a(l)),1)],8,jr)):V("",!0)]),Gr,Hr,Zr,m("div",null,"Time Played: "+G(a(N)),1),(_(),H(we(a(w))))])):V("",!0)]),_:1},8,["modelValue"]))}});var Jr=X(Yr,[["__scopeId","data-v-4f97aa40"]]);const Kr={class:"field"},Xr={key:0,class:"field-title"},$n=W({__name:"Select",props:{title:null,modelValue:null,options:null,placeholder:null,closeOnSelect:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){var l;const n=e,i=St(Ue(n,"title"),"span"),r=F((l=n.options.find(s=>s.value===n.modelValue))!=null?l:null);Ee(Ue(n,"modelValue"),s=>{var c;pe(r)!==s&&(r.value=(c=n.options.find(f=>f.value===s))!=null?c:null)});function o(s){t("update:modelValue",s.value)}return(s,c)=>(_(),k("div",Kr,[a(i)?(_(),k("span",Xr,[(_(),H(we(a(i))))])):V("",!0),y(a(Jn),{options:e.options,modelValue:r.value,"onUpdate:modelValue":[c[0]||(c[0]=f=>r.value=f),o],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});const Qr={class:"field"},ea=W({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=M(()=>{var o;return me((o=a(n.title))!=null?o:"","span")}),r=M({get(){return!!n.modelValue},set(o){t("update:modelValue",o)}});return(o,l)=>(_(),k("label",Qr,[Gt(m("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":l[0]||(l[0]=s=>fe(r)?r.value=s:null)},null,512),[[Gn,a(r)]]),(_(),H(we(a(i))))]))}});var Fe=X(ea,[["__scopeId","data-v-11046116"]]);const ta=["onClick"],na=W({__name:"FeedbackButton",props:{left:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const n=F(!1),i=F(null);function r(){t("click"),i.value&&clearTimeout(i.value),n.value=!1,et(()=>{n.value=!0,i.value=setTimeout(()=>n.value=!1,500)})}return(o,l)=>(_(),k("button",{onClick:lt(r,["stop"]),class:re(["feedback",{activated:n.value,left:e.left}])},[Re(o.$slots,"default",{},void 0,!0)],10,ta))}});var Tn=X(na,[["__scopeId","data-v-01a1b95c"]]);const ia={class:"header"},ra=m("h2",null,"Settings",-1),aa={class:"option-tabs"},oa={key:0},sa={key:1};var la=W({__name:"Options",setup(e,{expose:t}){const n=F(!1),i=F("behaviour");function r(T){return T==i.value}function o(T){i.value=T}t({isTab:r,setTab:o,save:_e,open(){n.value=!0}});const l=Object.keys(Te).map(T=>({label:Et(T),value:T})),s=M(()=>me(ie(()=>y(Q,null,[ar.map(Le)])))),{showTPS:c,theme:f,unthrottled:v,alignUnits:b}=de(J),{autosave:N,offlineProd:w}=de(U),p=M({get(){return U.devSpeed===0},set(T){U.devSpeed=T?0:null}}),C=ie(()=>y("span",{class:"option-title"},[D("Unthrottled"),y("desc",null,[D("Allow the game to run as fast as possible. Not battery friendly.")])])),E=ie(()=>y("span",{class:"option-title"},[D("Offline Production"),y(ce,{display:"Save-specific",direction:oe.Right},{default:()=>[D("*")]}),y("desc",null,[D("Simulate production that occurs while the game is closed.")])])),O=ie(()=>y("span",{class:"option-title"},[D("Autosave"),y(ce,{display:"Save-specific",direction:oe.Right},{default:()=>[D("*")]}),y("desc",null,[D("Automatically save the game every second or when the game is closed.")])])),S=ie(()=>y("span",{class:"option-title"},[D("Pause game"),y(ce,{display:"Save-specific",direction:oe.Right},{default:()=>[D("*")]}),y("desc",null,[D("Stop everything from moving.")])])),$=ie(()=>y("span",{class:"option-title"},[D("Theme"),y("desc",null,[D("How the game looks.")])])),R=ie(()=>y("span",{class:"option-title"},[D("Show TPS"),y("desc",null,[D("Show TPS meter at the bottom-left corner of the page.")])])),ge=ie(()=>y("span",{class:"option-title"},[D("Align modifier units"),y("desc",null,[D("Align numbers to the beginning of the unit in modifier view.")])]));return(T,x)=>(_(),H(We,{modelValue:n.value,"onUpdate:modelValue":x[10]||(x[10]=A=>n.value=A)},{header:B(()=>[m("div",ia,[ra,m("div",aa,[m("button",{class:re({selected:r("behaviour")}),onClick:x[0]||(x[0]=A=>o("behaviour"))},"Behaviour",2),m("button",{class:re({selected:r("appearance")}),onClick:x[1]||(x[1]=A=>o("appearance"))},"Appearance",2)])])]),body:B(()=>[r("behaviour")?(_(),k("div",oa,[y(Fe,{title:a(C),modelValue:a(v),"onUpdate:modelValue":x[2]||(x[2]=A=>fe(v)?v.value=A:null)},null,8,["title","modelValue"]),a(Y).enablePausing?(_(),H(Fe,{key:0,title:a(S),modelValue:a(p),"onUpdate:modelValue":x[3]||(x[3]=A=>fe(p)?p.value=A:null)},null,8,["title","modelValue"])):V("",!0),y(Fe,{title:a(E),modelValue:a(w),"onUpdate:modelValue":x[4]||(x[4]=A=>fe(w)?w.value=A:null)},null,8,["title","modelValue"]),y(Fe,{title:a(O),modelValue:a(N),"onUpdate:modelValue":x[5]||(x[5]=A=>fe(N)?N.value=A:null)},null,8,["title","modelValue"]),a(N)?V("",!0):(_(),H(Tn,{key:1,class:"button save-button",onClick:x[6]||(x[6]=A=>a(_e)())},{default:B(()=>[D("Manually save")]),_:1}))])):V("",!0),r("appearance")?(_(),k("div",sa,[y($n,{title:a($),options:a(l),modelValue:a(f),"onUpdate:modelValue":x[7]||(x[7]=A=>fe(f)?f.value=A:null)},null,8,["title","options","modelValue"]),(_(),H(we(a(s)))),y(Fe,{title:a(R),modelValue:a(c),"onUpdate:modelValue":x[8]||(x[8]=A=>fe(c)?c.value=A:null)},null,8,["title","modelValue"]),y(Fe,{title:a(ge),modelValue:a(b),"onUpdate:modelValue":x[9]||(x[9]=A=>fe(b)?b.value=A:null)},null,8,["title","modelValue"])])):V("",!0)]),_:1},8,["modelValue"]))}});const ua=["onSubmit"],ca={class:"field"},da={key:0,class:"field-title"},ga=["placeholder"],fa=W({__name:"Text",props:{title:null,modelValue:null,textArea:{type:Boolean},placeholder:null,maxHeight:null,submitOnBlur:{type:Boolean}},emits:["update:modelValue","submit","cancel"],setup(e,{emit:t}){const n=e,i=St(Ue(n,"title"),"span"),r=Me(null);At(()=>{var c;(c=r.value)==null||c.focus()});const o=M({get(){var c;return(c=a(n.modelValue))!=null?c:""},set(c){t("update:modelValue",c)}});function l(){t("submit")}function s(){n.submitOnBlur!==!1?t("submit"):t("cancel")}return(c,f)=>(_(),k("form",{onSubmit:lt(l,["prevent"])},[m("div",ca,[a(i)?(_(),k("span",da,[(_(),H(we(a(i))))])):V("",!0),e.textArea?(_(),H(a(Xn),{key:1,modelValue:a(o),"onUpdate:modelValue":f[0]||(f[0]=v=>fe(o)?o.value=v:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:s,ref_key:"field",ref:r},null,8,["modelValue","placeholder","maxHeight"])):Gt((_(),k("input",{key:2,type:"text","onUpdate:modelValue":f[1]||(f[1]=v=>fe(o)?o.value=v:null),placeholder:e.placeholder,class:re({fullWidth:!e.title}),onBlur:s,ref_key:"field",ref:r},null,42,ga)),[[Hn,a(o)]])])],40,ua))}});var Fn=X(fa,[["__scopeId","data-v-90bd4994"]]);const ma={key:0},ha=["onClick","disabled"],va={key:0},pa=["onClick"],ba=W({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const i=de(e),r=F(!1);Ee(r,s=>{t("confirmingChanged",s)});function o(){if(a(i.skipConfirm)){t("click");return}r.value&&t("click"),r.value=!r.value}function l(){r.value=!1}return(s,c)=>(_(),k("span",{class:re(["container",{confirming:r.value}])},[r.value?(_(),k("span",ma,"Are you sure?")):V("",!0),m("button",{onClick:lt(o,["stop"]),class:"button danger",disabled:e.disabled},[r.value?(_(),k("span",va,"Yes")):Re(s.$slots,"default",{key:1},void 0,!0)],8,ha),r.value?(_(),k("button",{key:1,class:"button",onClick:lt(l,["stop"])},"No",8,pa)):V("",!0)],2))}});var ya=X(ba,[["__scopeId","data-v-2f8ef34c"]]);const Oe=e=>(tt("data-v-32313015"),e=e(),nt(),e),_a=Oe(()=>m("div",{class:"handle material-icons"},"drag_handle",-1)),wa={key:0,class:"actions"},Na=Oe(()=>m("span",{class:"material-icons"},"content_paste",-1)),Ca=Oe(()=>m("span",{class:"material-icons"},"content_copy",-1)),Sa=Oe(()=>m("span",{class:"material-icons"},"edit",-1)),ka=Oe(()=>m("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),Ia={key:1,class:"actions"},xa=Oe(()=>m("span",{class:"material-icons"},"check",-1)),Ma=Oe(()=>m("span",{class:"material-icons"},"close",-1)),Ea={key:2,class:"details"},$a={class:"save-version"},Ta=Oe(()=>m("br",null,null,-1)),Fa={key:0},Pa={key:3,class:"details"},Va={key:4,class:"details error"},Da=Oe(()=>m("br",null,null,-1)),Oa=W({__name:"Save",props:{save:null},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const n=e,{save:i}=de(n),r=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),o=F(!1),l=F(!1),s=F("");Ee(o,()=>{var b;return s.value=(b=i.value.name)!=null?b:""});const c=M(()=>i.value!=null&&i.value.id===U.id),f=M(()=>{var b;return c.value?U.time:(b=i.value!=null&&i.value.time)!=null?b:0});function v(){t("editName",s.value),o.value=!1}return(b,N)=>(_(),k("div",{class:re(["save",{active:a(c)}])},[_a,o.value?(_(),k("div",Ia,[m("button",{onClick:v,class:"button"},[y(ce,{display:"Save",direction:a(oe).Left,class:"info"},{default:B(()=>[xa]),_:1},8,["direction"])]),m("button",{onClick:N[5]||(N[5]=w=>o.value=!o.value),class:"button"},[y(ce,{display:"Cancel",direction:a(oe).Left,class:"info"},{default:B(()=>[Ma]),_:1},8,["direction"])])])):(_(),k("div",wa,[a(i).error==null&&!l.value?(_(),H(Tn,{key:0,onClick:N[0]||(N[0]=w=>t("export")),class:"button",left:""},{default:B(()=>[y(ce,{display:"Export",direction:a(oe).Left,class:"info"},{default:B(()=>[Na]),_:1},8,["direction"])]),_:1})):V("",!0),a(i).error==null&&!l.value?(_(),k("button",{key:1,onClick:N[1]||(N[1]=w=>t("duplicate")),class:"button"},[y(ce,{display:"Duplicate",direction:a(oe).Left,class:"info"},{default:B(()=>[Ca]),_:1},8,["direction"])])):V("",!0),a(i).error==null&&!l.value?(_(),k("button",{key:2,onClick:N[2]||(N[2]=w=>o.value=!o.value),class:"button"},[y(ce,{display:"Edit Name",direction:a(oe).Left,class:"info"},{default:B(()=>[Sa]),_:1},8,["direction"])])):V("",!0),y(ya,{disabled:a(c),onClick:N[3]||(N[3]=w=>t("delete")),onConfirmingChanged:N[4]||(N[4]=w=>l.value=w)},{default:B(()=>[y(ce,{display:"Delete",direction:a(oe).Left,class:"info"},{default:B(()=>[ka]),_:1},8,["direction"])]),_:1},8,["disabled"])])),a(i).error==null&&!o.value?(_(),k("div",Ea,[m("button",{class:"button open",onClick:N[6]||(N[6]=w=>t("open"))},[m("h3",null,G(a(i).name),1)]),m("span",$a,"v"+G(a(i).modVersion),1),Ta,a(f)?(_(),k("div",Fa,"Last played "+G(a(r).format(a(f))),1)):V("",!0)])):a(i).error==null&&o.value?(_(),k("div",Pa,[y(Fn,{modelValue:s.value,"onUpdate:modelValue":N[7]||(N[7]=w=>s.value=w),class:"editname",onSubmit:v},null,8,["modelValue"])])):(_(),k("div",Va,[D(" Error: Failed to load save with id "+G(a(i).id),1),Da,D(G(a(i).error),1)]))],2))}});var Aa=X(Oa,[["__scopeId","data-v-32313015"]]);const en=e=>(tt("data-v-2a4275be"),e=e(),nt(),e),La=en(()=>m("h2",null,"Saves Manager",-1)),Ba={class:"modal-footer"},qa={class:"field"},Ra=en(()=>m("span",{class:"field-title"},"Create Save",-1)),za={class:"field-buttons"},Ua={class:"footer"},ja=en(()=>m("div",{style:{"flex-grow":"1"}},null,-1)),Wa=W({__name:"SavesManager",setup(e,{expose:t}){const n=F(!1),i=F(null);t({open(){n.value=!0}});const r=F(!1),o=F(""),l=F(null);Ee(o,S=>{S?et(()=>{try{if(S[0]!=="{")if(S[0]==="e")S=decodeURIComponent(escape(atob(S)));else if(S[0]==="\u1BE1")S=Be.decompressFromUTF16(S);else{console.warn("Unable to determine preset encoding",S),r.value=!0;return}const $=JSON.parse(S);if(typeof $!="object"){r.value=!0;return}const R=$t();$.id=R,_e($),o.value="",r.value=!1,J.saves.push(R)}catch{r.value=!0}}):r.value=!1});let s={},c=F(Object.keys(s).reduce((S,$)=>(S.push({label:$.split("/").slice(-1)[0].slice(0,-4),value:s[$]}),S),[]));const f=Ht({});function v(S){if(f[S]==null){let $=localStorage.getItem(S);if($==null)f[S]={error:"Save doesn't exist in localStorage",id:S};else if($==="dW5kZWZpbmVk")f[S]={error:"Save is undefined",id:S};else try{if($[0]!=="{")if($[0]==="e")$=decodeURIComponent(escape(atob($)));else if($[0]==="\u1BE1")$=Be.decompressFromUTF16($);else return console.warn("Unable to determine preset encoding",$),r.value=!0,f[S]={error:"Unable to determine preset encoding",id:S},f[S];f[S]={...JSON.parse($),id:S}}catch(R){f[S]={error:R,id:S},console.warn(`SavesManager: Failed to load info about save with id ${S}: +${R} +${$}`)}}return f[S]}Ee(n,S=>{S&&Object.keys(f).forEach($=>delete f[$])});const b=M(()=>J.saves.reduce((S,$)=>(S[$]=v($),S),{}));function N(S){let $;switch(U.id===S?$=wn(U):$=JSON.stringify(b.value[S]),Y.exportEncoding){default:console.warn(`Unknown save encoding: ${Y.exportEncoding}. Defaulting to lz`);case"lz":$=Be.compressToUTF16($);break;case"base64":$=btoa(unescape(encodeURIComponent($)));break;case"plain":break}const R=document.createElement("textarea");R.value=$,document.body.appendChild(R),R.select(),R.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(R)}function w(S){U.id===S&&_e();const $={...b.value[S],id:$t()};_e($),J.saves.push($.id)}function p(S){J.saves=J.saves.filter($=>$!==S),localStorage.removeItem(S),f[S]=void 0}function C(S){b.value[U.id].time=U.time,_e(),f[U.id]=void 0,Ye(b.value[S]),f[S]=void 0}function E(S){if(l.value=S,et(()=>{l.value=null}),S[0]!=="{")if(S[0]==="e")S=decodeURIComponent(escape(atob(S)));else if(S[0]==="\u1BE1")S=Be.decompressFromUTF16(S);else{console.warn("Unable to determine preset encoding",S);return}const $=JSON.parse(S);$.id=$t(),_e($),J.saves.push($.id),C($.id)}function O(S,$){const R=b.value[S];R!=null&&(R.name=$,U.id===S?(U.name=$,_e()):(_e(R),f[S]=void 0))}return(S,$)=>(_(),H(We,{modelValue:n.value,"onUpdate:modelValue":$[4]||($[4]=R=>n.value=R),ref_key:"modal",ref:i},{header:B(()=>[La]),body:B(({shown:R})=>[R?(_(),H(a(Kn),{key:0,list:a(J).saves,handle:".handle",itemKey:ge=>ge},{item:B(({element:ge})=>[y(Aa,{save:a(b)[ge],onOpen:T=>C(ge),onExport:T=>N(ge),onEditName:T=>O(ge,T),onDuplicate:T=>w(ge),onDelete:T=>p(ge)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):V("",!0)]),footer:B(()=>[m("div",Ba,[y(Fn,{modelValue:o.value,"onUpdate:modelValue":$[0]||($[0]=R=>o.value=R),title:"Import Save",placeholder:"Paste your save here!",class:re({importingFailed:r.value})},null,8,["modelValue","class"]),m("div",qa,[Ra,m("div",za,[m("button",{class:"button",onClick:$[1]||($[1]=R=>C(a(ot)().id))},"New Game"),Object.keys(a(c)).length>0?(_(),H($n,{key:0,options:a(c),modelValue:l.value,"onUpdate:modelValue":$[2]||($[2]=R=>E(R)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):V("",!0)])]),m("div",Ua,[ja,m("button",{class:"button modal-default-button",onClick:$[3]||($[3]=R=>n.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var Pn=X(Wa,[["__scopeId","data-v-2a4275be"]]);const Ne=e=>(tt("data-v-318a1c31"),e=e(),nt(),e),Ga=["src","alt"],Ha={key:1,class:"title"},Za=Ne(()=>m("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),Ya={class:"discord"},Ja={class:"discord-links"},Ka={key:0},Xa=["href"],Qa=Ne(()=>m("li",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"The Paper Pilot Community")],-1)),eo=Ne(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),to={href:"https://forums.moddingtree.com/",target:"_blank"},no=Ne(()=>m("span",{class:"material-icons"},"forum",-1)),io=Ne(()=>m("span",{class:"material-icons"},"info",-1)),ro=Ne(()=>m("span",{class:"material-icons"},"library_books",-1)),ao=Ne(()=>m("span",{class:"material-icons"},"settings",-1)),oo=Ne(()=>m("span",{class:"material-icons"},"library_books",-1)),so=Ne(()=>m("span",{class:"material-icons"},"settings",-1)),lo=Ne(()=>m("span",{class:"material-icons"},"info",-1)),uo={href:"https://forums.moddingtree.com/",target:"_blank"},co=Ne(()=>m("span",{class:"material-icons"},"forum",-1)),go={class:"discord"},fo={class:"discord-links"},mo={key:0},ho=["href"],vo=Ne(()=>m("li",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"The Paper Pilot Community")],-1)),po=Ne(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),bo=W({__name:"Nav",setup(e){const t=F(null),n=F(null),i=F(null),r=F(null),{useHeader:o,banner:l,title:s,discordName:c,discordLink:f,versionNumber:v}=Y;function b(){window.open(f,"mywindow")}return(N,w)=>(_(),k(Q,null,[a(o)?(_(),k("div",Ve({key:0,class:"nav"},N.$attrs),[a(l)?(_(),k("img",{key:0,src:a(l),class:"banner",alt:a(s)},null,8,Ga)):(_(),k("div",Ha,G(a(s)),1)),m("div",{onClick:w[0]||(w[0]=p=>{var C;return(C=r.value)==null?void 0:C.open()}),class:"version-container"},[y(ce,{display:"Changelog",direction:a(oe).Down,class:"version"},{default:B(()=>[m("span",null,"v"+G(a(v)),1)]),_:1},8,["direction"])]),Za,m("div",Ya,[m("span",{onClick:b,class:"material-icons"},"discord"),m("ul",Ja,[a(f)?(_(),k("li",Ka,[m("a",{href:a(f),target:"_blank"},G(a(c)),9,Xa)])):V("",!0),Qa,eo])]),m("div",null,[m("a",to,[y(ce,{display:"Forums",direction:a(oe).Down,yoffset:"5px"},{default:B(()=>[no]),_:1},8,["direction"])])]),m("div",{onClick:w[1]||(w[1]=p=>{var C;return(C=t.value)==null?void 0:C.open()})},[y(ce,{display:"Info",direction:a(oe).Down,class:"info"},{default:B(()=>[io]),_:1},8,["direction"])]),m("div",{onClick:w[2]||(w[2]=p=>{var C;return(C=n.value)==null?void 0:C.open()})},[y(ce,{display:"Saves",direction:a(oe).Down,xoffset:"-20px"},{default:B(()=>[ro]),_:1},8,["direction"])]),m("div",{onClick:w[3]||(w[3]=p=>{var C;return(C=i.value)==null?void 0:C.open()})},[y(ce,{display:"Settings",direction:a(oe).Down,xoffset:"-66px"},{default:B(()=>[ao]),_:1},8,["direction"])])],16)):(_(),k("div",Ve({key:1,class:"overlay-nav"},N.$attrs),[m("div",{onClick:w[4]||(w[4]=p=>{var C;return(C=r.value)==null?void 0:C.open()}),class:"version-container"},[y(ce,{display:"Changelog",direction:a(oe).Right,xoffset:"25%",class:"version"},{default:B(()=>[m("span",null,"v"+G(a(v)),1)]),_:1},8,["direction"])]),m("div",{onClick:w[5]||(w[5]=p=>{var C;return(C=n.value)==null?void 0:C.open()})},[y(ce,{display:"Saves",direction:a(oe).Right},{default:B(()=>[oo]),_:1},8,["direction"])]),m("div",{onClick:w[6]||(w[6]=p=>{var C;return(C=i.value)==null?void 0:C.open()})},[y(ce,{display:"Settings",direction:a(oe).Right},{default:B(()=>[so]),_:1},8,["direction"])]),m("div",{onClick:w[7]||(w[7]=p=>{var C;return(C=t.value)==null?void 0:C.open()})},[y(ce,{display:"Info",direction:a(oe).Right},{default:B(()=>[lo]),_:1},8,["direction"])]),m("div",null,[m("a",uo,[y(ce,{display:"Forums",direction:a(oe).Right,xoffset:"7px"},{default:B(()=>[co]),_:1},8,["direction"])])]),m("div",go,[m("span",{onClick:b,class:"material-icons"},"discord"),m("ul",fo,[a(f)?(_(),k("li",mo,[m("a",{href:a(f),target:"_blank"},G(a(c)),9,ho)])):V("",!0),vo,po])])],16)),y(Jr,{ref_key:"info",ref:t,changelog:r.value},null,8,["changelog"]),y(Pn,{ref_key:"savesManager",ref:n},null,512),y(la,{ref_key:"options",ref:i},null,512),y(Tr,{ref_key:"changelog",ref:r},null,512)],64))}});var Vn=X(bo,[["__scopeId","data-v-318a1c31"]]);const yo={class:"inner-tab"},_o=W({__name:"Game",setup(e){const t=Ue(U,"tabs"),n=M(()=>Object.keys(ve)),i=Y.useHeader;function r(o){const{display:l,minimized:s,name:c,color:f,minimizable:v,nodes:b,minimizedDisplay:N}=o;return{display:l,minimized:s,name:c,color:f,minimizable:v,nodes:b,minimizedDisplay:N}}return(o,l)=>(_(),k("div",{class:re(["tabs-container",{useHeader:a(i)}])},[(_(!0),k(Q,null,ct(a(t),(s,c)=>{var f,v;return _(),k("div",{key:c,class:re(["tab",a((f=a(ve)[s])==null?void 0:f.classes)]),style:$e(a((v=a(ve)[s])==null?void 0:v.style))},[c===0&&!a(i)?(_(),H(Vn,{key:0})):V("",!0),m("div",yo,[a(n).includes(s)?(_(),H(xr,Ve({key:0},r(a(ve)[s]),{index:c,onSetMinimized:b=>a(ve)[s].minimized.value=b}),null,16,["index","onSetMinimized"])):(_(),H(we(s),{key:1,index:c},null,8,["index"]))])],6)}),128))],2))}});var wo=X(_o,[["__scopeId","data-v-dcd207b4"]]);const No=W({__name:"Sticky",setup(e){const t=F("0"),n=new ResizeObserver(r),i=Me(null);function r(){let o=i.value;if(o==null)return;let l=0;for(;o.previousSibling;){const s=o.previousSibling;s.dataset&&"vSticky"in s.dataset&&(l+=s.offsetHeight),o=s}t.value=l+"px"}return et(r),document.fonts.ready.then(r),At(()=>{var l;const o=(l=i.value)==null?void 0:l.parentElement;o&&n.observe(o)}),(o,l)=>(_(),k("div",{class:"sticky",style:$e({top:t.value}),ref_key:"element",ref:i,"data-v-sticky":""},[Re(o.$slots,"default",{},void 0,!0)],4))}});var Dn=X(No,[["__scopeId","data-v-cccac690"]]);const Co=["x1","y1","x2","y2"],So=W({__name:"BoardLink",props:{link:null},setup(e){const n=de(e),i=M(()=>{const o=n.link.value.startNode.position;return n.link.value.offsetStart&&(o.x+=a(n.link.value.offsetStart).x,o.y+=a(n.link.value.offsetStart).y),o}),r=M(()=>{const o=n.link.value.endNode.position;return n.link.value.offsetEnd&&(o.x+=a(n.link.value.offsetEnd).x,o.y+=a(n.link.value.offsetEnd).y),o});return(o,l)=>(_(),k("line",Ve({class:"link"},e.link,{class:{pulsing:e.link.pulsing},x1:a(i).x,y1:a(i).y,x2:a(r).x,y2:a(r).y}),null,16,Co))}});var ko=X(So,[["__scopeId","data-v-57c4970a"]]);const Io={key:0},xo=["transform","onMousedown","onTouchstart","onMouseup","onTouchend"],Mo=["fill","stroke-width","stroke"],Eo=["fill"],$o=W({__name:"BoardNodeAction",props:{node:null,nodeType:null,actions:null,isSelected:{type:Boolean},selectedAction:null},emits:["clickAction"],setup(e,{emit:t}){const i=de(e),r=M(()=>Z(i.nodeType.value.size,a(i.node))),o=M(()=>{var v;return(v=Z(i.nodeType.value.outlineColor,a(i.node)))!=null?v:Te[J.theme].variables["--outline"]}),l=M(()=>{var v;return(v=Z(i.nodeType.value.titleColor,a(i.node)))!=null?v:Te[J.theme].variables["--foreground"]}),s=M(()=>Z(i.nodeType.value.actionDistance,a(i.node)));function c(v,b){t("clickAction",b.id),v.preventDefault(),v.stopPropagation()}function f(v,b){var N;((N=a(i.selectedAction))==null?void 0:N.id)===b.id&&(v.preventDefault(),v.stopPropagation())}return(v,b)=>(_(),H(ut,{name:"actions",appear:""},{default:B(()=>[e.isSelected&&e.actions?(_(),k("g",Io,[(_(!0),k(Q,null,ct(e.actions,(N,w)=>{var p,C;return _(),k("g",{key:N.id,class:re(["action",{selected:((p=e.selectedAction)==null?void 0:p.id)===N.id}]),transform:`translate( + ${(-a(r)-30)*Math.sin(((e.actions.length-1)/2-w)*a(s))}, + ${(a(r)+30)*Math.cos(((e.actions.length-1)/2-w)*a(s))} + )`,onMousedown:E=>c(E,N),onTouchstart:E=>c(E,N),onMouseup:E=>f(E,N),onTouchend:lt(E=>f(E,N),["stop"])},[m("circle",{fill:a(Z)(N.fillColor,e.node),r:"20","stroke-width":((C=e.selectedAction)==null?void 0:C.id)===N.id?4:0,stroke:a(o)},null,8,Mo),m("text",{fill:a(l),class:"material-icons"},G(a(Z)(N.icon,e.node)),9,Eo)],42,xo)}),128))])):V("",!0)]),_:1}))}});var To=X($o,[["__scopeId","data-v-9efb2a56"]]);const Fo=["transform"],Po={key:0},Vo=["r","fill","stroke"],Do=["r","fill","stroke"],Oo=["r","fill"],Ao=["r","stroke-dasharray","stroke-dashoffset","stroke"],Lo={key:1,transform:"rotate(45, 0, 0)"},Bo=["width","height","transform","fill","stroke"],qo=["width","height","transform","fill","stroke"],Ro=["width","height","transform","fill"],zo=["width","height","transform","stroke-dasharray","stroke-dashoffset","stroke"],Uo=["fill","y"],jo=["fill"],Wo={key:0},Go=["fill","y"],Ho=["fill","y"],Zo=W({__name:"BoardNode",props:{node:null,nodeType:null,dragging:null,dragged:null,hasDragged:{type:Boolean},receivingNode:{type:Boolean},selectedNode:null,selectedAction:null},emits:["mouseDown","endDragging","clickAction"],setup(e,{emit:t}){const n=e,i=Math.sqrt(2),r=de(n),o=M(()=>a(r.selectedNode)===a(r.node)),l=M(()=>Z(r.nodeType.value.draggable,a(r.node)));Ee(l,P=>{const K=a(r.node);a(r.dragging)===K&&!P&&t("endDragging",K)});const s=M(()=>{var K;const P=a(r.node);return(K=Z(r.nodeType.value.actions,P))==null?void 0:K.filter(ne=>je(Z(ne.visibility,P)))}),c=M(()=>{var K;const P=a(r.node);if(Z(r.nodeType.value.draggable,P)&&((K=a(r.dragging))==null?void 0:K.id)===P.id&&a(r.dragged)!=null){const{x:ne,y:Ce}=a(r.dragged);return{x:P.position.x+Math.round(ne/25)*25,y:P.position.y+Math.round(Ce/25)*25}}return P.position}),f=M(()=>Z(r.nodeType.value.shape,a(r.node))),v=M(()=>Z(r.nodeType.value.title,a(r.node))),b=M(()=>Z(r.nodeType.value.subtitle,a(r.node))),N=M(()=>{var P;return(P=o.value?a(r.selectedAction)&&Z(a(r.selectedAction).tooltip,a(r.node)):null)!=null?P:Z(r.nodeType.value.label,a(r.node))}),w=M(()=>{var P,K;return Z((K=(P=a(r.selectedAction))==null?void 0:P.confirmationLabel)!=null?K:{text:"Tap again to confirm"},a(r.node))}),p=M(()=>Z(r.nodeType.value.size,a(r.node))),C=M(()=>{var P;return(P=Z(r.nodeType.value.progress,a(r.node)))!=null?P:0}),E=M(()=>Te[J.theme].variables["--background"]),O=M(()=>{var P;return(P=Z(r.nodeType.value.outlineColor,a(r.node)))!=null?P:Te[J.theme].variables["--outline"]}),S=M(()=>{var P;return(P=Z(r.nodeType.value.fillColor,a(r.node)))!=null?P:Te[J.theme].variables["--raised-background"]}),$=M(()=>Z(r.nodeType.value.progressColor,a(r.node))),R=M(()=>{var P;return(P=Z(r.nodeType.value.titleColor,a(r.node)))!=null?P:Te[J.theme].variables["--foreground"]}),ge=M(()=>Z(r.nodeType.value.progressDisplay,a(r.node))),T=M(()=>a(r.dragging)!=null&&a(r.hasDragged)&&Z(r.nodeType.value.canAccept,a(r.node))),x=M(()=>Z(r.nodeType.value.style,a(r.node))),A=M(()=>Z(r.nodeType.value.classes,a(r.node)));function te(P){t("mouseDown",P,r.node.value,l.value)}function he(P){var K,ne,Ce;(K=r.hasDragged)!=null&&K.value||(t("endDragging",r.node.value),(Ce=(ne=r.nodeType.value).onClick)==null||Ce.call(ne,r.node.value),P.stopPropagation())}return(P,K)=>{var ne,Ce,mt;return _(),k("g",{class:re(["boardnode",{[e.node.type]:!0,isSelected:a(o),isDraggable:a(l),...a(A)}]),style:$e([{opacity:((ne=e.dragging)==null?void 0:ne.id)===e.node.id&&e.hasDragged?.5:1},(Ce=a(x))!=null?Ce:[]]),transform:`translate(${a(c).x},${a(c).y})${a(o)?" scale(1.2)":""}`},[y(To,{actions:(mt=a(s))!=null?mt:[],"is-selected":a(o),node:e.node,"node-type":e.nodeType,"selected-action":e.selectedAction,onClickAction:K[0]||(K[0]=xe=>t("clickAction",xe))},null,8,["actions","is-selected","node","node-type","selected-action"]),m("g",{class:"node-container",onMousedown:te,onTouchstartPassive:te,onMouseup:he,onTouchendPassive:he},[a(f)===a(Ke).Circle?(_(),k("g",Po,[a(T)?(_(),k("circle",{key:0,class:"receiver",r:a(p)+8,fill:a(E),stroke:e.receivingNode?"#0F0":"#0F03","stroke-width":2},null,8,Vo)):V("",!0),m("circle",{class:"body",r:a(p),fill:a(S),stroke:a(O),"stroke-width":4},null,8,Do),a(ge)===a(Ct).Fill?(_(),k("circle",{key:1,class:"progress progressFill",r:Math.max(a(p)*a(C)-2,0),fill:a($)},null,8,Oo)):(_(),k("circle",{key:2,r:a(p)+4.5,class:"progress progressRing",fill:"transparent","stroke-dasharray":(a(p)+4.5)*2*Math.PI,"stroke-width":5,"stroke-dashoffset":(a(p)+4.5)*2*Math.PI-a(C)*(a(p)+4.5)*2*Math.PI,stroke:a($)},null,8,Ao))])):a(f)===a(Ke).Diamond?(_(),k("g",Lo,[a(T)?(_(),k("rect",{key:0,class:"receiver",width:a(p)*a(i)+16,height:a(p)*a(i)+16,transform:`translate(${-(a(p)*a(i)+16)/2}, ${-(a(p)*a(i)+16)/2})`,fill:a(E),stroke:e.receivingNode?"#0F0":"#0F03","stroke-width":2},null,8,Bo)):V("",!0),m("rect",{class:"body",width:a(p)*a(i),height:a(p)*a(i),transform:`translate(${-a(p)*a(i)/2}, ${-a(p)*a(i)/2})`,fill:a(S),stroke:a(O),"stroke-width":4},null,8,qo),a(ge)===a(Ct).Fill?(_(),k("rect",{key:1,class:"progress progressFill",width:Math.max(a(p)*a(i)*a(C)-2,0),height:Math.max(a(p)*a(i)*a(C)-2,0),transform:`translate(${-Math.max(a(p)*a(i)*a(C)-2,0)/2}, ${-Math.max(a(p)*a(i)*a(C)-2,0)/2})`,fill:a($)},null,8,Ro)):(_(),k("rect",{key:2,class:"progress progressDiamond",width:a(p)*a(i)+9,height:a(p)*a(i)+9,transform:`translate(${-(a(p)*a(i)+9)/2}, ${-(a(p)*a(i)+9)/2})`,fill:"transparent","stroke-dasharray":(a(p)*a(i)+9)*4,"stroke-width":5,"stroke-dashoffset":(a(p)*a(i)+9)*4-a(C)*(a(p)*a(i)+9)*4,stroke:a($)},null,8,zo))])):V("",!0),m("text",{fill:a(R),class:"node-title",y:a(b)?10:0},G(a(v)),9,Uo),a(b)?(_(),k("text",{key:2,fill:a(R),class:"node-subtitle",y:"-15"},G(a(b)),9,jo)):V("",!0)],32),y(ut,{name:"fade",appear:""},{default:B(()=>{var xe;return[a(N)?(_(),k("g",Wo,[m("text",{fill:(xe=a(N).color)!=null?xe:a(R),class:re(["node-title",{pulsing:a(N).pulsing}]),y:-a(p)-20},G(a(N).text),11,Go)])):V("",!0)]}),_:1}),y(ut,{name:"fade",appear:""},{default:B(()=>{var xe;return[a(o)&&e.selectedAction?(_(),k("text",{key:0,fill:(xe=a(w).color)!=null?xe:a(R),class:re(["node-title",{pulsing:a(w).pulsing}]),y:a(p)+75},G(a(w).text),11,Ho)):V("",!0)]}),_:1})],14,Fo)}}});var Yo=X(Zo,[["__scopeId","data-v-2cf86b9a"]]);const Jo={class:"stage",width:"100%",height:"100%"},Ko={class:"g1"},Xo=W({__name:"Board",props:{nodes:null,types:null,state:null,visibility:null,width:null,height:null,style:null,classes:null,links:null,selectedAction:null,selectedNode:null,draggingNode:null,receivingNode:null,mousePosition:null,setReceivingNode:{type:Function},setDraggingNode:{type:Function}},setup(e){const n=de(e),i=F({x:0,y:0}),r=F({x:0,y:0}),o=F(!1),l=F(null),s=M(()=>{const w=n.nodes.value.slice();if(n.draggingNode.value){const p=w.splice(w.indexOf(n.draggingNode.value),1)[0];w.push(p)}return w});Pe(()=>{const w=n.draggingNode.value;if(w==null)return null;const p={x:w.position.x+r.value.x,y:w.position.y+r.value.y};let C=Number.MAX_VALUE;n.setReceivingNode.value(n.nodes.value.reduce((E,O)=>{if(O.id===w.id)return E;const S=n.types.value[O.type];if(!Z(S.canAccept,O))return E;const R=Math.pow(p.x-O.position.x,2)+Math.pow(p.y-O.position.y,2);let ge=Z(S.size,O);return R>C||R>ge*ge?E:(C=R,O)},null))});function c(w){w.setTransformOrigin(null),w.moveTo(l.value.$el.clientWidth/2,l.value.$el.clientHeight/2)}function f(w,p=null,C=!1){if(n.draggingNode.value==null){w.preventDefault(),w.stopPropagation();let E,O;if("touches"in w)if(w.touches.length===1)E=w.touches[0].clientX,O=w.touches[0].clientY;else return;else E=w.clientX,O=w.clientY;i.value={x:E,y:O},r.value={x:0,y:0},o.value=!1,C&&n.setDraggingNode.value(p)}p!=null&&(n.state.value.selectedNode=null,n.state.value.selectedAction=null)}function v(w){const{x:p,y:C,scale:E}=l.value.panZoomInstance.getTransform();let O,S;if("touches"in w)if(w.touches.length===1)O=w.touches[0].clientX,S=w.touches[0].clientY;else{b(n.draggingNode.value),n.mousePosition.value=null;return}else O=w.clientX,S=w.clientY;n.mousePosition.value={x:(O-p)/E,y:(S-C)/E},r.value={x:r.value.x+(O-i.value.x)/E,y:r.value.y+(S-i.value.y)/E},i.value={x:O,y:S},(Math.abs(r.value.x)>10||Math.abs(r.value.y)>10)&&(o.value=!0),n.draggingNode.value!=null&&(w.preventDefault(),w.stopPropagation())}function b(w){var p,C;if(n.draggingNode.value!=null&&n.draggingNode.value===w){n.draggingNode.value.position.x+=Math.round(r.value.x/25)*25,n.draggingNode.value.position.y+=Math.round(r.value.y/25)*25;const E=n.nodes.value;E.push(E.splice(E.indexOf(n.draggingNode.value),1)[0]),n.receivingNode.value&&((C=(p=n.types.value[n.receivingNode.value.type]).onDrop)==null||C.call(p,n.receivingNode.value,n.draggingNode.value)),n.setDraggingNode.value(null)}else o.value||(n.state.value.selectedNode=null,n.state.value.selectedAction=null)}function N(w,p){n.state.value.selectedAction===p?a(n.selectedAction).onClick(a(n.selectedNode)):n.state.value={...n.state.value,selectedAction:p}}return(w,p)=>{const C=Tt("panZoom");return a(je)(e.visibility)?(_(),H(C,{key:0,style:$e([{width:e.width,height:e.height},e.style]),class:re(e.classes),selector:".g1",options:{initialZoom:1,minZoom:.1,maxZoom:10,zoomDoubleClickSpeed:1},ref_key:"stage",ref:l,onInit:c,onMousemove:v,onTouchmove:v,onMousedown:p[0]||(p[0]=E=>f(E)),onTouchstart:p[1]||(p[1]=E=>f(E)),onMouseup:p[2]||(p[2]=()=>b(a(e.draggingNode))),onTouchendPassive:p[3]||(p[3]=()=>b(a(e.draggingNode))),onMouseleave:p[4]||(p[4]=()=>b(a(e.draggingNode)))},{default:B(()=>[(_(),k("svg",Jo,[m("g",Ko,[y(nn,{name:"link",appear:""},{default:B(()=>[(_(!0),k(Q,null,ct(a(e.links)||[],E=>(_(),k("g",{key:`${E.startNode.id}-${E.endNode.id}`},[y(ko,{link:E},null,8,["link"])]))),128))]),_:1}),y(nn,{name:"grow",duration:500,appear:""},{default:B(()=>[(_(!0),k(Q,null,ct(a(s),E=>{var O;return _(),k("g",{key:E.id,style:{"transition-duration":"0s"}},[y(Yo,{node:E,nodeType:e.types[E.type],dragging:a(e.draggingNode),dragged:a(e.draggingNode)===E?r.value:void 0,hasDragged:o.value,receivingNode:((O=a(e.receivingNode))==null?void 0:O.id)===E.id,selectedNode:a(e.selectedNode),selectedAction:a(e.selectedAction),onMouseDown:f,onEndDragging:b,onClickAction:S=>N(E,S)},null,8,["node","nodeType","dragging","dragged","hasDragged","receivingNode","selectedNode","selectedAction","onClickAction"])])}),128))]),_:1})])]))]),_:1},8,["style","class","options"])):V("",!0)}}});ye.on("setupVue",e=>Qn.install(e));const On=Symbol("Board");var Ct=(e=>(e.Outline="Outline",e.Fill="Fill",e))(Ct||{}),Ke=(e=>(e.Circle="Circle",e.Diamond="Triangle",e))(Ke||{});function Qo(e){const t=gt({nodes:[],selectedNode:null,selectedAction:null},!1);return kt(n=>{const i=e.call(n,n);i.id=_n("board-"),i.type=On,i[_t]=Xo,i.state?(yr(t),L(i,"state")):(t[Nt]={nodes:i.startNodes().map((s,c)=>(s.id=c,s)),selectedNode:null,selectedAction:null},i.state=t),i.nodes=M(()=>a(l.state).nodes),i.selectedNode=M(()=>l.nodes.value.find(s=>s.id===a(l.state).selectedNode)||null),i.selectedAction=M(()=>{const s=l.selectedNode.value;if(s==null)return null;const c=l.types[s.type];return c.actions==null?null:c.actions.find(f=>f.id===a(l.state).selectedAction)||null}),i.mousePosition=F(null),i.links?L(i,"links"):i.links=M(()=>l.selectedAction.value==null?null:l.selectedAction.value.links&&l.selectedNode.value?Z(l.selectedAction.value.links,l.selectedNode.value):null),i.draggingNode=F(null),i.receivingNode=F(null),L(i,"visibility"),le(i,"visibility",De.Visible),L(i,"width"),le(i,"width","100%"),L(i,"height"),le(i,"height","100%"),L(i,"classes"),L(i,"style");for(const s in i.types){const c=i.types[s];if(L(c,"title"),L(c,"subtitle"),L(c,"label"),L(c,"size"),le(c,"size",50),L(c,"style"),L(c,"classes"),L(c,"draggable"),le(c,"draggable",!1),L(c,"shape"),le(c,"shape","Circle"),L(c,"canAccept"),le(c,"canAccept",!1),L(c,"progress"),L(c,"progressDisplay"),le(c,"progressDisplay","Fill"),L(c,"progressColor"),le(c,"progressColor","none"),L(c,"fillColor"),L(c,"outlineColor"),L(c,"titleColor"),L(c,"actionDistance"),le(c,"actionDistance",Math.PI/6),c.nodes=M(()=>a(l.state).nodes.filter(f=>f.type===s)),le(c,"onClick",function(f){a(l.state).selectedNode=f.id}),c.actions)for(const f of c.actions)L(f,"visibility"),le(f,"visibility",De.Visible),L(f,"icon"),L(f,"fillColor"),L(f,"tooltip"),L(f,"confirmationLabel"),le(f,"confirmationLabel",{text:"Tap again to confirm"}),L(f,"links")}function r(s){i.draggingNode.value=s}function o(s){i.receivingNode.value=s}i[Bt]=function(){const{nodes:s,types:c,state:f,visibility:v,width:b,height:N,style:w,classes:p,links:C,selectedAction:E,selectedNode:O,mousePosition:S,draggingNode:$,receivingNode:R}=this;return{nodes:s,types:c,state:f,visibility:v,width:b,height:N,style:a(w),classes:p,links:C,selectedAction:E,selectedNode:O,mousePosition:S,draggingNode:$,receivingNode:R,setDraggingNode:r,setReceivingNode:o}};const l=i;return l})}function Z(e,t){return Vt(e)?e(t):a(e)}function es(e){let t=0;return e.nodes.value.forEach(n=>{n.id>=t&&(t=n.id+1)}),t}const vt={};ye.on("addLayer",e=>{const t=Xi(e,On);vt[e.id]=e.on("postUpdate",n=>{t.forEach(i=>{Object.values(i.types).forEach(r=>r.nodes.value.forEach(o=>{var l;return(l=r.update)==null?void 0:l.call(r,o,n)}))})})});ye.on("removeLayer",e=>{var t;(t=vt[e.id])==null||t.call(vt),vt[e.id]=void 0});function ts(e,t="points",n=0,i=void 0){const r=fe(e)?e:gt(e);if(r.displayName=t,r.precision=n,r.small=i,!fe(e)){const o=r[qe];o.displayName=t,o.precision=n,o.small=i}return r}new u("10^^8");new u("1e100");ye.on("setupVue",e=>e.use(ei));function ns(e="white",t="8px"){return{transform:"scale(1.05, 1.05)",borderColor:"rgba(0, 0, 0, 0.125)",boxShadow:`-4px -4px 4px rgba(0, 0, 0, 0.25) inset, 0 0 ${t} ${e}`,zIndex:1}}const is=W({props:{visibility:{type:z(Number,Boolean),required:!0},display:{type:z(Object,String,Function),required:!0},style:z(String,Object,Array),classes:z(Object),glowColor:z(String),active:Boolean,floating:Boolean},emits:["selectTab"],setup(e,{emit:t}){const{display:n,glowColor:i,floating:r}=de(e),o=Sn(n),l=M(()=>{const c=pe(i);return c==null||c===""?{}:a(r)?ns(c):{boxShadow:`0px 9px 5px -6px ${c}`}});function s(){t("selectTab")}return{selectTab:s,component:o,glowColorStyle:l,unref:a,Visibility:De,isVisible:je,isHidden:qt}}});function rs(e,t,n,i,r,o){var l;return e.isVisible(e.visibility)?(_(),k("button",{key:0,onClick:t[0]||(t[0]=(...s)=>e.selectTab&&e.selectTab(...s)),class:re(["tabButton",{active:e.active,...e.unref(e.classes)}]),style:$e([{visibility:e.isHidden(e.visibility)?"hidden":void 0},e.glowColorStyle,(l=e.unref(e.style))!=null?l:{}])},[(_(),H(we(e.component)))],6)):V("",!0)}var An=X(is,[["render",rs],["__scopeId","data-v-21427abb"]]);const as=W({props:{visibility:{type:z(Number,Boolean),required:!0},activeTab:{type:z(Object),required:!0},selected:{type:Object,required:!0},tabs:{type:z(Object),required:!0},style:z(String,Object,Array),classes:z(Object),buttonContainerStyle:z(String,Object,Array),buttonContainerClasses:z(Object)},components:{Sticky:Dn,TabButton:An},setup(e){const{activeTab:t}=de(e),n=M(()=>Te[J.theme].floatingTabs),i=Me("");Pe(()=>{const s=pe(t);if(s==null){i.value="";return}if(Xe(s)){i.value=me(s);return}i.value=me(a(s.display))});const r=M(()=>{const s=pe(t);return Xe(s)||!s?void 0:a(s.classes)}),o=M(()=>{const s=pe(t);return Xe(s)||!s?void 0:a(s.style)});function l(s){const{display:c,style:f,classes:v,glowColor:b,visibility:N}=s;return{display:c,style:a(f),classes:v,glowColor:b,visibility:N}}return{floating:n,tabClasses:r,tabStyle:o,Visibility:De,component:i,gatherButtonProps:l,unref:a,isVisible:je,isHidden:qt}}});function os(e,t,n,i,r,o){var c,f;const l=Tt("TabButton"),s=Tt("Sticky");return e.isVisible(e.visibility)?(_(),k("div",{key:0,class:re(["tab-family-container",{...e.unref(e.classes),...e.tabClasses}]),style:$e([{visibility:e.isHidden(e.visibility)?"hidden":void 0},(c=e.unref(e.style))!=null?c:[],(f=e.tabStyle)!=null?f:[]])},[y(s,{class:re(["tab-buttons-container",e.unref(e.buttonContainerClasses)]),style:$e(e.unref(e.buttonContainerStyle))},{default:B(()=>[m("div",{class:re(["tab-buttons",{floating:e.floating}])},[(_(!0),k(Q,null,ct(e.unref(e.tabs),(v,b)=>(_(),H(l,Ve({onSelectTab:N=>e.selected.value=b,floating:e.floating,key:b,active:e.unref(v.tab)===e.unref(e.activeTab)},e.gatherButtonProps(v)),null,16,["onSelectTab","floating","active"]))),128))],2)]),_:1},8,["class","style"]),e.unref(e.activeTab)?(_(),H(we(e.unref(e.component)),{key:0})):V("",!0)],6)):V("",!0)}var ss=X(as,[["render",os],["__scopeId","data-v-58dbf83a"]]);const ls=Symbol("TabButton"),us=Symbol("TabFamily");function cs(e,t){if(Object.keys(e).length===0)throw console.warn("Cannot create tab family with 0 tabs"),new Error("Cannot create tab family with 0 tabs");const n=gt(Object.keys(e)[0],!1);return kt(i=>{var l;const r=(l=t==null?void 0:t.call(i,i))!=null?l:{};r.id=_n("tabFamily-"),r.type=us,r[_t]=ss,r.tabs=Object.keys(e).reduce((s,c)=>{const f=e[c]();return f.type=ls,f[_t]=An,L(f,"visibility"),le(f,"visibility",De.Visible),L(f,"tab"),L(f,"display"),L(f,"classes"),L(f,"style"),L(f,"glowColor"),s[c]=f,s},{}),r.selected=n,r.activeTab=M(()=>{const s=a(o.tabs);if(n.value in s&&je(s[n.value].visibility))return a(s[n.value].tab);const c=Object.values(s).find(f=>je(f.visibility));return c?a(c.tab):null}),L(r,"visibility"),le(r,"visibility",De.Visible),L(r,"classes"),L(r,"style"),L(r,"buttonContainerClasses"),L(r,"buttonContainerStyle"),r[Bt]=function(){const{visibility:s,activeTab:c,selected:f,tabs:v,style:b,classes:N,buttonContainerClasses:w,buttonContainerStyle:p}=this;return{visibility:s,activeTab:c,selected:f,tabs:v,style:a(b),classes:N,buttonContainerClasses:w,buttonContainerStyle:p}};const o=r;return o})}const Ln=u.ln(10);function pt(e){return e}function ds(e,t){if(I(t))return t.invert(u.neg(e));throw new Error("Could not invert due to no input being a variable")}function gs(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");return d.neg(t.getIntegralFormula(e))}throw new Error("Could not integrate due to no input being a variable")}function fs(e){return d.neg(e)}function ms(e,t,n){if(I(t))return t.invert(u.sub(e,ae(n)));if(I(n))return n.invert(u.sub(e,ae(t)));throw new Error("Could not invert due to no input being a variable")}function hs(e,t,n){var i,r;if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const o=t.getIntegralFormula(e);return d.times(n,(i=t.innermostVariable)!=null?i:0).add(o)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const o=n.getIntegralFormula(e);return d.times(t,(r=n.innermostVariable)!=null?r:0).add(o)}throw new Error("Could not integrate due to no input being a variable")}function vs(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.add(i,n)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e);return d.add(i,t)}throw new Error("Could not integrate due to no input being a variable")}function ps(e,t,n){if(I(t))return t.invert(u.add(e,ae(n)));if(I(n))return n.invert(u.sub(ae(t),e));throw new Error("Could not invert due to no input being a variable")}function bs(e,t,n){var i,r;if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const o=t.getIntegralFormula(e);return d.sub(o,d.times(n,(i=t.innermostVariable)!=null?i:0))}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const o=n.getIntegralFormula(e);return d.times(t,(r=n.innermostVariable)!=null?r:0).sub(o)}throw new Error("Could not integrate due to no input being a variable")}function ys(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.sub(i,n)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e);return d.sub(i,t)}throw new Error("Could not integrate due to no input being a variable")}function _s(e,t,n){if(I(t))return t.invert(u.div(e,ae(n)));if(I(n))return n.invert(u.div(e,ae(t)));throw new Error("Could not invert due to no input being a variable")}function ws(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.times(i,n)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e);return d.times(i,t)}throw new Error("Could not integrate due to no input being a variable")}function Ns(e,t,n){if(I(t))return d.div(e,n);if(I(n))return d.div(e,t);throw new Error("Could not apply substitution due to no input being a variable")}function Cs(e,t,n){if(I(t))return t.invert(u.mul(e,ae(n)));if(I(n))return n.invert(u.div(ae(t),e));throw new Error("Could not invert due to no input being a variable")}function Ss(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.div(i,n)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e);return d.div(t,i)}throw new Error("Could not integrate due to no input being a variable")}function ks(e,t,n){if(I(t))return d.mul(e,n);if(I(n))return d.mul(e,t);throw new Error("Could not apply substitution due to no input being a variable")}function Is(e,t){if(I(t))return t.invert(u.recip(e));throw new Error("Could not invert due to no input being a variable")}function xs(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.ln(n)}throw new Error("Could not integrate due to no input being a variable")}function Ms(e,t){if(I(t))return t.invert(u.pow10(e));throw new Error("Could not invert due to no input being a variable")}function Es(e){return u.ln(e).sub(1).times(e).div(Ln)}function $s(e,t){if(I(t)){const n=Ln.times(e);return t.invert(n.div(n.div(Math.E).lambertw()))}throw new Error("Could not invert due to no input being a variable")}function Ts(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");return new d({inputs:[t.getIntegralFormula(e)],evaluate:Es,invert:$s})}throw new Error("Could not integrate due to no input being a variable")}function Fs(e,t,n){if(I(t))return t.invert(u.pow(ae(n),e));if(I(n))return n.invert(u.root(ae(t),e));throw new Error("Could not invert due to no input being a variable")}function Ps(e,t){return u.ln(e).sub(1).times(e).div(u.ln(t))}function Vs(e,t,n){if(I(t)){const i=u.ln(ae(n)).times(e);return t.invert(i.div(i.div(Math.E).lambertw()))}throw new Error("Could not invert due to no input being a variable")}function Ds(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");return new d({inputs:[t.getIntegralFormula(e),n],evaluate:Ps,invert:Vs})}throw new Error("Could not integrate due to no input being a variable")}function Os(e,t){if(I(t))return t.invert(u.pow(2,e));throw new Error("Could not invert due to no input being a variable")}function As(e){return u.ln(e).sub(1).times(e).div(u.ln(2))}function Ls(e,t){if(I(t)){const n=u.ln(2).times(e);return t.invert(n.div(n.div(Math.E).lambertw()))}throw new Error("Could not invert due to no input being a variable")}function Bs(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");return new d({inputs:[t.getIntegralFormula(e)],evaluate:As,invert:Ls})}throw new Error("Could not integrate due to no input being a variable")}function qs(e,t){if(I(t))return t.invert(u.exp(e));throw new Error("Could not invert due to no input being a variable")}function Rs(e){return u.ln(e).sub(1).times(e)}function zs(e,t){if(I(t))return t.invert(u.div(e,u.div(e,Math.E).lambertw()));throw new Error("Could not invert due to no input being a variable")}function Us(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");return new d({inputs:[t.getIntegralFormula(e)],evaluate:Rs,invert:zs})}throw new Error("Could not integrate due to no input being a variable")}function js(e,t,n){if(I(t))return t.invert(u.root(e,ae(n)));if(I(n))return n.invert(u.ln(e).div(u.ln(ae(t))));throw new Error("Could not invert due to no input being a variable")}function Ws(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e),r=d.add(n,1);return d.pow(i,r).div(r)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e);return d.pow(t,i).div(d.ln(t))}throw new Error("Could not integrate due to no input being a variable")}function Gs(e,t){if(I(t))return t.invert(u.root(e,10));throw new Error("Could not invert due to no input being a variable")}function Hs(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.pow10(n).div(d.ln(10))}throw new Error("Could not integrate due to no input being a variable")}function Zs(e,t,n){if(I(t))return t.invert(u.ln(e).div(ae(n)));if(I(n))return n.invert(u.root(ae(t),e));throw new Error("Could not invert due to no input being a variable")}function Ys(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.pow(n,i).div(d.ln(n))}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e),r=d.add(t,1);return d.pow(i,r).div(r)}throw new Error("Could not integrate due to no input being a variable")}function Js(e,t,n){if(I(t))return t.invert(u.root(e,u.recip(ae(n))));if(I(n))return n.invert(u.ln(ae(t)).div(u.ln(e)));throw new Error("Could not invert due to no input being a variable")}function Ks(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.pow(i,d.recip(n).add(1)).times(n).div(d.add(n,1))}throw new Error("Could not integrate due to no input being a variable")}function Xs(e,t){if(I(t))return t.invert(u.ln(e));throw new Error("Could not invert due to no input being a variable")}function Qs(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.exp(n)}throw new Error("Could not integrate due to no input being a variable")}function el(e,t=2,n=u.fromComponents_noNormalize(1,0,1)){const i=u.minabs(t,1e308).toNumber();return u.tetrate(e,i,n)}function tl(e,t,n,i){if(I(t))return t.invert(u.ssqrt(e));throw new Error("Could not invert due to no input being a variable")}function nl(e,t=2,n=u.fromComponents_noNormalize(1,0,1)){const i=u.minabs(t,1e308).toNumber();return u.iteratedexp(e,i,new u(n))}function il(e,t,n,i){if(I(t))return t.invert(u.iteratedlog(e,Math.E,u.minabs(1e308,ae(n)).toNumber()));throw new Error("Could not invert due to no input being a variable")}function rl(e,t=10,n=2){const i=u.minabs(n,1e308).toNumber();return u.iteratedlog(e,t,i)}function al(e,t=10){const n=u.minabs(t,1e308).toNumber();return u.slog(e,n)}function ol(e,t,n){if(I(t))return t.invert(u.tetrate(e,u.minabs(1e308,ae(n)).toNumber()));throw new Error("Could not invert due to no input being a variable")}function sl(e,t,n){const i=u.minabs(t,1e308).toNumber();return u.layeradd(e,i,n)}function ll(e,t,n,i){if(I(t))return t.invert(u.layeradd(e,u.minabs(1e308,ae(n)).negate().toNumber()));throw new Error("Could not invert due to no input being a variable")}function ul(e,t){if(I(t))return t.invert(u.pow(Math.E,e).times(e));throw new Error("Could not invert due to no input being a variable")}function cl(e,t){if(I(t))return t.invert(u.tetrate(e,2));throw new Error("Could not invert due to no input being a variable")}function dl(e,t,n){const i=u.minabs(t,1e308).toNumber();return u.pentate(e,i,n)}function gl(e,t){if(I(t))return t.invert(u.asin(e));throw new Error("Could not invert due to no input being a variable")}function fl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.cos(n).neg()}throw new Error("Could not integrate due to no input being a variable")}function ml(e,t){if(I(t))return t.invert(u.acos(e));throw new Error("Could not invert due to no input being a variable")}function hl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.sin(n)}throw new Error("Could not integrate due to no input being a variable")}function vl(e,t){if(I(t))return t.invert(u.atan(e));throw new Error("Could not invert due to no input being a variable")}function pl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.cos(n).ln().neg()}throw new Error("Could not integrate due to no input being a variable")}function bl(e,t){if(I(t))return t.invert(u.sin(e));throw new Error("Could not invert due to no input being a variable")}function yl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.asin(n).times(n).add(d.sqrt(d.sub(1,d.pow(n,2))))}throw new Error("Could not integrate due to no input being a variable")}function _l(e,t){if(I(t))return t.invert(u.cos(e));throw new Error("Could not invert due to no input being a variable")}function wl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.acos(n).times(n).sub(d.sqrt(d.sub(1,d.pow(n,2))))}throw new Error("Could not integrate due to no input being a variable")}function Nl(e,t){if(I(t))return t.invert(u.tan(e));throw new Error("Could not invert due to no input being a variable")}function Cl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.atan(n).times(n).sub(d.ln(d.pow(n,2).add(1)).div(2))}throw new Error("Could not integrate due to no input being a variable")}function Sl(e,t){if(I(t))return t.invert(u.asinh(e));throw new Error("Could not invert due to no input being a variable")}function kl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.cosh(n)}throw new Error("Could not integrate due to no input being a variable")}function Il(e,t){if(I(t))return t.invert(u.acosh(e));throw new Error("Could not invert due to no input being a variable")}function xl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.sinh(n)}throw new Error("Could not integrate due to no input being a variable")}function Ml(e,t){if(I(t))return t.invert(u.atanh(e));throw new Error("Could not invert due to no input being a variable")}function El(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.cosh(n).ln()}throw new Error("Could not integrate due to no input being a variable")}function $l(e,t){if(I(t))return t.invert(u.sinh(e));throw new Error("Could not invert due to no input being a variable")}function Tl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.asinh(n).times(n).sub(d.pow(n,2).add(1).sqrt())}throw new Error("Could not integrate due to no input being a variable")}function Fl(e,t){if(I(t))return t.invert(u.cosh(e));throw new Error("Could not invert due to no input being a variable")}function Pl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.acosh(n).times(n).sub(d.add(n,1).sqrt().times(d.sub(n,1).sqrt()))}throw new Error("Could not integrate due to no input being a variable")}function Vl(e,t){if(I(t))return t.invert(u.tanh(e));throw new Error("Could not invert due to no input being a variable")}function Dl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.atanh(n).times(n).add(d.sub(1,d.pow(n,2)).ln().div(2))}throw new Error("Could not integrate due to no input being a variable")}function ft(e){return(t,n)=>new d({inputs:[t,n],evaluate:e,invert:pt})}function I(e){return e instanceof ee&&e.hasVariable()}function ae(e,t){return e instanceof ee?e.evaluate(t):a(e)}function Ol(){return d.pow(this,2).div(2)}function Al(){return this}const se=class{constructor(e){this.negate=this.neg,this.negated=this.neg,this.sgn=this.sign,this.plus=this.add,this.subtract=this.sub,this.minus=this.sub,this.multiply=this.mul,this.times=this.mul,this.divide=this.div,this.divideBy=this.div,this.dividedBy=this.div,this.reciprocal=this.recip,this.reciprocate=this.recip,this.logarithm=this.log;let t;"inputs"in e&&(e.inputs=e.inputs.map(n=>typeof n=="object"&&qe in n?n[qe]:n)),"variable"in e?(typeof e.variable=="object"&&qe in e.variable&&(e.variable=e.variable[qe]),t=this.setupVariable(e)):"evaluate"in e?t=this.setupFormula(e):t=this.setupConstant(e),this.inputs=t.inputs,this.internalVariables=t.internalVariables,this.innermostVariable=t.innermostVariable,this.internalEvaluate=t.internalEvaluate,this.internalInvert=t.internalInvert,this.internalIntegrate=t.internalIntegrate,this.internalIntegrateInner=t.internalIntegrateInner,this.applySubstitution=t.applySubstitution}setupVariable({variable:e}){return{inputs:[e],internalVariables:1,innermostVariable:e,internalIntegrate:Ol,internalIntegrateInner:Al,applySubstitution:pt}}setupConstant({inputs:e}){if(e.length!==1)throw new Error("Evaluate function is required if inputs is not length 1");return{inputs:e,internalVariables:0}}setupFormula(e){const{inputs:t,evaluate:n,invert:i,integrate:r,integrateInner:o,applySubstitution:l}=e,s=t.reduce((v,b)=>v+(b instanceof se?b.internalVariables:0),0),c=t.find(v=>v instanceof se&&v.hasVariable()),f=s===1?c==null?void 0:c.innermostVariable:void 0;return{inputs:t,internalEvaluate:n,internalInvert:i,internalIntegrate:r,internalIntegrateInner:o,applySubstitution:l,innermostVariable:f,internalVariables:s}}isInvertible(){return this.hasVariable()&&(this.internalInvert!=null||this.internalEvaluate==null)}isIntegrable(){return this.hasVariable()&&this.internalIntegrate!=null}isIntegralInvertible(){return this.isIntegrable()?this.getIntegralFormula().isInvertible():!1}hasVariable(){return this.internalVariables===1}evaluate(e){var t,n,i;return(i=(n=(t=this.internalEvaluate)==null?void 0:t.call(this,...this.inputs.map(r=>ae(r,e))))!=null?n:this.hasVariable()?e:null)!=null?i:ae(this.inputs[0])}equals(e){return this.inputs.length===e.inputs.length&&this.inputs.every((t,n)=>t instanceof se&&e.inputs[n]instanceof se?t.equals(e.inputs[n]):!(t instanceof se)&&!(e.inputs[n]instanceof se)&&u.eq(a(t),a(e.inputs[n])))&&this.internalEvaluate===e.internalEvaluate&&this.internalInvert===e.internalInvert&&this.internalIntegrate===e.internalIntegrate&&this.internalVariables===e.internalVariables}static constant(e){return new d({inputs:[e]})}static variable(e){return new d({variable:e})}static step(e,t,n){const i=F(0),r=n(d.variable(i)),o=ke(t);function l(c){return u.lt(c,a(o))?c:(i.value=u.sub(c,a(o)),u.add(r.evaluate(),a(o)))}function s(c,f){if(I(f)&&r.isInvertible())return u.gt(c,a(o))&&(c=u.add(r.invert(u.sub(c,a(o))),a(o))),f.invert(c);throw new Error("Could not invert due to no input being a variable")}return new d({inputs:[e],evaluate:l,invert:r.isInvertible()&&r.hasVariable()?s:void 0})}static if(e,t,n,i){const r=F(0),o=d.variable(r),l=n(o),s=i==null?void 0:i(o),c=ke(t);function f(b){return a(c)?(r.value=b,l.evaluate()):s?(r.value=b,s.evaluate()):b}function v(b,N){if(!I(N)||!l.isInvertible()||s!=null&&!s.isInvertible())throw new Error("Could not invert due to no input being a variable");return a(c)?N.invert(l.invert(b)):s?N.invert(s.invert(b)):N.invert(b)}return new d({inputs:[e],evaluate:f,invert:l.isInvertible()&&l.hasVariable()?v:void 0})}static conditional(e,t,n,i){return d.if(e,t,n,i)}static abs(e){return new d({inputs:[e],evaluate:u.abs})}static neg(e){return new d({inputs:[e],evaluate:u.neg,invert:ds,applySubstitution:fs,integrate:gs})}static sign(e){return new d({inputs:[e],evaluate:u.sign})}static round(e){return new d({inputs:[e],evaluate:u.round})}static floor(e){return new d({inputs:[e],evaluate:u.floor})}static ceil(e){return new d({inputs:[e],evaluate:u.ceil})}static trunc(e){return new d({inputs:[e],evaluate:u.trunc})}static add(e,t){return new d({inputs:[e,t],evaluate:u.add,invert:ms,integrate:hs,integrateInner:vs,applySubstitution:pt})}static sub(e,t){return new d({inputs:[e,t],evaluate:u.sub,invert:ps,integrate:bs,integrateInner:ys,applySubstitution:pt})}static mul(e,t){return new d({inputs:[e,t],evaluate:u.mul,invert:_s,integrate:ws,applySubstitution:Ns})}static div(e,t){return new d({inputs:[e,t],evaluate:u.div,invert:Cs,integrate:Ss,applySubstitution:ks})}static recip(e){return new d({inputs:[e],evaluate:u.recip,invert:Is,integrate:xs})}static clamp(e,t,n){return new d({inputs:[e,t,n],evaluate:u.clamp,invert:pt})}static pLog10(e){return new d({inputs:[e],evaluate:u.pLog10})}static absLog10(e){return new d({inputs:[e],evaluate:u.absLog10})}static log10(e){return new d({inputs:[e],evaluate:u.log10,invert:Ms,integrate:Ts})}static log(e,t){return new d({inputs:[e,t],evaluate:u.log,invert:Fs,integrate:Ds})}static log2(e){return new d({inputs:[e],evaluate:u.log2,invert:Os,integrate:Bs})}static ln(e){return new d({inputs:[e],evaluate:u.ln,invert:qs,integrate:Us})}static pow(e,t){return new d({inputs:[e,t],evaluate:u.pow,invert:js,integrate:Ws})}static pow10(e){return new d({inputs:[e],evaluate:u.pow10,invert:Gs,integrate:Hs})}static pow_base(e,t){return new d({inputs:[e,t],evaluate:u.pow_base,invert:Zs,integrate:Ys})}static root(e,t){return new d({inputs:[e,t],evaluate:u.root,invert:Js,integrate:Ks})}static factorial(e){return new d({inputs:[e],evaluate:u.factorial})}static gamma(e){return new d({inputs:[e],evaluate:u.gamma})}static lngamma(e){return new d({inputs:[e],evaluate:u.lngamma})}static exp(e){return new d({inputs:[e],evaluate:u.exp,invert:Xs,integrate:Qs})}static sqr(e){return d.pow(e,2)}static sqrt(e){return d.root(e,2)}static cube(e){return d.pow(e,3)}static cbrt(e){return d.root(e,3)}static tetrate(e,t=2,n=u.fromComponents_noNormalize(1,0,1)){return new d({inputs:[e,t,n],evaluate:el,invert:tl})}static iteratedexp(e,t=2,n=u.fromComponents_noNormalize(1,0,1)){return new d({inputs:[e,t,n],evaluate:nl,invert:il})}static iteratedlog(e,t=10,n=1){return new d({inputs:[e,t,n],evaluate:rl})}static slog(e,t=10){return new d({inputs:[e,t],evaluate:al,invert:ol})}static layeradd10(e,t){return new d({inputs:[e,t],evaluate:u.layeradd10})}static layeradd(e,t,n=10){return new d({inputs:[e,t,n],evaluate:sl,invert:ll})}static lambertw(e){return new d({inputs:[e],evaluate:u.lambertw,invert:ul})}static ssqrt(e){return new d({inputs:[e],evaluate:u.ssqrt,invert:cl})}static pentate(e,t=2,n=u.fromComponents_noNormalize(1,0,1)){return new d({inputs:[e,t,n],evaluate:dl})}static sin(e){return new d({inputs:[e],evaluate:u.sin,invert:bl,integrate:fl})}static cos(e){return new d({inputs:[e],evaluate:u.cos,invert:_l,integrate:hl})}static tan(e){return new d({inputs:[e],evaluate:u.tan,invert:Nl,integrate:pl})}static asin(e){return new d({inputs:[e],evaluate:u.asin,invert:gl,integrate:yl})}static acos(e){return new d({inputs:[e],evaluate:u.acos,invert:ml,integrate:wl})}static atan(e){return new d({inputs:[e],evaluate:u.atan,invert:vl,integrate:Cl})}static sinh(e){return new d({inputs:[e],evaluate:u.sinh,invert:$l,integrate:kl})}static cosh(e){return new d({inputs:[e],evaluate:u.cosh,invert:Fl,integrate:xl})}static tanh(e){return new d({inputs:[e],evaluate:u.tanh,invert:Vl,integrate:El})}static asinh(e){return new d({inputs:[e],evaluate:u.asinh,invert:Sl,integrate:Tl})}static acosh(e){return new d({inputs:[e],evaluate:u.acosh,invert:Il,integrate:Pl})}static atanh(e){return new d({inputs:[e],evaluate:u.atanh,invert:Ml,integrate:Dl})}step(e,t){return d.step(this,e,t)}if(e,t){return d.if(this,e,t)}conditional(e,t){return d.if(this,e,t)}abs(){return d.abs(this)}neg(){return d.neg(this)}sign(){return d.sign(this)}round(){return d.round(this)}floor(){return d.floor(this)}ceil(){return d.ceil(this)}trunc(){return d.trunc(this)}add(e){return d.add(this,e)}sub(e){return d.sub(this,e)}mul(e){return d.mul(this,e)}div(e){return d.div(this,e)}recip(){return d.recip(this)}max(e){return d.max(this,e)}min(e){return d.min(this,e)}maxabs(e){return d.maxabs(this,e)}minabs(e){return d.minabs(this,e)}clamp(e,t){return d.clamp(this,e,t)}clampMin(e){return d.clampMin(this,e)}clampMax(e){return d.clampMax(this,e)}pLog10(){return d.pLog10(this)}absLog10(){return d.absLog10(this)}log10(){return d.log10(this)}log(e){return d.log(this,e)}log2(){return d.log2(this)}ln(){return d.ln(this)}pow(e){return d.pow(this,e)}pow10(){return d.pow10(this)}pow_base(e){return d.pow_base(this,e)}root(e){return d.root(this,e)}factorial(){return d.factorial(this)}gamma(){return d.gamma(this)}lngamma(){return d.lngamma(this)}exp(){return d.exp(this)}sqr(){return d.pow(this,2)}sqrt(){return d.root(this,2)}cube(){return d.pow(this,3)}cbrt(){return d.root(this,3)}tetrate(e=2,t=u.fromComponents_noNormalize(1,0,1)){return d.tetrate(this,e,t)}iteratedexp(e=2,t=u.fromComponents_noNormalize(1,0,1)){return d.iteratedexp(this,e,t)}iteratedlog(e=10,t=1){return d.iteratedlog(this,e,t)}slog(e=10){return d.slog(this,e)}layeradd10(e){return d.layeradd10(this,e)}layeradd(e,t){return d.layeradd(this,e,t)}lambertw(){return d.lambertw(this)}ssqrt(){return d.ssqrt(this)}pentate(e=2,t=u.fromComponents_noNormalize(1,0,1)){return d.pentate(this,e,t)}sin(){return d.sin(this)}cos(){return d.cos(this)}tan(){return d.tan(this)}asin(){return d.asin(this)}acos(){return d.acos(this)}atan(){return d.atan(this)}sinh(){return d.sinh(this)}cosh(){return d.cosh(this)}tanh(){return d.tanh(this)}asinh(){return d.asinh(this)}acosh(){return d.acosh(this)}atanh(){return d.atanh(this)}};let ee=se;ee.negate=se.neg;ee.negated=se.neg;ee.sgn=se.sign;ee.plus=se.add;ee.subtract=se.sub;ee.minus=se.sub;ee.multiply=se.mul;ee.times=se.mul;ee.divide=se.div;ee.divideBy=se.div;ee.dividedBy=se.div;ee.reciprocal=se.recip;ee.reciprocate=se.recip;ee.max=ft(u.max);ee.min=ft(u.min);ee.minabs=ft(u.minabs);ee.maxabs=ft(u.maxabs);ee.clampMin=ft(u.clampMin);ee.clampMax=ft(u.clampMax);ee.logarithm=se.log;class d extends ee{invert(t){if(this.internalInvert&&this.hasVariable())return this.internalInvert.call(this,t,...this.inputs);if(this.inputs.length===1&&this.hasVariable())return t;throw new Error("Cannot invert non-invertible formula")}evaluateIntegral(t){if(!this.isIntegrable())throw new Error("Cannot evaluate integral of formula without integral");return this.getIntegralFormula().evaluate(t)}invertIntegral(t){if(!this.isIntegrable()||!this.getIntegralFormula().isInvertible())throw new Error("Cannot invert integral of formula without invertible integral");return this.getIntegralFormula().invert(t)}calculateConstantOfIntegration(){const t=this.getIntegralFormula().evaluate(1),n=u.add(this.evaluate(0),this.evaluate(1)).div(2);return u.sub(n,t)}getIntegralFormula(t){if(this.integralFormula!=null&&t==null)return this.integralFormula;if(t==null){if(this.applySubstitution==null){if(t=[],this.internalIntegrate==null)throw new Error("Cannot integrate formula with non-integrable operation");let n=this.internalIntegrate.call(this,t,...this.inputs);t.forEach(i=>n=i(n)),this.integralFormula=n}else if(this.internalIntegrate)this.integralFormula=this.internalIntegrate.call(this,void 0,...this.inputs);else if(this.inputs.length===1&&this.internalEvaluate==null&&this.hasVariable())this.integralFormula=this;else throw new Error("Cannot integrate formula without variable");return this.integralFormula}else{if(this.applySubstitution==null)throw new Error("Cannot have two complex operations in an integrable formula");if(t.push(n=>this.applySubstitution.call(this,n,...this.inputs)),this.internalIntegrateInner)return this.internalIntegrateInner.call(this,t,...this.inputs);if(this.internalIntegrate)return this.internalIntegrate.call(this,t,...this.inputs);if(this.inputs.length===1&&this.internalEvaluate==null&&this.hasVariable())return this;throw new Error("Cannot integrate formula without variable")}}}function Wt(e,t,n=!0,i){var o,l,s;let r=u.add(t,(o=a(e.innermostVariable))!=null?o:0);if(n){if(!e.isIntegrable())throw new Error("Cannot calculate cost with spending resources of non-integrable formula");const c=r;r=r.sub(i!=null?i:10).clampMin((l=a(e.innermostVariable))!=null?l:0);let f=u.sub(e.evaluateIntegral(r),e.evaluateIntegral());if(c.gt(1e308))return f.add(u.sub(c,r).times(e.evaluate(r)));for(let v=r.toNumber();v{const{multiplier:n,description:i,enabled:r,smallerIsBetter:o}=e.call(t,t),l=ke(n),s=ke(i),c=r==null?void 0:ke(r);return{apply:f=>u.times(f,a(l)),invert:f=>u.div(f,a(l)),getFormula:f=>d.times(f,l),enabled:c,description:i==null?void 0:ie(()=>y("div",{class:"modifier-container"},[a(s)!=null?y("span",{class:"modifier-description"},[ze(a(s))]):null,y("span",{class:"modifier-amount",style:(o===!0?u.gt(a(l),1):u.lt(a(l),1))?"color: var(--danger)":""},[D("\xD7"),at(a(l))])]))}})}function Bl(e){return kt(()=>{const t=e();return{apply:n=>t.filter(i=>a(i.enabled)!==!1).reduce((i,r)=>r.apply(i),n),invert:t.every(n=>n.invert!=null)?n=>t.filter(i=>a(i.enabled)!==!1).reduceRight((i,r)=>r.invert(i),n):void 0,getFormula:t.every(n=>n.getFormula!=null)?n=>t.filter(i=>a(i.enabled)!==!1).reduce((i,r)=>r.getFormula(i),n):void 0,enabled:t.some(n=>n.enabled!=null)?M(()=>t.filter(n=>a(n.enabled)!==!1).length>0):void 0,description:t.some(n=>n.description!=null)?ie(()=>y(Q,null,[t.filter(n=>a(n.enabled)!==!1).map(n=>a(n.description)).filter(n=>n).map(ze)])):void 0}})}const ql={key:0},Rl={key:0,class:"mark star"},zl=["src"],Ul=W({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,n)=>e.mark?(_(),k("div",ql,[e.mark===!0?(_(),k("div",Rl)):(_(),k("img",{key:1,class:"mark",src:e.mark},null,8,zl))])):V("",!0)}});var Bn=X(Ul,[["__scopeId","data-v-2207999f"]]);const jl=W({__name:"Node",props:{id:null},setup(e){const n=de(e),i=Ft(Jt,()=>{}),r=Ft(Kt,()=>{}),o=Me(null),l=M(()=>o.value&&o.value.parentElement);return Ee([l,n.id],([s,c],[f,v])=>{f&&r(a(v)),s&&i(c,s)}),dn(()=>r(a(n.id))),(s,c)=>(_(),k("div",{class:"node",ref_key:"node",ref:o},null,512))}});var qn=X(jl,[["__scopeId","data-v-a48cb382"]]);W({props:{display:{type:z(Object,String,Function),required:!0},visibility:{type:z(Number,Boolean),required:!0},style:z(Object,String,Array),classes:z(Object),onClick:Function,onHold:Function,canClick:{type:z(Boolean),required:!0},small:Boolean,mark:z(Boolean,String),id:{type:String,required:!0}},components:{Node:qn,MarkNode:Bn},setup(e){const{display:t,onClick:n,onHold:i}=de(e),r=Me("");Pe(()=>{var v;const s=pe(t);if(s==null){r.value="";return}if(Xe(s)){r.value=me(s);return}const c=me((v=s.title)!=null?v:"","h3"),f=me(s.description,"div");r.value=me(ie(()=>y("span",null,[s.title!=null?y("div",null,[y(c,null,null)]):null,y(f,null,null)])))});const{start:o,stop:l}=Cn(n,i);return{start:o,stop:l,comp:r,Visibility:De,isVisible:je,isHidden:qt,unref:a}}});const Wl=["x1","y1","x2","y2"],Gl=W({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const n=de(e),i=M(()=>{const o=n.startNode.value.rect,l=n.boundingRect.value,s=l?{x:o.x+o.width/2-l.x,y:o.y+o.height/2-l.y}:{x:0,y:0};return n.link.value.offsetStart&&(s.x+=n.link.value.offsetStart.x,s.y+=n.link.value.offsetStart.y),s}),r=M(()=>{const o=n.endNode.value.rect,l=n.boundingRect.value,s=l?{x:o.x+o.width/2-l.x,y:o.y+o.height/2-l.y}:{x:0,y:0};return n.link.value.offsetEnd&&(s.x+=n.link.value.offsetEnd.x,s.y+=n.link.value.offsetEnd.y),s});return(o,l)=>(_(),k("line",Ve({"stroke-width":"15px",stroke:"white"},e.link,{x1:a(i).x,y1:a(i).y,x2:a(r).x,y2:a(r).y}),null,16,Wl))}});const Hl=W({__name:"Links",props:{links:null},setup(e){var c;const n=Ue(e,"links"),i=F(null),r=Ft(Xt,F({})),o=Ft(Qt,F(void 0)),l=F((c=i.value)==null?void 0:c.getBoundingClientRect());Ee(o,()=>{var f;return l.value=(f=i.value)==null?void 0:f.getBoundingClientRect()}),At(()=>{var f;return l.value=(f=i.value)==null?void 0:f.getBoundingClientRect()});const s=M(()=>{var v,b;const f=r.value;return(b=(v=n.value)==null?void 0:v.filter(N=>{var w,p;return((w=f[N.startNode.id])==null?void 0:w.rect)&&((p=f[N.startNode.id])==null?void 0:p.rect)}))!=null?b:[]});return(f,v)=>(_(),k(Q,null,[a(s)?(_(),k("svg",Zn(Ve({key:0},f.$attrs)),[(_(!0),k(Q,null,ct(a(s),(b,N)=>(_(),H(Gl,{key:N,link:b,boundingRect:l.value,startNode:a(r)[b.startNode.id],endNode:a(r)[b.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):V("",!0),m("div",{ref_key:"resizeListener",ref:i,class:"resize-listener"},null,512)],64))}});var Zl=X(Hl,[["__scopeId","data-v-063f6d6b"]]);W({props:{nodes:{type:z(Array),required:!0},leftSideNodes:z(Array),rightSideNodes:z(Array),branches:z(Array)},components:{Links:Zl},setup(e){const{nodes:t,leftSideNodes:n,rightSideNodes:i}=de(e),r=Me();Pe(()=>{const s=pe(t);r.value=me(ie(()=>y(Q,null,[s.map(c=>y("span",{class:"row tree-row",style:"margin: 50px auto;"},[c.map(ze)]))])))});const o=Me();Pe(()=>{const s=pe(n);o.value=s?me(ie(()=>y("span",{class:"left-side-nodes small"},[s.map(ze)]))):""});const l=Me();return Pe(()=>{const s=pe(i);l.value=s?me(ie(()=>y("span",{class:"side-nodes small"},[s.map(ze)]))):""}),{unref:a,nodesComp:r,leftNodesComp:o,rightNodesComp:l}}});W({props:{display:z(Object,String,Function),visibility:{type:z(Number,Boolean),required:!0},style:z(String,Object,Array),classes:z(Object),onClick:Function,onHold:Function,color:z(String),glowColor:z(String),canClick:{type:z(Boolean),required:!0},mark:z(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:Bn,Node:qn},setup(e){const{onClick:t,onHold:n,display:i}=de(e),r=St(i),{start:o,stop:l}=Cn(t,n);return{start:o,stop:l,comp:r,unref:a,Visibility:De,isCoercableComponent:Xe,isVisible:je,isHidden:qt}}});function Yl(e){const t=[],n={};let i=!1;function r(){return i||(t.push(...e()),n.base=t.map(s=>ke(s.base)),n.baseText=t.map(s=>ke(s.baseText)),n.visible=t.map(s=>ke(s.visible)),n.title=t.map(s=>ke(s.title)),n.subtitle=t.map(s=>ke(s.subtitle)),i=!0),t}const o=gt({},!1);return[ie(()=>{const s=r();let c=!0;const f=s.map((v,b)=>{var O,S,$;if(a(n.visible[b])===!1)return null;const N=y("h3",{onClick:()=>o.value[b]=!o.value[b],style:"cursor: pointer"},[y("span",{class:"modifier-toggle"+(a(o.value[b])?" collapsed":"")},[D("\u25BC")]),a(n.title[b]),a(n.subtitle[b])!=null?y("span",{class:"subtitle"},[D(" ("),a(n.subtitle[b]),D(")")]):null]),w=a(o.value[b])?null:y(Q,null,[y("div",{class:"modifier-container"},[y("span",{class:"modifier-description"},[ze((O=a(n.baseText[b]))!=null?O:"Base")]),y("span",{class:"modifier-amount"},[Lt((S=a(n.base[b]))!=null?S:1),v.unit])]),v.modifier.description==null?null:ze(a(v.modifier.description))]),p=!c;c=!1;const C=($=a(n.base[b]))!=null?$:1,E=v.modifier.apply(C);return y(Q,null,[p?y("br",null,null):null,y("div",{style:{"--unit":J.alignUnits&&v.unit!=null?"'"+v.unit+"'":""}},[N,y("br",null,null),w,y("hr",null,null),y("div",{class:"modifier-container"},[y("span",{class:"modifier-description"},[D("Total")]),y("span",{class:"modifier-amount",style:(v.smallerIsBetter===!0?u.gt(E,C!=null?C:1):u.lt(E,C!=null?C:1))?"color: var(--danger)":""},[at(E),v.unit])])])])});return y(Q,null,[f])}),o]}function cn(e,t,n=1){const i=ke(t),r=ke(n);if(!e.hasVariable())throw new Error("Cannot create formula preview if the formula does not have a variable");return ie(()=>{var o;if(a(i)){const l=at(e.evaluate()),s=at(e.evaluate(u.add(a((o=e.innermostVariable)!=null?o:0),a(r))));return y(Q,null,[y("b",null,[y("i",null,[l,D(" \u2192 "),s])])])}return y(Q,null,[at(e.evaluate())])})}const Jl=fn(),Mt={dirt:120,sand:60,gravel:40,wood:30,stone:24,coal:20,copper:15,iron:12,silver:10,gold:8,emerald:6,platinum:5,diamond:4,berylium:3,unobtainium:2,ultimatum:1},Rn=In("main",function(){const e=ts(0,"energy"),t=gt(!1),n=d.variable(0).add(1),i=M(()=>s.nodes.value.reduce((T,x)=>(x.type==="resource"&&(T[x.state.type]=x),T),{})),r=M(()=>v.reduce((T,x)=>{var P,K,ne;const A=(ne=(K=(P=i.value[x])==null?void 0:P.state)==null?void 0:K.amount)!=null?ne:0;let te=u.floor(n.invertIntegral(A)).sub(10).clampMin(0),he=Wt(n,te,!0,0);for(;;){const Ce=n.evaluate(te);if(u.add(he,Ce).lte(A))te=te.add(1),he=u.add(he,Ce);else break}return T[x]=te,T},{}));function o(T){var P,K,ne;const x=(ne=(K=(P=i.value[T])==null?void 0:P.state)==null?void 0:K.amount)!=null?ne:0,A=r.value[T],te=Wt(n,A,!0),he=Wt(n,u.add(A,1),!0);return u.sub(x,te).max(0).div(u.sub(he,te)).toNumber()}const l=dt({});et(()=>{v.forEach(T=>{Ee(()=>r.value[T],(x,A)=>{u.gt(x,A)&&J.active===U.id&&Jl.info(y("div",null,[y("h3",null,[u.eq(x,1)?`${Et(T)} discovered`:`${Et(T)} is now Level ${rt(x)}`,D("!")]),y("div",null,[D("Energy gain is now 1.01x higher.")])]))})})});const s=Qo(T=>({startNodes:()=>[{position:{x:0,y:0},type:"mine",state:0},{position:{x:0,y:-200},type:"brokenFactory"}],types:{mine:{shape:Ke.Diamond,size:50,title:"\u{1FAA8}",label:x=>x===T.selectedNode.value?{text:"Mining..."}:Object.keys(i.value).length===0?{text:"Click me!"}:null,progress:x=>x==T.selectedNode.value?new u(x.state).toNumber():0,progressDisplay:Ct.Outline,progressColor:"var(--accent2)",classes:x=>({running:x===T.selectedNode.value}),draggable:!0},brokenFactory:{shape:Ke.Diamond,size:50,title:"\u{1F6E0}\uFE0F",label:x=>x===T.selectedNode.value?{text:"Broken Forge"}:null,actionDistance:100,actions:[{id:"repair",icon:"build",tooltip:{text:"Repair - 1000 energy"},onClick(x){u.gte(e.value,1e3)&&(x.type="factory",e.value=u.sub(e.value,1e3))},confirmationLabel:()=>u.gte(e.value,1e3)?{text:"Tap again to confirm"}:{text:"Cannot afford",color:"var(--danger)"}}],draggable:!0},factory:{shape:Ke.Diamond,size:50,title:"\u{1F6E0}\uFE0F",label:x=>x===T.selectedNode.value?{text:t.value?"Forge":"Forge - Drag a material to me!"}:null,actionDistance:100,actions:[{id:"deselect",icon:"",tooltip:{text:"De-select material"},onClick(x){x.state=void 0},visibility:x=>x.state!=null},{id:"craft",icon:"",tooltip:x=>({text:"Craft unknown item"}),onClick(x){},visibility:x=>x.state!=null}],draggable:!0},resource:{shape:Ke.Circle,size:50,title:x=>x.state.type,subtitle:x=>rt(x.state.amount),progress:x=>o(x.state.type),onClick(){},progressDisplay:Ct.Outline,progressColor:"var(--accent3)",draggable:!0}},style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"},links(){const x=T.nodes.value.find(A=>A.type==="mine");return Object.keys(l).map(A=>({startNode:x,endNode:i.value[A],stroke:"var(--accent3)",strokeWidth:5}))}}));function c(T,x){let A=i.value[T];if(A==null){const te=s.nodes.value.find(P=>P.type==="mine");let he=te.position.x;he=s.nodes.value.filter(P=>P.position.yte.position.y-50).reduce((P,K)=>Math.max(P,K.position.x+100),0),A={id:es(s),position:{x:he,y:te.position.y},type:"resource",state:{type:T,amount:x}},s.nodes.value.push(A)}else{const te=A.state;A.state={...te,amount:u.add(te.amount,x)}}}const f=Object.values(Mt).reduce((T,x)=>T+x),v=Object.keys(Mt),b=Bl(()=>v.map(T=>Ll(()=>({description:()=>`${Et(T)} (Lv. ${rt(r.value[T])})`,multiplier:()=>u.pow(1.01,r.value[T]),enabled:()=>{var x,A;return T in i.value&&u.gt((A=(x=i.value[T].state)==null?void 0:x.amount)!=null?A:0,0)}})))),N=M(()=>b.apply(1)),[w,p]=Yl(()=>[{title:"Energy Gain",modifier:b,base:1,unit:"/s"}]),C=cs({general:()=>({display:"Energy",glowColor(){return C.activeTab.value===this.tab?"white":""},tab:w,energyTabCollapsed:p})}),E=F(!1),O=ie(()=>y(We,{modelValue:E.value,"onUpdate:modelValue":T=>E.value=T},{header:()=>y("h2",null,[D("Modifiers")]),body:()=>Le(C)}));this.on("preUpdate",T=>{var x;if(Object.keys(l).forEach(A=>{l[A]-=T,l[A]<=0&&delete l[A]}),((x=s.selectedNode.value)==null?void 0:x.type)==="mine"){const A=s.selectedNode.value,te=u.add(A.state,T),he=te.floor();A.state=u.sub(te,he);const P=he.div(f).floor();P.gt(0)&&v.forEach(ne=>{c(ne,u.times(Mt[ne],P)),l[ne]=.3});const K=u.sub(he,P).toNumber();for(let ne=0;nes.selectedAction.value===s.types.brokenFactory.actions[0]?-1e3:0),$=cn(d.variable(0).add(e),()=>u.neq(S.value,0),S),R=M(()=>0),ge=cn(d.variable(0).add(N),()=>u.neq(R.value,0),R);return{name:"World",board:s,energy:e,modifierTabs:C,hasForged:t,display:ie(()=>y(Q,null,[y(Dn,{class:"nav-container"},{default:()=>[y("span",{class:"nav-segment"},[y("h2",{style:"color: white; text-shadow: 0px 0px 10px white;"},[Le($)])," ",D("energy")]),y("span",{class:"nav-segment"},[D("("),y("h3",{style:"color: white; text-shadow: 0px 0px 10px white;"},[u.gt(N.value,0)?"+":"",Le(ge)]),D("/s)")]),y("span",{class:"nav-segment"},[y("button",{class:"button",style:"display: inline",onClick:()=>E.value=!0},[D("open modifiers")])]),U.devSpeed===0?y("span",{class:"nav-segment"},[D("Game Paused")]):U.devSpeed!=null&&U.devSpeed!==1?y("span",{class:"nav-segment"},[D("Dev Speed: "),Lt(U.devSpeed),D("x")]):null]}),Le(s),Le(O)]))}}),Kl=e=>[Rn],zn=M(()=>!1);function Xl(e,t){}var Ql=Object.freeze(Object.defineProperty({__proto__:null,main:Rn,getInitialLayers:Kl,hasWon:zn,fixOldSave:Xl},Symbol.toStringTag,{value:"Module"}));const It=e=>(tt("data-v-4a50ce42"),e=e(),nt(),e),eu={class:"game-over-modal-header"},tu=["src","alt"],nu={class:"game-over-modal-title"},iu=It(()=>m("h2",null,"Congratulations!",-1)),ru={key:0},au=It(()=>m("br",null,null,-1)),ou=It(()=>m("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),su=It(()=>m("br",null,null,-1)),lu=["href"],uu=It(()=>m("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),cu=W({__name:"GameOverScreen",setup(e){const{title:t,logo:n,discordName:i,discordLink:r,versionNumber:o,versionTitle:l}=Y,s=M(()=>Zt(U.timePlayed)),c=M(()=>zn.value&&!U.keepGoing),f=Ue(U,"autosave");function v(){U.keepGoing=!0}function b(){Ye(ot())}return(N,w)=>(_(),H(We,{"model-value":a(c)},{header:B(()=>[m("div",eu,[a(n)?(_(),k("img",{key:0,class:"game-over-modal-logo",src:a(n),alt:a(t)},null,8,tu)):V("",!0),m("div",nu,[iu,m("h4",null,"You've beaten "+G(a(t))+" v"+G(a(o))+": "+G(a(l)),1)])])]),body:B(({shown:p})=>[p?(_(),k("div",ru,[m("div",null,"It took you "+G(a(s))+" to beat the game.",1),au,ou,su,m("div",null,[m("a",{href:a(r),class:"game-over-modal-discord-link"},[uu,D(" "+G(a(i)),1)],8,lu)]),y(Fe,{title:"Autosave",modelValue:a(f),"onUpdate:modelValue":w[0]||(w[0]=C=>fe(f)?f.value=C:null)},null,8,["modelValue"])])):V("",!0)]),footer:B(()=>[m("div",{class:"game-over-footer"},[m("button",{onClick:v,class:"button"},"Keep Going"),m("button",{onClick:b,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var du=X(cu,[["__scopeId","data-v-4a50ce42"]]);const Rt=e=>(tt("data-v-2776d67d"),e=e(),nt(),e),gu=Rt(()=>m("div",{class:"nan-modal-header"},[m("h2",null,"NaN value detected!")],-1)),fu={key:0},mu=Rt(()=>m("br",null,null,-1)),hu=["href"],vu=Rt(()=>m("span",{class:"material-icons nan-modal-discord"},"discord",-1)),pu=Rt(()=>m("br",null,null,-1)),bu={class:"nan-footer"},yu=W({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:n}=Y,i=F(!0),r=F(!0),o=Ue(ue,"hasNaN"),l=F(null);Ee(o,N=>{N?(i.value=U.autosave,r.value=U.devSpeed===0):(U.autosave=i.value,U.devSpeed=r.value?0:null)});const s=M(()=>{var N;return(N=ue.NaNPath)==null?void 0:N.join(".")}),c=M(()=>ue.NaNPersistent!=null?ue.NaNPersistent.value:null);function f(){ue.NaNPersistent!=null&&(ue.NaNPersistent.value=new u(0),ue.hasNaN=!1)}function v(){ue.NaNPersistent&&(ue.NaNPersistent.value=new u(1),ue.hasNaN=!1)}function b(){ue.NaNPersistent&&(ue.NaNPersistent.value=new u(NaN),ue.hasNaN=!1)}return(N,w)=>(_(),k(Q,null,[y(We,Ve({modelValue:a(o),"onUpdate:modelValue":w[4]||(w[4]=p=>fe(o)?o.value=p:null)},N.$attrs),{header:B(()=>[gu]),body:B(()=>[m("div",null,[D(' Attempted to assign "'+G(a(s))+'" to NaN',1),a(c)?(_(),k("span",fu,G(" ")+"(previously "+G(a(Lt)(a(c)))+")",1)):V("",!0),D(". Auto-saving has been "+G(i.value?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),mu,m("div",null,[m("a",{href:a(n)||"https://discord.gg/yJ4fjnjU54",class:"nan-modal-discord-link"},[vu,D(" "+G(a(t)||"The Paper Pilot Community"),1)],8,hu)]),pu,y(Fe,{title:"Autosave",modelValue:i.value,"onUpdate:modelValue":w[0]||(w[0]=p=>i.value=p)},null,8,["modelValue"]),a(Y).enablePausing?(_(),H(Fe,{key:0,title:"Pause game",modelValue:r.value,"onUpdate:modelValue":w[1]||(w[1]=p=>r.value=p)},null,8,["modelValue"])):V("",!0)]),footer:B(()=>[m("div",bu,[m("button",{onClick:w[2]||(w[2]=p=>{var C;return(C=l.value)==null?void 0:C.open()}),class:"button"},"Open Saves Manager"),m("button",{onClick:f,class:"button"},"Set to 0"),m("button",{onClick:v,class:"button"},"Set to 1"),a(c)&&a(u).neq(a(c),0)&&a(u).neq(a(c),1)?(_(),k("button",{key:0,onClick:w[3]||(w[3]=p=>o.value=!1),class:"button"}," Set to previous ")):V("",!0),m("button",{onClick:b,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),y(Pn,{ref_key:"savesManager",ref:l},null,512)],64))}});var _u=X(yu,[["__scopeId","data-v-2776d67d"]]);const wu={key:0,class:"tpsDisplay"},Nu={key:0,class:"low"},Cu=W({__name:"TPS",setup(e){const t=M(()=>u.div(ue.lastTenTicks.length,ue.lastTenTicks.reduce((o,l)=>o+l,0))),n=F([]);Pe(()=>{n.value.push(Math.round(t.value.toNumber())),n.value.length>10&&(n.value=n.value.slice(1))});const i=M(()=>n.value.reduce((o,l)=>u.max(o,l),0)),r=M(()=>u.sub(t.value,i.value).gt(1));return(o,l)=>a(t).isNan()?V("",!0):(_(),k("div",wu,[D(" TPS: "+G(a(rt)(a(t)))+" ",1),y(ut,{name:"fade"},{default:B(()=>[a(r)?(_(),k("span",Nu,G(a(rt)(a(i))),1)):V("",!0)]),_:1})]))}});var Su=X(Cu,[["__scopeId","data-v-46a3ed5b"]]);var ku=W({__name:"App",setup(e){const t=Y.useHeader,n=M(()=>Te[J.theme].variables),i=Ue(J,"showTPS"),r=M(()=>me(ie(()=>y(Q,null,[sr.map(Le)]))));return(o,l)=>(_(),k(Q,null,[m("div",{id:"modal-root",style:$e(a(n))},null,4),m("div",{class:re(["app",{useHeader:a(t)}]),style:$e(a(n))},[a(t)?(_(),H(Vn,{key:0})):V("",!0),y(wo),a(a(i))?(_(),H(Su,{key:1})):V("",!0),y(du),y(_u),(_(),H(we(a(r))))],6)],64))}});var Iu=X(ku,[["__scopeId","data-v-41d15e5e"]]);function xu(e={}){const{immediate:t=!1,onNeedRefresh:n,onOfflineReady:i,onRegistered:r,onRegisteredSW:o,onRegisterError:l}=e;let s,c,f,v;const b=async(w=!0)=>{await f,w&&(s==null||s.addEventListener("controlling",p=>{p.isUpdate&&window.location.reload()})),await(v==null?void 0:v())};async function N(){if("serviceWorker"in navigator){const{Workbox:w,messageSW:p}=await bt(()=>import("./workbox-window.4a8794bb.js"),[]);v=async()=>{c&&c.waiting&&await p(c.waiting,{type:"SKIP_WAITING"})},s=new w("./sw.js",{scope:"./",type:"classic"}),s.addEventListener("activated",C=>{C.isUpdate||i==null||i()});{const C=()=>{n==null||n()};s.addEventListener("waiting",C),s.addEventListener("externalwaiting",C)}s.register({immediate:t}).then(C=>{c=C,o?o("./sw.js",C):r==null||r(C)}).catch(C=>{l==null||l(C)})}}return f=N(),b}function Mu(e={}){const{immediate:t=!0,onNeedRefresh:n,onOfflineReady:i,onRegistered:r,onRegisteredSW:o,onRegisterError:l}=e,s=F(!1),c=F(!1);return{updateServiceWorker:xu({immediate:t,onNeedRefresh(){s.value=!0,n==null||n()},onOfflineReady(){c.value=!0,i==null||i()},onRegistered:r,onRegisteredSW:o,onRegisterError:l}),offlineReady:c,needRefresh:s}}document.title=Y.title;window.projInfo=Y;if(Y.id==="")throw new Error("Project ID is empty! Please select a unique ID for this project in /src/data/projInfo.json");requestAnimationFrame(async()=>{console.log(`%cMade in Profectus%c +Learn more at www.moddingtree.com`,"font-weight: bold; font-size: 24px; color: #A3BE8C; background: #2E3440; padding: 4px 8px; border-radius: 8px;","padding: 4px;"),await tr();const{globalBus:e}=await bt(()=>Promise.resolve().then(function(){return Qi}),void 0),{startGameLoop:t}=await bt(()=>import("./gameLoop.fdd22bbc.js"),["assets/gameLoop.fdd22bbc.js","assets/@fontsource.f66d05e7.css","assets/vue.804e2479.js","assets/amator.1e5a40c8.js","assets/bezier-easing.a990b400.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/lz-string.dccec454.js","assets/vue-next-select.f5f69b1a.js","assets/vue-next-select.9e6f4164.css","assets/vuedraggable.ce650350.js","assets/sortablejs.a0f68e5e.js","assets/vue-textarea-autosize.35804eaf.js","assets/vue-panzoom.89be130f.js","assets/panzoom.30c56ba6.js","assets/wheel.f2ae740f.js","assets/ngraph.events.083734c6.js","assets/vue-toastification.5231d1bd.js","assets/vue-toastification.4b5f8ac8.css"]),n=window.vue=Yn(Iu);e.emit("setupVue",n),n.mount("#app"),et(()=>{const i=fn(),{updateServiceWorker:r}=Mu({onNeedRefresh(){i.info("New content available, click here to update.",{timeout:!1,closeOnClick:!1,draggable:!1,icon:{iconClass:"material-icons",iconChildren:"refresh",iconTag:"i"},rtl:!1,onClick(){r()}})},onOfflineReady(){i.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(o){o&&setInterval(()=>o.update(),60*60*1e3)}})}),t()});export{u as D,bt as _,ue as a,Y as b,Ql as c,ye as g,nr as l,U as p,J as s}; diff --git a/assets/index.2f12c259.css b/assets/index.6da26b86.css similarity index 97% rename from assets/index.2f12c259.css rename to assets/index.6da26b86.css index 4e6de6f..fe60408 100644 --- a/assets/index.2f12c259.css +++ b/assets/index.6da26b86.css @@ -1 +1 @@ -.table{display:flex;flex-flow:column wrap;justify-content:center;align-items:center;max-width:100%;margin:0 auto}.table+.table{margin-top:10px}.row{display:flex;flex-flow:row wrap;justify-content:center;align-items:stretch;max-width:100%;margin:0 10px}.row>:not(.feature){margin:0;display:flex}.col{display:flex;flex-flow:column wrap;justify-content:center;align-items:center;height:100%;margin:10px 0}.row.mergeAdjacent>.feature:not(.dontMerge),.row.mergeAdjacent>.tooltip-container>.feature:not(.dontMerge){margin-left:0;margin-right:0;border-radius:0}.row.mergeAdjacent>.feature:not(.dontMerge):first-child,.row.mergeAdjacent>.tooltip-container:first-child>.feature:not(.dontMerge){border-radius:var(--border-radius) 0 0 var(--border-radius)}.row.mergeAdjacent>.feature:not(.dontMerge):last-child,.row.mergeAdjacent>.tooltip-container:last-child>.feature:not(.dontMerge){border-radius:0 var(--border-radius) var(--border-radius) 0}.row.mergeAdjacent>.feature:not(.dontMerge):first-child:last-child,.row.mergeAdjacent>.tooltip-container:first-child:last-child>.feature:not(.dontMerge){border-radius:var(--border-radius)}.row-grid.mergeAdjacent>.feature:not(.dontMerge),.row-grid.mergeAdjacent>.tooltip-container>.feature:not(.dontMerge){margin:0;border-radius:0}.row-grid.mergeAdjacent>.feature:not(.dontMerge):last-child,.row-grid.mergeAdjacent>.tooltip-container:last-child>.feature:not(.dontMerge){border-radius:0}.row-grid.mergeAdjacent>.feature:not(.dontMerge):first-child,.row-grid.mergeAdjacent>.tooltip-container:first-child>.feature:not(.dontMerge){border-radius:0}.table-grid>.row-grid.mergeAdjacent:last-child>.feature:not(.dontMerge):first-child{border-radius:0 0 0 var(--border-radius)}.table-grid>.row-grid.mergeAdjacent:first-child>.feature:not(.dontMerge):last-child{border-radius:0 var(--border-radius) 0 0}.table-grid>.row-grid.mergeAdjacent:first-child>.feature:not(.dontMerge):first-child{border-radius:var(--border-radius) 0 0 0}.table-grid>.row-grid.mergeAdjacent:last-child>.feature:not(.dontMerge):last-child{border-radius:0 0 var(--border-radius) 0}.col.mergeAdjacent .feature:not(.dontMerge){margin-top:0;margin-bottom:0;border-radius:0}.col.mergeAdjacent .feature:not(.dontMerge):first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}.col.mergeAdjacent .feature:not(.dontMerge):last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}.col.mergeAdjacent .feature:not(.dontMerge):first-child:last-child{border-radius:var(--border-radius)}.resize-listener[data-v-2b1dc1bc]{position:absolute;top:0px;left:0;right:-4px;bottom:5px;z-index:-10;pointer-events:none}.modal-mask{position:fixed;z-index:9998;top:0;left:0;bottom:0;right:0;background-color:#00000080;transition:opacity .3s ease}.modal-wrapper{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.modal-container{width:640px;max-width:95vw;max-height:95vh;background-color:var(--background);padding:20px;border-radius:5px;transition:all .3s ease;text-align:left;border:var(--modal-border);box-sizing:border-box;display:flex;flex-direction:column}.modal-header{width:100%}.modal-body{margin:20px 0;width:100%;overflow-y:auto;overflow-x:hidden}.modal-footer{width:100%}.modal-default-footer{display:flex}.modal-default-flex-grow{flex-grow:1}.modal-enter-from,.modal-leave-active{opacity:0}.modal-enter-from .modal-container,.modal-leave-active .modal-container{-webkit-transform:scale(1.1);transform:scale(1.1)}.layer-container[data-v-72dd78b1]{min-width:100%;min-height:100%;margin:0;flex-grow:1;display:flex;isolation:isolate}.layer-tab[data-v-72dd78b1]:not(.minimized){padding-top:20px;padding-bottom:20px;min-height:100%;flex-grow:1;text-align:center;position:relative}.inner-tab>.layer-container>.layer-tab[data-v-72dd78b1]:not(.minimized){padding-top:50px}.layer-tab.minimized[data-v-72dd78b1]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;padding:55px 0 0;margin:0;cursor:pointer;font-size:40px;color:var(--foreground);border:none;background-color:transparent}.layer-tab.minimized>*[data-v-72dd78b1]{margin:0;writing-mode:vertical-rl;text-align:left;padding-left:10px;width:50px}.inner-tab>.layer-container>.layer-tab[data-v-72dd78b1]:not(.minimized){margin:-50px -10px;padding:50px 10px}.modal-body .layer-tab[data-v-72dd78b1]{padding-bottom:0}.modal-body .layer-tab[data-v-72dd78b1]:not(.hasSubtabs){padding-top:0}.minimize[data-v-72dd78b1]{position:sticky;top:6px;right:9px;z-index:7;line-height:30px;border:none;background:var(--background);box-shadow:var(--background) 0 2px 3px 5px;border-radius:50%;color:var(--foreground);font-size:40px;cursor:pointer;margin-top:-44px;margin-right:-30px}.minimized+.minimize[data-v-72dd78b1]{transform:rotate(-90deg);top:10px;right:18px;pointer-events:none}.goBack[data-v-72dd78b1]{position:sticky;top:10px;left:10px;line-height:30px;margin-top:-50px;margin-left:-35px;border:none;background:var(--background);box-shadow:var(--background) 0 2px 3px 5px;border-radius:50%;color:var(--foreground);font-size:30px;cursor:pointer;z-index:7}.goBack[data-v-72dd78b1]:hover{transform:scale(1.1);text-shadow:0 0 7px var(--foreground)}.layer-tab.minimized>*>.desc{color:var(--accent1);font-size:30px}details[data-v-4b4bda40]{margin:10px 0;padding-left:18px}summary[data-v-4b4bda40]{cursor:pointer;margin-bottom:10px;margin-left:-18px}ul[data-v-4b4bda40]{margin:var(--feature-margin) 0;background:var(--raised-background);border:2px solid rgba(0,0,0,.125);padding:5px 5px 5px 15px;list-style:inside}li[data-v-4b4bda40]{margin:8px 0}li[data-v-4b4bda40]:before{padding:2px 8px;margin-right:8px;border-radius:var(--border-radius)}.feature[data-v-4b4bda40]:before{content:"Feature";background:var(--accent1)}.fix[data-v-4b4bda40]:before{content:"Fix";background:var(--accent2)}.balancing[data-v-4b4bda40]:before{content:"Balancing";background:var(--accent3)}.breaking[data-v-4b4bda40]:before{content:"Breaking";background:var(--danger)}.tooltip-container[data-v-6102fa3a]{position:relative;--xoffset: 0px;--yoffset: 0px;text-shadow:none!important}.tooltip[data-v-6102fa3a],.tooltip[data-v-6102fa3a]:after{pointer-events:none;position:absolute}.tooltip[data-v-6102fa3a]{text-align:center;width:150px;font-size:14px;line-height:1.2;bottom:calc(100% + var(--yoffset));left:calc(50% + var(--xoffset));margin-bottom:5px;transform:translate(-50%);padding:7px;border-radius:3px;background-color:var(--tooltip-background);color:var(--points);z-index:100!important;word-break:break-word}.tooltip[data-v-6102fa3a] hr{margin:var(--feature-margin) 0}.shown[data-v-6102fa3a]{z-index:10}.fade-enter-from[data-v-6102fa3a],.fade-leave-to[data-v-6102fa3a]{opacity:0}.tooltip[data-v-6102fa3a]:after{content:" ";position:absolute;top:100%;bottom:100%;left:calc(50% - var(--xoffset));width:0;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--tooltip-background) transparent transparent transparent}.tooltip.left[data-v-6102fa3a],.side-nodes .tooltip[data-v-6102fa3a]:not(.right):not(.bottom):not(.top){bottom:calc(50% + var(--yoffset));left:unset;right:calc(100% + var(--xoffset));margin-bottom:unset;margin-right:5px;transform:translateY(50%)}.tooltip.left[data-v-6102fa3a]:after,.side-nodes .tooltip[data-v-6102fa3a]:not(.right):not(.bottom):not(.top):after{top:calc(50% + var(--yoffset));bottom:unset;left:100%;right:100%;margin-left:unset;margin-top:-5px;border-color:transparent transparent transparent var(--tooltip-background)}.tooltip.right[data-v-6102fa3a]{bottom:calc(50% + var(--yoffset));left:calc(100% + var(--xoffset));margin-bottom:unset;margin-left:5px;transform:translateY(50%)}.tooltip.right[data-v-6102fa3a]:after{top:calc(50% + var(--yoffset));left:0;right:100%;margin-left:-10px;margin-top:-5px;border-color:transparent var(--tooltip-background) transparent transparent}.tooltip.bottom[data-v-6102fa3a]{top:calc(100% + var(--yoffset));bottom:unset;left:calc(50% + var(--xoffset));margin-bottom:unset;margin-top:5px;transform:translate(-50%)}.tooltip.bottom[data-v-6102fa3a]:after{top:0;margin-top:-10px;border-color:transparent transparent var(--tooltip-background) transparent}.pinned[data-v-6102fa3a]{position:absolute;right:-5px;top:-5px;transform:rotate(45deg)}.info-modal-header[data-v-4f97aa40]{display:flex;margin:-20px -20px 0;background:var(--raised-background);align-items:center}.info-modal-header *[data-v-4f97aa40]{margin:0}.info-modal-logo[data-v-4f97aa40]{height:4em;width:4em}.info-modal-title[data-v-4f97aa40]{display:flex;flex-direction:column;padding:10px 0;margin-left:10px}.info-modal-discord-link[data-v-4f97aa40]{display:flex;align-items:center}.info-modal-discord[data-v-4f97aa40]{margin:0 4px 0 0}.field{display:flex;position:relative;min-height:2em;margin:10px 0;user-select:none;justify-content:space-between;align-items:center}.field>*{margin:0}.vue-select{width:50%;border-radius:var(--border-radius)}.field-buttons .vue-select{width:unset}.vue-select,.vue-dropdown{border-color:var(--outline)}.vue-dropdown{background:var(--raised-background)}.vue-dropdown-item{color:var(--foreground)}.vue-dropdown-item,.vue-dropdown-item *{transition-duration:0s}.vue-dropdown-item.highlighted{background-color:var(--highlighted)}.vue-dropdown-item.selected,.vue-dropdown-item.highlighted.selected{background-color:var(--bought)}.vue-input input{font-size:inherit}.vue-input input::placeholder{color:var(--link)}.field[data-v-11046116]{cursor:pointer}input[data-v-11046116]{appearance:none;pointer-events:none}span[data-v-11046116]{width:100%;padding-right:41px;position:relative}input+span[data-v-11046116]:before{content:"";position:absolute;top:calc(50% - 7px);right:0px;border-radius:7px;width:36px;height:14px;background-color:var(--outline);opacity:.38;vertical-align:top;transition:background-color .2s,opacity .2s}input+span[data-v-11046116]:after{content:"";position:absolute;top:calc(50% - 10px);right:16px;border-radius:50%;width:20px;height:20px;background-color:var(--locked);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;transition:background-color .2s,transform .2s}input:checked+span[data-v-11046116]:before{background-color:var(--link);opacity:.6}input:checked+span[data-v-11046116]:after{background-color:var(--link);transform:translate(16px)}input:active+span[data-v-11046116]:before{background-color:var(--link);opacity:.6}input:checked:active+span[data-v-11046116]:before{background-color:var(--outline);opacity:.38}input:disabled+span[data-v-11046116]{color:#000;opacity:.38;cursor:default}input:disabled+span[data-v-11046116]:before{background-color:var(--outline);opacity:.38}input:checked:disabled+span[data-v-11046116]:before{background-color:var(--link);opacity:.6}.feedback[data-v-01a1b95c]{position:relative}.feedback[data-v-01a1b95c]:after{position:absolute;left:calc(100% + 5px);top:50%;transform:translateY(-50%);content:"\2714";opacity:0;pointer-events:none;box-shadow:inset 0 0 0 35px #6f94b600;text-shadow:none}.feedback.left[data-v-01a1b95c]:after{left:unset;right:calc(100% + 5px)}.feedback.activated[data-v-01a1b95c]:after{animation:feedback-01a1b95c .5s ease-out forwards}@keyframes feedback-01a1b95c{0%{opacity:1;transform:scale3d(.4,.4,1),translateY(-50%)}80%{opacity:.1}to{opacity:0;transform:scale3d(1.2,1.2,1),translateY(-50%)}}.option-tabs{border-bottom:2px solid var(--outline);margin-top:10px;margin-bottom:-10px}.option-tabs button{background-color:transparent;color:var(--foreground);margin-bottom:-2px;font-size:14px;cursor:pointer;padding:5px 20px;border:none;border-bottom:2px solid var(--foreground)}.option-tabs button:not(.selected){border-bottom-color:transparent}.option-title .tooltip-container{display:inline;margin-left:5px}.option-title desc{display:block;opacity:.6;font-size:small;width:300px;margin-left:0}.save-button{text-align:right}form[data-v-90bd4994]{margin:0;width:100%}.field>*[data-v-90bd4994]{margin:0}input[data-v-90bd4994]{width:50%;outline:none;border:solid 1px var(--outline);background-color:unset;border-radius:var(--border-radius)}.fullWidth[data-v-90bd4994]{width:100%}.container[data-v-2f8ef34c]{display:flex;align-items:center;background:var(--raised-background);box-shadow:var(--raised-background) 0 2px 3px 5px}.container.confirming button[data-v-2f8ef34c]{font-size:1em}.container>*[data-v-2f8ef34c]{margin:0 4px}.danger,.button.danger{position:relative;border:solid 2px var(--danger);border-right-width:16px}.danger:after{position:absolute;content:"!";color:#fff;right:-13px}.save[data-v-32313015]{position:relative;border:solid 4px var(--outline);padding:4px;background:var(--raised-background);margin:var(--feature-margin);display:flex;align-items:center;min-height:30px}.save.active[data-v-32313015]{border-color:var(--bought)}.open[data-v-32313015]{display:inline;margin:0;padding-left:0}.handle[data-v-32313015]{flex-grow:0;margin-right:8px;margin-left:0;cursor:pointer}.details[data-v-32313015]{margin:0 80px 0 0;flex-grow:1}.error[data-v-32313015]{font-size:.8em;color:var(--danger)}.save-version[data-v-32313015]{margin-left:4px;font-size:.7em;opacity:.7}.actions[data-v-32313015]{position:absolute;top:0;bottom:0;right:4px;display:flex;padding:4px;z-index:1}.editname[data-v-32313015]{margin:0}.save button{transition-duration:0s}.save .actions button{display:flex;font-size:1.2em}.save .actions button .material-icons{font-size:unset}.save .button.danger{display:flex;align-items:center;padding:4px}.save .field,.field form[data-v-2a4275be],.field .field-title[data-v-2a4275be],.field .field-buttons[data-v-2a4275be]{margin:0}.field-buttons[data-v-2a4275be]{display:flex}.field-buttons .field[data-v-2a4275be]{margin:0 0 0 8px}.modal-footer[data-v-2a4275be]{margin-top:-20px}.footer[data-v-2a4275be]{display:flex;margin-top:20px}.importingFailed input{color:red}.field-buttons .v-select{width:220px}.presets .vue-select[aria-expanded=true] vue-dropdown{visibility:hidden}.nav[data-v-318a1c31]{background-color:var(--raised-background);display:flex;left:0;right:0;top:0;height:46px;width:100%;border-bottom:4px solid var(--outline)}.nav>*[data-v-318a1c31]{height:46px;width:46px;display:flex;cursor:pointer;flex-shrink:0}.nav>.banner[data-v-318a1c31]{height:100%;width:unset}.overlay-nav[data-v-318a1c31]{position:fixed;top:10px;left:10px;display:flex;flex-direction:column;z-index:2}.overlay-nav>*[data-v-318a1c31]{height:50px;width:50px;display:flex;cursor:pointer;margin:0;align-items:center;justify-content:center}.title[data-v-318a1c31]{font-size:36px;text-align:left;margin-left:12px;cursor:unset}.nav>.title[data-v-318a1c31]{width:unset;flex-shrink:1;overflow:hidden;white-space:nowrap}.nav .saves[data-v-318a1c31],.nav .info[data-v-318a1c31]{display:flex}.tooltip-container[data-v-318a1c31]{width:100%;height:100%;display:flex}.overlay-nav .discord[data-v-318a1c31]{position:relative}.discord img[data-v-318a1c31]{width:100%;height:100%}.discord-links[data-v-318a1c31]{position:fixed;top:45px;padding:20px;right:-280px;width:200px;transition:right .25s ease;background:var(--raised-background);z-index:10}.overlay-nav .discord-links[data-v-318a1c31]{position:absolute;left:-280px;right:unset;transition:left .25s ease}.overlay-nav .discord:hover .discord-links[data-v-318a1c31]{left:-10px}.discord-links li[data-v-318a1c31]{margin-bottom:4px}.discord-links li[data-v-318a1c31]:first-child{font-size:1.2em}*:not(.overlay-nav) .discord:hover .discord-links[data-v-318a1c31]{right:0}.material-icons[data-v-318a1c31]{font-size:36px}.material-icons[data-v-318a1c31]:hover{text-shadow:5px 0 10px var(--link),-3px 0 12px var(--foreground)}.nav .version-container[data-v-318a1c31]{display:flex;height:25px;margin-bottom:0;margin-left:10px}.overlay-nav .version-container[data-v-318a1c31]{width:unset;height:25px}.version[data-v-318a1c31]{color:var(--points)}.version:hover span[data-v-318a1c31]{text-shadow:5px 0 10px var(--points),-3px 0 12px var(--points)}.nav>div>a[data-v-318a1c31],.overlay-nav>div>a[data-v-318a1c31]{color:var(--foreground);text-shadow:none}.tabs-container[data-v-dcd207b4]{width:100vw;flex-grow:1;overflow-x:auto;overflow-y:hidden;display:flex}.tabs-container[data-v-dcd207b4]:not(.useHeader){width:calc(100vw - 50px);margin-left:50px}.tab[data-v-dcd207b4]{position:relative;height:100%;flex-grow:1;transition-duration:0s;overflow-y:auto;overflow-x:hidden}.inner-tab[data-v-dcd207b4]{padding:50px 10px;min-height:calc(100% - 100px);display:flex;flex-direction:column;margin:0;flex-grow:1}.tab+.tab>.inner-tab[data-v-dcd207b4]{border-left:solid 4px var(--outline)}.tab hr{height:4px;border:none;background:var(--outline);margin:var(--feature-margin) 0}.tab .modal-body hr{margin:7px 0}.sticky[data-v-cccac690]{position:sticky;background:var(--background);width:calc(100% - 2px);z-index:3}.link[data-v-57c4970a]{transition-duration:0s}.link.pulsing[data-v-57c4970a]{animation:pulsing-57c4970a 2s ease-in infinite}@keyframes pulsing-57c4970a{0%{opacity:.25}50%{opacity:1}to{opacity:.25}}.action:not(.boardnode):hover circle[data-v-9efb2a56],.action:not(.boardnode).selected circle[data-v-9efb2a56]{r:25}.action:not(.boardnode):hover text[data-v-9efb2a56],.action:not(.boardnode).selected text[data-v-9efb2a56]{font-size:187.5%}.action:not(.boardnode) text[data-v-9efb2a56]{text-anchor:middle;dominant-baseline:central}.actions-enter-from .action,.actions-leave-to .action{transform:translate(0)}.boardnode[data-v-6e9f5331]{cursor:pointer;transition-duration:0s}.boardnode:hover .body[data-v-6e9f5331]{fill:var(--highlighted)}.boardnode.running .body[data-v-6e9f5331]{fill:var(--accent1)!important}.boardnode:not(.isDraggable) .body[data-v-6e9f5331]{fill:var(--locked)}.node-title[data-v-6e9f5331]{text-anchor:middle;dominant-baseline:middle;font-family:monospace;font-size:200%;pointer-events:none}.node-subtitle[data-v-6e9f5331]{text-anchor:middle;dominant-baseline:middle;font-family:monospace;font-size:150%;pointer-events:none}.progress[data-v-6e9f5331]{transition-duration:.05s}.progressRing[data-v-6e9f5331]{transform:rotate(-90deg)}.fade-enter-from[data-v-6e9f5331],.fade-leave-to[data-v-6e9f5331]{opacity:0}.pulsing[data-v-6e9f5331]{animation:pulsing-6e9f5331 2s ease-in infinite}@keyframes pulsing-6e9f5331{0%{opacity:.25}50%{opacity:1}to{opacity:.25}}.grow-enter-from .node-container,.grow-leave-to .node-container{transform:scale(0)}.vue-pan-zoom-scene{width:100%;height:100%;cursor:grab}.vue-pan-zoom-scene:active{cursor:grabbing}.g1{transition-duration:0s}.link-enter-from,.link-leave-to{opacity:0}.tabButton[data-v-21427abb]{background-color:transparent;color:var(--foreground);font-size:20px;cursor:pointer;padding:5px 20px;margin:5px;border-radius:5px;border:2px solid;flex-shrink:0;border-color:var(--layer-color)}.tabButton[data-v-21427abb]:hover{transform:scale(1.1);text-shadow:0 0 7px var(--foreground)}:not(.floating)>.tabButton[data-v-21427abb]{height:50px;margin:0;border-left:none;border-right:none;border-top:none;border-bottom-width:4px;border-radius:0;transform:unset}:not(.floating) .tabButton[data-v-21427abb]:not(.active){border-bottom-color:transparent}.tabButton>*[data-v-21427abb]{pointer-events:none}.tab-family-container[data-v-58dbf83a]{margin:calc(50px + var(--feature-margin)) 20px var(--feature-margin) 20px;position:relative;border:solid 4px;border-color:var(--outline)}.layer-tab>.tab-family-container[data-v-58dbf83a]:first-child{margin:-4px -11px var(--feature-margin) -11px}.layer-tab>.tab-family-container[data-v-58dbf83a]:first-child:nth-last-child(3){border-bottom-style:none;border-left-style:none;border-right-style:none;height:calc(100% + 50px)}.modal-body>.tab-family-container[data-v-58dbf83a]:first-child{margin:calc(10px + var(--feature-margin)) 10px 0 10px;border:none}.tab-family-container[data-v-58dbf83a]>:nth-child(2){margin-top:20px}.modal-body>.tab-family-container[data-v-58dbf83a]>:nth-child(2){margin-top:50px}.tab-family-container[data-v-f18896fc][data-v-58dbf83a]>:last-child{margin-bottom:20px}.tab-buttons-container[data-v-58dbf83a]{z-index:4}.tab-buttons-container[data-v-58dbf83a]:not(.floating){border-bottom:solid 4px;border-color:inherit}:not(.layer-tab):not(.modal-body)>.tab-family-container>.tab-buttons-container[data-v-58dbf83a]:not(.floating){width:calc(100% + 6px);margin-left:-3px}.tab-buttons-container:not(.floating) .tab-buttons[data-v-58dbf83a]{text-align:left;margin-bottom:-4px}.tab-buttons-container.floating .tab-buttons[data-v-58dbf83a]{justify-content:center;margin-top:-25px}.tab-buttons[data-v-58dbf83a]{margin-bottom:24px;display:flex;flex-flow:wrap;z-index:4}.layer-tab>.tab-family-container:first-child:nth-last-child(3)>.tab-buttons-container>.tab-buttons[data-v-58dbf83a]{padding-right:60px}.tab-buttons[data-v-58dbf83a]:not(.floating){text-align:left;border-bottom:inherit;border-width:4px;box-sizing:border-box;height:50px}.modal-body .tab-buttons[data-v-58dbf83a]{width:100%;margin-left:0;margin-right:0;padding-left:0}.showGoBack>.tab-family-container:first-child>.tab-buttons-container:not(.floating) .tab-buttons[data-v-58dbf83a]{padding-left:70px}:not(.showGoBack)>.tab-family-container>.tab-buttons-container:not(.floating):first-child .tab-buttons[data-v-58dbf83a]{padding-left:0}.minimizable>.tab-buttons-container[data-v-58dbf83a]:not(.floating):first-child{padding-right:50px}.tab-buttons-container:not(.floating):first-child .tab-buttons[data-v-58dbf83a]{margin-top:-50px}.tab-buttons-container+*[data-v-58dbf83a]{margin-top:20px}.modifier-container{display:flex;padding:1px 8px}.modifier-container:nth-child(2n){background:var(--raised-background)}.modifier-amount{flex-shrink:0;text-align:right}:not(:first-of-type,:last-of-type)>.modifier-amount:after{content:var(--unit);opacity:0}.modifier-description{flex-grow:1}.collapsible-container[data-v-a72c16aa]{width:calc(100% - 10px)}.collapsible-toggle[data-v-a72c16aa]{max-width:unset;width:calc(100% + 0px);margin:0 0 0 -5px;background:var(--raised-background);padding:var(--feature-margin);color:var(--foreground);cursor:pointer;transition-duration:0s}.collapsible-toggle[data-v-a72c16aa]:last-child{margin-left:unset}[data-v-a72c16aa] .collapsible-toggle+.table{max-width:unset;width:calc(100% + 10px);margin-left:-5px}[data-v-a72c16aa] .col{margin-top:0;margin-bottom:0;width:100%}.mergeAdjacent .collapsible-toggle[data-v-a72c16aa]{border:0;border-top-left-radius:0!important;border-top-right-radius:0!important}[data-v-a72c16aa] .mergeAdjacent .feature:not(.dontMerge):first-child{border-top-left-radius:0!important;border-top-right-radius:0!important}.feature:not(li),.feature:not(li) button{position:relative;padding:5px;border-radius:var(--border-radius);border:2px solid rgba(0,0,0,.125);margin:var(--feature-margin);box-sizing:border-box;color:var(--feature-foreground);z-index:0;transition:all .5s,z-index 0s .5s}.can,.can button{background-color:var(--layer-color);cursor:pointer}.can:hover,.can:hover button{transform:scale(1.15);box-shadow:0 0 20px var(--points);z-index:1;transition:all .5s,z-index 0s}.locked,.locked button{background-color:var(--locked);cursor:not-allowed}.bought,.bought button{background-color:var(--bought);cursor:default}.mark[data-v-2207999f]{position:absolute;left:-25px;top:-10px;width:30px;height:30px;z-index:1;pointer-events:none;margin-left:.9em;margin-right:.9em;margin-bottom:1.2em;border-right:.3em solid transparent;border-bottom:.7em solid transparent;border-left:.3em solid transparent;font-size:10px}.star[data-v-2207999f]{left:-10px;width:0;height:0;margin-left:.9em;margin-right:.9em;margin-bottom:1.2em;border-right:.3em solid transparent;border-bottom:.7em solid #ffcc00;border-left:.3em solid transparent;font-size:10px;pointer-events:none}.star[data-v-2207999f]:before,.star[data-v-2207999f]:after{content:"";width:0;height:0;position:absolute;top:.6em;left:-1em;border-right:1em solid transparent;border-bottom:.7em solid #ffcc00;border-left:1em solid transparent;transform:rotate(-35deg)}.star[data-v-2207999f]:after{transform:rotate(35deg)}.node[data-v-a48cb382]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.clickable[data-v-211328c0]{min-height:120px;width:120px;font-size:10px}.clickable.small[data-v-211328c0]{min-height:unset}.clickable>*[data-v-211328c0]{pointer-events:none}.resize-listener[data-v-063f6d6b]{position:absolute;top:0px;left:0;right:-4px;bottom:5px;z-index:-10;pointer-events:none}svg[data-v-063f6d6b]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-10;pointer-events:none}.left-side-nodes[data-v-39ca96d0]{position:absolute;left:15px;top:65px}.side-nodes[data-v-39ca96d0]{position:absolute;right:15px;top:65px}.left-side-nodes[data-v-39ca96d0] .treeNode,.side-nodes[data-v-39ca96d0] .treeNode{margin:20px auto}.small[data-v-39ca96d0] .treeNode{height:60px;width:60px}.small[data-v-39ca96d0] .treeNode>*:first-child{font-size:30px}.treeNode[data-v-4520cd79]{height:100px;width:100px;border-radius:50%;padding:0;margin:0 10px}.treeNode>*[data-v-4520cd79]:first-child{width:100%;height:100%;border:2px solid rgba(0,0,0,.125);border-radius:inherit;font-size:40px;color:#00000080;text-shadow:2px 2px 4px rgba(0,0,0,.25);box-shadow:-4px -4px 4px #00000040 inset,0 0 20px var(--background);text-transform:capitalize;display:flex}.treeNode>*:first-child>*[data-v-4520cd79]{pointer-events:none}.modifier-toggle{padding-right:10px;transform:translateY(-1px);display:inline-block}.modifier-toggle.collapsed{transform:translate(-5px,-5px) rotate(-90deg)}.nav-container{margin-top:-50px;text-align:left;border-bottom:solid 1px var(--outline);margin-left:-10px;margin-right:-10px;padding:10px;width:100%}.nav-segment{border-right:solid 1px var(--outline);padding-right:10px;margin-right:10px}.game-over-modal-header[data-v-4a50ce42]{display:flex;margin:-20px -20px 0;background:var(--raised-background);align-items:center}.game-over-modal-header *[data-v-4a50ce42]{margin:0}.game-over-modal-logo[data-v-4a50ce42]{height:4em;width:4em}.game-over-modal-title[data-v-4a50ce42]{display:flex;flex-direction:column;padding:10px 0;margin-left:10px}.game-over-footer[data-v-4a50ce42]{display:flex;justify-content:flex-end}.game-over-footer button[data-v-4a50ce42]{margin:0 10px}.game-over-modal-discord-link[data-v-4a50ce42]{display:flex;align-items:center}.game-over-modal-discord[data-v-4a50ce42]{margin:0 4px 0 0}.nan-modal-header[data-v-2776d67d]{padding:10px 0;margin-left:10px}.nan-footer[data-v-2776d67d]{display:flex;justify-content:flex-end}.nan-footer button[data-v-2776d67d]{margin:0 10px}.nan-modal-discord-link[data-v-2776d67d]{display:flex;align-items:center}.nan-modal-discord[data-v-2776d67d]{margin:0 4px 0 0}.tpsDisplay[data-v-46a3ed5b]{position:absolute;left:10px;bottom:10px;z-index:100}.low[data-v-46a3ed5b]{color:var(--danger)}.fade-leave-to[data-v-46a3ed5b]{opacity:0}:root{color-scheme:dark}*{transition-duration:.5s;font-family:Roboto Mono,monospace;font-weight:700;margin:auto;text-size-adjust:none}*:focus{outline:none}body{overflow:hidden;transition:none;text-align:center}html,body,#app{min-height:100%;height:100%}h1,h2,h3,b,input{display:inline}button{color:#000}a,.button,.link{display:block;color:var(--link);background:none;border:none;cursor:pointer;text-decoration:none}a:hover,.button:hover,.link:hover{text-shadow:5px 0 10px var(--link),-3px 0 12px var(--link)}.button:disabled{opacity:.5;cursor:not-allowed}.button:disabled:hover{text-shadow:none}ul{list-style-type:none}.Vue-Toastification__toast{margin:unset}.app[data-v-41d15e5e]{background-color:var(--background);color:var(--foreground);display:flex;flex-flow:column;min-height:100%;height:100%}#modal-root[data-v-41d15e5e]{position:absolute;min-height:100%;height:100%;color:var(--foreground)} +.table{display:flex;flex-flow:column wrap;justify-content:center;align-items:center;max-width:100%;margin:0 auto}.table+.table{margin-top:10px}.row{display:flex;flex-flow:row wrap;justify-content:center;align-items:stretch;max-width:100%;margin:0 10px}.row>:not(.feature){margin:0;display:flex}.col{display:flex;flex-flow:column wrap;justify-content:center;align-items:center;height:100%;margin:10px 0}.row.mergeAdjacent>.feature:not(.dontMerge),.row.mergeAdjacent>.tooltip-container>.feature:not(.dontMerge){margin-left:0;margin-right:0;border-radius:0}.row.mergeAdjacent>.feature:not(.dontMerge):first-child,.row.mergeAdjacent>.tooltip-container:first-child>.feature:not(.dontMerge){border-radius:var(--border-radius) 0 0 var(--border-radius)}.row.mergeAdjacent>.feature:not(.dontMerge):last-child,.row.mergeAdjacent>.tooltip-container:last-child>.feature:not(.dontMerge){border-radius:0 var(--border-radius) var(--border-radius) 0}.row.mergeAdjacent>.feature:not(.dontMerge):first-child:last-child,.row.mergeAdjacent>.tooltip-container:first-child:last-child>.feature:not(.dontMerge){border-radius:var(--border-radius)}.row-grid.mergeAdjacent>.feature:not(.dontMerge),.row-grid.mergeAdjacent>.tooltip-container>.feature:not(.dontMerge){margin:0;border-radius:0}.row-grid.mergeAdjacent>.feature:not(.dontMerge):last-child,.row-grid.mergeAdjacent>.tooltip-container:last-child>.feature:not(.dontMerge){border-radius:0}.row-grid.mergeAdjacent>.feature:not(.dontMerge):first-child,.row-grid.mergeAdjacent>.tooltip-container:first-child>.feature:not(.dontMerge){border-radius:0}.table-grid>.row-grid.mergeAdjacent:last-child>.feature:not(.dontMerge):first-child{border-radius:0 0 0 var(--border-radius)}.table-grid>.row-grid.mergeAdjacent:first-child>.feature:not(.dontMerge):last-child{border-radius:0 var(--border-radius) 0 0}.table-grid>.row-grid.mergeAdjacent:first-child>.feature:not(.dontMerge):first-child{border-radius:var(--border-radius) 0 0 0}.table-grid>.row-grid.mergeAdjacent:last-child>.feature:not(.dontMerge):last-child{border-radius:0 0 var(--border-radius) 0}.col.mergeAdjacent .feature:not(.dontMerge){margin-top:0;margin-bottom:0;border-radius:0}.col.mergeAdjacent .feature:not(.dontMerge):first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}.col.mergeAdjacent .feature:not(.dontMerge):last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}.col.mergeAdjacent .feature:not(.dontMerge):first-child:last-child{border-radius:var(--border-radius)}.resize-listener[data-v-2b1dc1bc]{position:absolute;top:0px;left:0;right:-4px;bottom:5px;z-index:-10;pointer-events:none}.modal-mask{position:fixed;z-index:9998;top:0;left:0;bottom:0;right:0;background-color:#00000080;transition:opacity .3s ease}.modal-wrapper{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.modal-container{width:640px;max-width:95vw;max-height:95vh;background-color:var(--background);padding:20px;border-radius:5px;transition:all .3s ease;text-align:left;border:var(--modal-border);box-sizing:border-box;display:flex;flex-direction:column}.modal-header{width:100%}.modal-body{margin:20px 0;width:100%;overflow-y:auto;overflow-x:hidden}.modal-footer{width:100%}.modal-default-footer{display:flex}.modal-default-flex-grow{flex-grow:1}.modal-enter-from,.modal-leave-active{opacity:0}.modal-enter-from .modal-container,.modal-leave-active .modal-container{-webkit-transform:scale(1.1);transform:scale(1.1)}.layer-container[data-v-72dd78b1]{min-width:100%;min-height:100%;margin:0;flex-grow:1;display:flex;isolation:isolate}.layer-tab[data-v-72dd78b1]:not(.minimized){padding-top:20px;padding-bottom:20px;min-height:100%;flex-grow:1;text-align:center;position:relative}.inner-tab>.layer-container>.layer-tab[data-v-72dd78b1]:not(.minimized){padding-top:50px}.layer-tab.minimized[data-v-72dd78b1]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;padding:55px 0 0;margin:0;cursor:pointer;font-size:40px;color:var(--foreground);border:none;background-color:transparent}.layer-tab.minimized>*[data-v-72dd78b1]{margin:0;writing-mode:vertical-rl;text-align:left;padding-left:10px;width:50px}.inner-tab>.layer-container>.layer-tab[data-v-72dd78b1]:not(.minimized){margin:-50px -10px;padding:50px 10px}.modal-body .layer-tab[data-v-72dd78b1]{padding-bottom:0}.modal-body .layer-tab[data-v-72dd78b1]:not(.hasSubtabs){padding-top:0}.minimize[data-v-72dd78b1]{position:sticky;top:6px;right:9px;z-index:7;line-height:30px;border:none;background:var(--background);box-shadow:var(--background) 0 2px 3px 5px;border-radius:50%;color:var(--foreground);font-size:40px;cursor:pointer;margin-top:-44px;margin-right:-30px}.minimized+.minimize[data-v-72dd78b1]{transform:rotate(-90deg);top:10px;right:18px;pointer-events:none}.goBack[data-v-72dd78b1]{position:sticky;top:10px;left:10px;line-height:30px;margin-top:-50px;margin-left:-35px;border:none;background:var(--background);box-shadow:var(--background) 0 2px 3px 5px;border-radius:50%;color:var(--foreground);font-size:30px;cursor:pointer;z-index:7}.goBack[data-v-72dd78b1]:hover{transform:scale(1.1);text-shadow:0 0 7px var(--foreground)}.layer-tab.minimized>*>.desc{color:var(--accent1);font-size:30px}details[data-v-4b4bda40]{margin:10px 0;padding-left:18px}summary[data-v-4b4bda40]{cursor:pointer;margin-bottom:10px;margin-left:-18px}ul[data-v-4b4bda40]{margin:var(--feature-margin) 0;background:var(--raised-background);border:2px solid rgba(0,0,0,.125);padding:5px 5px 5px 15px;list-style:inside}li[data-v-4b4bda40]{margin:8px 0}li[data-v-4b4bda40]:before{padding:2px 8px;margin-right:8px;border-radius:var(--border-radius)}.feature[data-v-4b4bda40]:before{content:"Feature";background:var(--accent1)}.fix[data-v-4b4bda40]:before{content:"Fix";background:var(--accent2)}.balancing[data-v-4b4bda40]:before{content:"Balancing";background:var(--accent3)}.breaking[data-v-4b4bda40]:before{content:"Breaking";background:var(--danger)}.tooltip-container[data-v-6102fa3a]{position:relative;--xoffset: 0px;--yoffset: 0px;text-shadow:none!important}.tooltip[data-v-6102fa3a],.tooltip[data-v-6102fa3a]:after{pointer-events:none;position:absolute}.tooltip[data-v-6102fa3a]{text-align:center;width:150px;font-size:14px;line-height:1.2;bottom:calc(100% + var(--yoffset));left:calc(50% + var(--xoffset));margin-bottom:5px;transform:translate(-50%);padding:7px;border-radius:3px;background-color:var(--tooltip-background);color:var(--points);z-index:100!important;word-break:break-word}.tooltip[data-v-6102fa3a] hr{margin:var(--feature-margin) 0}.shown[data-v-6102fa3a]{z-index:10}.fade-enter-from[data-v-6102fa3a],.fade-leave-to[data-v-6102fa3a]{opacity:0}.tooltip[data-v-6102fa3a]:after{content:" ";position:absolute;top:100%;bottom:100%;left:calc(50% - var(--xoffset));width:0;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--tooltip-background) transparent transparent transparent}.tooltip.left[data-v-6102fa3a],.side-nodes .tooltip[data-v-6102fa3a]:not(.right):not(.bottom):not(.top){bottom:calc(50% + var(--yoffset));left:unset;right:calc(100% + var(--xoffset));margin-bottom:unset;margin-right:5px;transform:translateY(50%)}.tooltip.left[data-v-6102fa3a]:after,.side-nodes .tooltip[data-v-6102fa3a]:not(.right):not(.bottom):not(.top):after{top:calc(50% + var(--yoffset));bottom:unset;left:100%;right:100%;margin-left:unset;margin-top:-5px;border-color:transparent transparent transparent var(--tooltip-background)}.tooltip.right[data-v-6102fa3a]{bottom:calc(50% + var(--yoffset));left:calc(100% + var(--xoffset));margin-bottom:unset;margin-left:5px;transform:translateY(50%)}.tooltip.right[data-v-6102fa3a]:after{top:calc(50% + var(--yoffset));left:0;right:100%;margin-left:-10px;margin-top:-5px;border-color:transparent var(--tooltip-background) transparent transparent}.tooltip.bottom[data-v-6102fa3a]{top:calc(100% + var(--yoffset));bottom:unset;left:calc(50% + var(--xoffset));margin-bottom:unset;margin-top:5px;transform:translate(-50%)}.tooltip.bottom[data-v-6102fa3a]:after{top:0;margin-top:-10px;border-color:transparent transparent var(--tooltip-background) transparent}.pinned[data-v-6102fa3a]{position:absolute;right:-5px;top:-5px;transform:rotate(45deg)}.info-modal-header[data-v-4f97aa40]{display:flex;margin:-20px -20px 0;background:var(--raised-background);align-items:center}.info-modal-header *[data-v-4f97aa40]{margin:0}.info-modal-logo[data-v-4f97aa40]{height:4em;width:4em}.info-modal-title[data-v-4f97aa40]{display:flex;flex-direction:column;padding:10px 0;margin-left:10px}.info-modal-discord-link[data-v-4f97aa40]{display:flex;align-items:center}.info-modal-discord[data-v-4f97aa40]{margin:0 4px 0 0}.field{display:flex;position:relative;min-height:2em;margin:10px 0;user-select:none;justify-content:space-between;align-items:center}.field>*{margin:0}.vue-select{width:50%;border-radius:var(--border-radius)}.field-buttons .vue-select{width:unset}.vue-select,.vue-dropdown{border-color:var(--outline)}.vue-dropdown{background:var(--raised-background)}.vue-dropdown-item{color:var(--foreground)}.vue-dropdown-item,.vue-dropdown-item *{transition-duration:0s}.vue-dropdown-item.highlighted{background-color:var(--highlighted)}.vue-dropdown-item.selected,.vue-dropdown-item.highlighted.selected{background-color:var(--bought)}.vue-input input{font-size:inherit}.vue-input input::placeholder{color:var(--link)}.field[data-v-11046116]{cursor:pointer}input[data-v-11046116]{appearance:none;pointer-events:none}span[data-v-11046116]{width:100%;padding-right:41px;position:relative}input+span[data-v-11046116]:before{content:"";position:absolute;top:calc(50% - 7px);right:0px;border-radius:7px;width:36px;height:14px;background-color:var(--outline);opacity:.38;vertical-align:top;transition:background-color .2s,opacity .2s}input+span[data-v-11046116]:after{content:"";position:absolute;top:calc(50% - 10px);right:16px;border-radius:50%;width:20px;height:20px;background-color:var(--locked);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;transition:background-color .2s,transform .2s}input:checked+span[data-v-11046116]:before{background-color:var(--link);opacity:.6}input:checked+span[data-v-11046116]:after{background-color:var(--link);transform:translate(16px)}input:active+span[data-v-11046116]:before{background-color:var(--link);opacity:.6}input:checked:active+span[data-v-11046116]:before{background-color:var(--outline);opacity:.38}input:disabled+span[data-v-11046116]{color:#000;opacity:.38;cursor:default}input:disabled+span[data-v-11046116]:before{background-color:var(--outline);opacity:.38}input:checked:disabled+span[data-v-11046116]:before{background-color:var(--link);opacity:.6}.feedback[data-v-01a1b95c]{position:relative}.feedback[data-v-01a1b95c]:after{position:absolute;left:calc(100% + 5px);top:50%;transform:translateY(-50%);content:"\2714";opacity:0;pointer-events:none;box-shadow:inset 0 0 0 35px #6f94b600;text-shadow:none}.feedback.left[data-v-01a1b95c]:after{left:unset;right:calc(100% + 5px)}.feedback.activated[data-v-01a1b95c]:after{animation:feedback-01a1b95c .5s ease-out forwards}@keyframes feedback-01a1b95c{0%{opacity:1;transform:scale3d(.4,.4,1),translateY(-50%)}80%{opacity:.1}to{opacity:0;transform:scale3d(1.2,1.2,1),translateY(-50%)}}.option-tabs{border-bottom:2px solid var(--outline);margin-top:10px;margin-bottom:-10px}.option-tabs button{background-color:transparent;color:var(--foreground);margin-bottom:-2px;font-size:14px;cursor:pointer;padding:5px 20px;border:none;border-bottom:2px solid var(--foreground)}.option-tabs button:not(.selected){border-bottom-color:transparent}.option-title .tooltip-container{display:inline;margin-left:5px}.option-title desc{display:block;opacity:.6;font-size:small;width:300px;margin-left:0}.save-button{text-align:right}form[data-v-90bd4994]{margin:0;width:100%}.field>*[data-v-90bd4994]{margin:0}input[data-v-90bd4994]{width:50%;outline:none;border:solid 1px var(--outline);background-color:unset;border-radius:var(--border-radius)}.fullWidth[data-v-90bd4994]{width:100%}.container[data-v-2f8ef34c]{display:flex;align-items:center;background:var(--raised-background);box-shadow:var(--raised-background) 0 2px 3px 5px}.container.confirming button[data-v-2f8ef34c]{font-size:1em}.container>*[data-v-2f8ef34c]{margin:0 4px}.danger,.button.danger{position:relative;border:solid 2px var(--danger);border-right-width:16px}.danger:after{position:absolute;content:"!";color:#fff;right:-13px}.save[data-v-32313015]{position:relative;border:solid 4px var(--outline);padding:4px;background:var(--raised-background);margin:var(--feature-margin);display:flex;align-items:center;min-height:30px}.save.active[data-v-32313015]{border-color:var(--bought)}.open[data-v-32313015]{display:inline;margin:0;padding-left:0}.handle[data-v-32313015]{flex-grow:0;margin-right:8px;margin-left:0;cursor:pointer}.details[data-v-32313015]{margin:0 80px 0 0;flex-grow:1}.error[data-v-32313015]{font-size:.8em;color:var(--danger)}.save-version[data-v-32313015]{margin-left:4px;font-size:.7em;opacity:.7}.actions[data-v-32313015]{position:absolute;top:0;bottom:0;right:4px;display:flex;padding:4px;z-index:1}.editname[data-v-32313015]{margin:0}.save button{transition-duration:0s}.save .actions button{display:flex;font-size:1.2em}.save .actions button .material-icons{font-size:unset}.save .button.danger{display:flex;align-items:center;padding:4px}.save .field,.field form[data-v-2a4275be],.field .field-title[data-v-2a4275be],.field .field-buttons[data-v-2a4275be]{margin:0}.field-buttons[data-v-2a4275be]{display:flex}.field-buttons .field[data-v-2a4275be]{margin:0 0 0 8px}.modal-footer[data-v-2a4275be]{margin-top:-20px}.footer[data-v-2a4275be]{display:flex;margin-top:20px}.importingFailed input{color:red}.field-buttons .v-select{width:220px}.presets .vue-select[aria-expanded=true] vue-dropdown{visibility:hidden}.nav[data-v-318a1c31]{background-color:var(--raised-background);display:flex;left:0;right:0;top:0;height:46px;width:100%;border-bottom:4px solid var(--outline)}.nav>*[data-v-318a1c31]{height:46px;width:46px;display:flex;cursor:pointer;flex-shrink:0}.nav>.banner[data-v-318a1c31]{height:100%;width:unset}.overlay-nav[data-v-318a1c31]{position:fixed;top:10px;left:10px;display:flex;flex-direction:column;z-index:2}.overlay-nav>*[data-v-318a1c31]{height:50px;width:50px;display:flex;cursor:pointer;margin:0;align-items:center;justify-content:center}.title[data-v-318a1c31]{font-size:36px;text-align:left;margin-left:12px;cursor:unset}.nav>.title[data-v-318a1c31]{width:unset;flex-shrink:1;overflow:hidden;white-space:nowrap}.nav .saves[data-v-318a1c31],.nav .info[data-v-318a1c31]{display:flex}.tooltip-container[data-v-318a1c31]{width:100%;height:100%;display:flex}.overlay-nav .discord[data-v-318a1c31]{position:relative}.discord img[data-v-318a1c31]{width:100%;height:100%}.discord-links[data-v-318a1c31]{position:fixed;top:45px;padding:20px;right:-280px;width:200px;transition:right .25s ease;background:var(--raised-background);z-index:10}.overlay-nav .discord-links[data-v-318a1c31]{position:absolute;left:-280px;right:unset;transition:left .25s ease}.overlay-nav .discord:hover .discord-links[data-v-318a1c31]{left:-10px}.discord-links li[data-v-318a1c31]{margin-bottom:4px}.discord-links li[data-v-318a1c31]:first-child{font-size:1.2em}*:not(.overlay-nav) .discord:hover .discord-links[data-v-318a1c31]{right:0}.material-icons[data-v-318a1c31]{font-size:36px}.material-icons[data-v-318a1c31]:hover{text-shadow:5px 0 10px var(--link),-3px 0 12px var(--foreground)}.nav .version-container[data-v-318a1c31]{display:flex;height:25px;margin-bottom:0;margin-left:10px}.overlay-nav .version-container[data-v-318a1c31]{width:unset;height:25px}.version[data-v-318a1c31]{color:var(--points)}.version:hover span[data-v-318a1c31]{text-shadow:5px 0 10px var(--points),-3px 0 12px var(--points)}.nav>div>a[data-v-318a1c31],.overlay-nav>div>a[data-v-318a1c31]{color:var(--foreground);text-shadow:none}.tabs-container[data-v-dcd207b4]{width:100vw;flex-grow:1;overflow-x:auto;overflow-y:hidden;display:flex}.tabs-container[data-v-dcd207b4]:not(.useHeader){width:calc(100vw - 50px);margin-left:50px}.tab[data-v-dcd207b4]{position:relative;height:100%;flex-grow:1;transition-duration:0s;overflow-y:auto;overflow-x:hidden}.inner-tab[data-v-dcd207b4]{padding:50px 10px;min-height:calc(100% - 100px);display:flex;flex-direction:column;margin:0;flex-grow:1}.tab+.tab>.inner-tab[data-v-dcd207b4]{border-left:solid 4px var(--outline)}.tab hr{height:4px;border:none;background:var(--outline);margin:var(--feature-margin) 0}.tab .modal-body hr{margin:7px 0}.sticky[data-v-cccac690]{position:sticky;background:var(--background);width:calc(100% - 2px);z-index:3}.link[data-v-57c4970a]{transition-duration:0s}.link.pulsing[data-v-57c4970a]{animation:pulsing-57c4970a 2s ease-in infinite}@keyframes pulsing-57c4970a{0%{opacity:.25}50%{opacity:1}to{opacity:.25}}.action:not(.boardnode):hover circle[data-v-9efb2a56],.action:not(.boardnode).selected circle[data-v-9efb2a56]{r:25}.action:not(.boardnode):hover text[data-v-9efb2a56],.action:not(.boardnode).selected text[data-v-9efb2a56]{font-size:187.5%}.action:not(.boardnode) text[data-v-9efb2a56]{text-anchor:middle;dominant-baseline:central}.actions-enter-from .action,.actions-leave-to .action{transform:translate(0)}.boardnode[data-v-2cf86b9a]{cursor:pointer;transition-duration:0s}.boardnode:hover .body[data-v-2cf86b9a]{fill:var(--highlighted)}.boardnode.running .body[data-v-2cf86b9a]{fill:var(--accent1)!important}.boardnode:not(.isDraggable) .body[data-v-2cf86b9a]{fill:var(--locked)}.node-title[data-v-2cf86b9a]{text-anchor:middle;dominant-baseline:middle;font-family:monospace;font-size:200%;pointer-events:none}.node-subtitle[data-v-2cf86b9a]{text-anchor:middle;dominant-baseline:middle;font-family:monospace;font-size:150%;pointer-events:none}.progress[data-v-2cf86b9a]{transition-duration:.05s}.progressRing[data-v-2cf86b9a]{transform:rotate(-90deg)}.fade-enter-from[data-v-2cf86b9a],.fade-leave-to[data-v-2cf86b9a]{opacity:0}.pulsing[data-v-2cf86b9a]{animation:pulsing-2cf86b9a 2s ease-in infinite}@keyframes pulsing-2cf86b9a{0%{opacity:.25}50%{opacity:1}to{opacity:.25}}.grow-enter-from .node-container,.grow-leave-to .node-container{transform:scale(0)}.vue-pan-zoom-scene{width:100%;height:100%;cursor:grab}.vue-pan-zoom-scene:active{cursor:grabbing}.g1{transition-duration:0s}.link-enter-from,.link-leave-to{opacity:0}.tabButton[data-v-21427abb]{background-color:transparent;color:var(--foreground);font-size:20px;cursor:pointer;padding:5px 20px;margin:5px;border-radius:5px;border:2px solid;flex-shrink:0;border-color:var(--layer-color)}.tabButton[data-v-21427abb]:hover{transform:scale(1.1);text-shadow:0 0 7px var(--foreground)}:not(.floating)>.tabButton[data-v-21427abb]{height:50px;margin:0;border-left:none;border-right:none;border-top:none;border-bottom-width:4px;border-radius:0;transform:unset}:not(.floating) .tabButton[data-v-21427abb]:not(.active){border-bottom-color:transparent}.tabButton>*[data-v-21427abb]{pointer-events:none}.tab-family-container[data-v-58dbf83a]{margin:calc(50px + var(--feature-margin)) 20px var(--feature-margin) 20px;position:relative;border:solid 4px;border-color:var(--outline)}.layer-tab>.tab-family-container[data-v-58dbf83a]:first-child{margin:-4px -11px var(--feature-margin) -11px}.layer-tab>.tab-family-container[data-v-58dbf83a]:first-child:nth-last-child(3){border-bottom-style:none;border-left-style:none;border-right-style:none;height:calc(100% + 50px)}.modal-body>.tab-family-container[data-v-58dbf83a]:first-child{margin:calc(10px + var(--feature-margin)) 10px 0 10px;border:none}.tab-family-container[data-v-58dbf83a]>:nth-child(2){margin-top:20px}.modal-body>.tab-family-container[data-v-58dbf83a]>:nth-child(2){margin-top:50px}.tab-family-container[data-v-f18896fc][data-v-58dbf83a]>:last-child{margin-bottom:20px}.tab-buttons-container[data-v-58dbf83a]{z-index:4}.tab-buttons-container[data-v-58dbf83a]:not(.floating){border-bottom:solid 4px;border-color:inherit}:not(.layer-tab):not(.modal-body)>.tab-family-container>.tab-buttons-container[data-v-58dbf83a]:not(.floating){width:calc(100% + 6px);margin-left:-3px}.tab-buttons-container:not(.floating) .tab-buttons[data-v-58dbf83a]{text-align:left;margin-bottom:-4px}.tab-buttons-container.floating .tab-buttons[data-v-58dbf83a]{justify-content:center;margin-top:-25px}.tab-buttons[data-v-58dbf83a]{margin-bottom:24px;display:flex;flex-flow:wrap;z-index:4}.layer-tab>.tab-family-container:first-child:nth-last-child(3)>.tab-buttons-container>.tab-buttons[data-v-58dbf83a]{padding-right:60px}.tab-buttons[data-v-58dbf83a]:not(.floating){text-align:left;border-bottom:inherit;border-width:4px;box-sizing:border-box;height:50px}.modal-body .tab-buttons[data-v-58dbf83a]{width:100%;margin-left:0;margin-right:0;padding-left:0}.showGoBack>.tab-family-container:first-child>.tab-buttons-container:not(.floating) .tab-buttons[data-v-58dbf83a]{padding-left:70px}:not(.showGoBack)>.tab-family-container>.tab-buttons-container:not(.floating):first-child .tab-buttons[data-v-58dbf83a]{padding-left:0}.minimizable>.tab-buttons-container[data-v-58dbf83a]:not(.floating):first-child{padding-right:50px}.tab-buttons-container:not(.floating):first-child .tab-buttons[data-v-58dbf83a]{margin-top:-50px}.tab-buttons-container+*[data-v-58dbf83a]{margin-top:20px}.modifier-container{display:flex;padding:1px 8px}.modifier-container:nth-child(2n){background:var(--raised-background)}.modifier-amount{flex-shrink:0;text-align:right}:not(:first-of-type,:last-of-type)>.modifier-amount:after{content:var(--unit);opacity:0}.modifier-description{flex-grow:1}.collapsible-container[data-v-a72c16aa]{width:calc(100% - 10px)}.collapsible-toggle[data-v-a72c16aa]{max-width:unset;width:calc(100% + 0px);margin:0 0 0 -5px;background:var(--raised-background);padding:var(--feature-margin);color:var(--foreground);cursor:pointer;transition-duration:0s}.collapsible-toggle[data-v-a72c16aa]:last-child{margin-left:unset}[data-v-a72c16aa] .collapsible-toggle+.table{max-width:unset;width:calc(100% + 10px);margin-left:-5px}[data-v-a72c16aa] .col{margin-top:0;margin-bottom:0;width:100%}.mergeAdjacent .collapsible-toggle[data-v-a72c16aa]{border:0;border-top-left-radius:0!important;border-top-right-radius:0!important}[data-v-a72c16aa] .mergeAdjacent .feature:not(.dontMerge):first-child{border-top-left-radius:0!important;border-top-right-radius:0!important}.feature:not(li),.feature:not(li) button{position:relative;padding:5px;border-radius:var(--border-radius);border:2px solid rgba(0,0,0,.125);margin:var(--feature-margin);box-sizing:border-box;color:var(--feature-foreground);z-index:0;transition:all .5s,z-index 0s .5s}.can,.can button{background-color:var(--layer-color);cursor:pointer}.can:hover,.can:hover button{transform:scale(1.15);box-shadow:0 0 20px var(--points);z-index:1;transition:all .5s,z-index 0s}.locked,.locked button{background-color:var(--locked);cursor:not-allowed}.bought,.bought button{background-color:var(--bought);cursor:default}.mark[data-v-2207999f]{position:absolute;left:-25px;top:-10px;width:30px;height:30px;z-index:1;pointer-events:none;margin-left:.9em;margin-right:.9em;margin-bottom:1.2em;border-right:.3em solid transparent;border-bottom:.7em solid transparent;border-left:.3em solid transparent;font-size:10px}.star[data-v-2207999f]{left:-10px;width:0;height:0;margin-left:.9em;margin-right:.9em;margin-bottom:1.2em;border-right:.3em solid transparent;border-bottom:.7em solid #ffcc00;border-left:.3em solid transparent;font-size:10px;pointer-events:none}.star[data-v-2207999f]:before,.star[data-v-2207999f]:after{content:"";width:0;height:0;position:absolute;top:.6em;left:-1em;border-right:1em solid transparent;border-bottom:.7em solid #ffcc00;border-left:1em solid transparent;transform:rotate(-35deg)}.star[data-v-2207999f]:after{transform:rotate(35deg)}.node[data-v-a48cb382]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.clickable[data-v-211328c0]{min-height:120px;width:120px;font-size:10px}.clickable.small[data-v-211328c0]{min-height:unset}.clickable>*[data-v-211328c0]{pointer-events:none}.resize-listener[data-v-063f6d6b]{position:absolute;top:0px;left:0;right:-4px;bottom:5px;z-index:-10;pointer-events:none}svg[data-v-063f6d6b]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-10;pointer-events:none}.left-side-nodes[data-v-39ca96d0]{position:absolute;left:15px;top:65px}.side-nodes[data-v-39ca96d0]{position:absolute;right:15px;top:65px}.left-side-nodes[data-v-39ca96d0] .treeNode,.side-nodes[data-v-39ca96d0] .treeNode{margin:20px auto}.small[data-v-39ca96d0] .treeNode{height:60px;width:60px}.small[data-v-39ca96d0] .treeNode>*:first-child{font-size:30px}.treeNode[data-v-4520cd79]{height:100px;width:100px;border-radius:50%;padding:0;margin:0 10px}.treeNode>*[data-v-4520cd79]:first-child{width:100%;height:100%;border:2px solid rgba(0,0,0,.125);border-radius:inherit;font-size:40px;color:#00000080;text-shadow:2px 2px 4px rgba(0,0,0,.25);box-shadow:-4px -4px 4px #00000040 inset,0 0 20px var(--background);text-transform:capitalize;display:flex}.treeNode>*:first-child>*[data-v-4520cd79]{pointer-events:none}.modifier-toggle{padding-right:10px;transform:translateY(-1px);display:inline-block}.modifier-toggle.collapsed{transform:translate(-5px,-5px) rotate(-90deg)}.nav-container{margin-top:-50px;text-align:left;border-bottom:solid 1px var(--outline);margin-left:-10px;margin-right:-10px;padding:10px;width:100%}.nav-segment{border-right:solid 1px var(--outline);padding-right:10px;margin-right:10px}.game-over-modal-header[data-v-4a50ce42]{display:flex;margin:-20px -20px 0;background:var(--raised-background);align-items:center}.game-over-modal-header *[data-v-4a50ce42]{margin:0}.game-over-modal-logo[data-v-4a50ce42]{height:4em;width:4em}.game-over-modal-title[data-v-4a50ce42]{display:flex;flex-direction:column;padding:10px 0;margin-left:10px}.game-over-footer[data-v-4a50ce42]{display:flex;justify-content:flex-end}.game-over-footer button[data-v-4a50ce42]{margin:0 10px}.game-over-modal-discord-link[data-v-4a50ce42]{display:flex;align-items:center}.game-over-modal-discord[data-v-4a50ce42]{margin:0 4px 0 0}.nan-modal-header[data-v-2776d67d]{padding:10px 0;margin-left:10px}.nan-footer[data-v-2776d67d]{display:flex;justify-content:flex-end}.nan-footer button[data-v-2776d67d]{margin:0 10px}.nan-modal-discord-link[data-v-2776d67d]{display:flex;align-items:center}.nan-modal-discord[data-v-2776d67d]{margin:0 4px 0 0}.tpsDisplay[data-v-46a3ed5b]{position:absolute;left:10px;bottom:10px;z-index:100}.low[data-v-46a3ed5b]{color:var(--danger)}.fade-leave-to[data-v-46a3ed5b]{opacity:0}:root{color-scheme:dark}*{transition-duration:.5s;font-family:Roboto Mono,monospace;font-weight:700;margin:auto;text-size-adjust:none}*:focus{outline:none}body{overflow:hidden;transition:none;text-align:center}html,body,#app{min-height:100%;height:100%}h1,h2,h3,b,input{display:inline}button{color:#000}a,.button,.link{display:block;color:var(--link);background:none;border:none;cursor:pointer;text-decoration:none}a:hover,.button:hover,.link:hover{text-shadow:5px 0 10px var(--link),-3px 0 12px var(--link)}.button:disabled{opacity:.5;cursor:not-allowed}.button:disabled:hover{text-shadow:none}ul{list-style-type:none}.Vue-Toastification__toast{margin:unset}.app[data-v-41d15e5e]{background-color:var(--background);color:var(--foreground);display:flex;flex-flow:column;min-height:100%;height:100%}#modal-root[data-v-41d15e5e]{position:absolute;min-height:100%;height:100%;color:var(--foreground)} diff --git a/assets/index.78856c6f.js b/assets/index.78856c6f.js deleted file mode 100644 index 8877801..0000000 --- a/assets/index.78856c6f.js +++ /dev/null @@ -1,18 +0,0 @@ -/* empty css */import"./vue.804e2479.js";import{_ as E,C as a,l as fe,q as dt,t as P,b2 as Ee,ab as W,aD as dn,w as Me,b3 as qe,a9 as b,O as ee,az as At,as as et,aF as y,a1 as k,aL as Re,a2 as m,aH as xt,A as ge,$ as H,b7 as q,b9 as Gt,ar as Pe,bv as lt,a8 as L,bt as Un,bc as ut,T as jn,u as Ht,j as Wn,bw as tn,aM as Tt,a0 as A,aO as we,J as G,G as ae,I as $e,aI as tt,aG as nt,z as Ue,bo as Gn,bs as Hn,aK as ct,bd as nn,am as Ft,H as Zn,bf as Yn}from"./@vue.6f8187b0.js";import{c as gn}from"./nanoevents.1080beb7.js";import{L as Le}from"./lz-string.dccec454.js";import{Y as Jn}from"./vue-next-select.f5f69b1a.js";import{D as Kn}from"./vuedraggable.ce650350.js";import{p as Xn}from"./vue-textarea-autosize.35804eaf.js";import{P as Qn}from"./vue-panzoom.89be130f.js";import{s as ei,u as fn}from"./vue-toastification.5231d1bd.js";import"./amator.1e5a40c8.js";import"./bezier-easing.a990b400.js";import"./sortablejs.a0f68e5e.js";import"./panzoom.30c56ba6.js";import"./wheel.f2ae740f.js";import"./ngraph.events.083734c6.js";const ti=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&i(s)}).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 i(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}};ti();const ni="modulepreload",rn={},ii="./",bt=function(t,n){return!n||n.length===0?t():Promise.all(n.map(i=>{if(i=`${ii}${i}`,i in rn)return;rn[i]=!0;const r=i.endsWith(".css"),o=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${o}`))return;const s=document.createElement("link");if(s.rel=r?"stylesheet":ni,r||(s.as="script",s.crossOrigin=""),s.href=i,document.head.appendChild(s),r)return new Promise((l,c)=>{s.addEventListener("load",l),s.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},ri="./projInfo-schema.json",ai="Planar Pioneers",oi="A game about controlling and exploiting planes!",si="planar-pioneers",li="thepaperpilot",ui="",ci="",di="0.0",gi="Initial Commit",fi=!0,mi=!1,hi=2,vi=!0,pi=null,bi="",yi=["main"],_i=3600,wi=0,Ni=!0,Ci="base64";var Y={$schema:ri,title:ai,description:oi,id:si,author:li,discordName:ui,discordLink:ci,versionNumber:di,versionTitle:gi,allowGoBack:fi,defaultShowSmall:mi,defaultDecimalsShown:hi,useHeader:vi,banner:pi,logo:bi,initialTabs:yi,maxTickLength:_i,offlineLimit:wi,enablePausing:Ni,exportEncoding:Ci};class Si{constructor(t){this.map=new Map,this.first=void 0,this.last=void 0,this.maxSize=t}get size(){return this.map.size}get(t){const n=this.map.get(t);if(n!==void 0)return n!==this.first&&(n===this.last?(this.last=n.prev,this.last.next=void 0):(n.prev.next=n.next,n.next.prev=n.prev),n.next=this.first,this.first.prev=n,this.first=n),n.value}set(t,n){if(this.maxSize<1)return;if(this.map.has(t))throw new Error("Cannot update existing keys in the cache");const i=new ki(t,n);for(this.first===void 0?(this.first=i,this.last=i):(i.next=this.first,this.first.prev=i,this.first=i),this.map.set(t,i);this.map.size>this.maxSize;){const r=this.last;this.map.delete(r.key),this.last=r.prev,this.last.next=void 0}}}class ki{constructor(t,n){this.next=void 0,this.prev=void 0,this.key=t,this.value=n}}const Ut=17,Ii=9e15,xi=Math.log10(9e15),Mi=1/9e15,Ei=308,$i=-324,an=5,Ti=(1<<10)-1,Fi=function(){const e=[];for(let n=$i+1;n<=Ei;n++)e.push(Number("1e"+n));const t=323;return function(n){return e[n+t]}}(),Ge=[2,Math.E,3,4,5,6,7,8,9,10],Pi=[[1,1.0891180521811203,1.1789767925673957,1.2701455431742086,1.3632090180450092,1.4587818160364217,1.5575237916251419,1.6601571006859253,1.767485818836978,1.8804192098842727,2],[1,1.1121114330934079,1.231038924931609,1.3583836963111375,1.4960519303993531,1.6463542337511945,1.8121385357018724,1.996971324618307,2.2053895545527546,2.4432574483385254,Math.E],[1,1.1187738849693603,1.2464963939368214,1.38527004705667,1.5376664685821402,1.7068895236551784,1.897001227148399,2.1132403089001035,2.362480153784171,2.6539010333870774,3],[1,1.1367350847096405,1.2889510672956703,1.4606478703324786,1.6570295196661111,1.8850062585672889,2.1539465047453485,2.476829779693097,2.872061932789197,3.3664204535587183,4],[1,1.1494592900767588,1.319708228183931,1.5166291280087583,1.748171114438024,2.0253263297298045,2.3636668498288547,2.7858359149579424,3.3257226212448145,4.035730287722532,5],[1,1.159225940787673,1.343712473580932,1.5611293155111927,1.8221199554561318,2.14183924486326,2.542468319282638,3.0574682501653316,3.7390572020926873,4.6719550537360774,6],[1,1.1670905356972596,1.3632807444991446,1.5979222279405536,1.8842640123816674,2.2416069644878687,2.69893426559423,3.3012632110403577,4.121250340630164,5.281493033448316,7],[1,1.1736630594087796,1.379783782386201,1.6292821855668218,1.9378971836180754,2.3289975651071977,2.8384347394720835,3.5232708454565906,4.478242031114584,5.868592169644505,8],[1,1.1793017514670474,1.394054150657457,1.65664127441059,1.985170999970283,2.4069682290577457,2.9647310119960752,3.7278665320924946,4.814462547283592,6.436522247411611,9],[1,1.1840100246247336,1.4061375836156955,1.6802272208863964,2.026757028388619,2.4770056063449646,3.080525271755482,3.9191964192627284,5.135152840833187,6.989961179534715,10]],Vi=[[-1,-.9194161097107025,-.8335625019330468,-.7425599821143978,-.6466611521029437,-.5462617907227869,-.4419033816638769,-.3342645487554494,-.224140440909962,-.11241087890006762,0],[-1,-.90603157029014,-.80786507256596,-.7064666939634,-.60294836853664,-.49849837513117,-.39430303318768,-.29147201034755,-.19097820800866,-.09361896280296,0],[-1,-.9021579584316141,-.8005762598234203,-.6964780623319391,-.5911906810998454,-.486050182576545,-.3823089430815083,-.28106046722897615,-.1831906535795894,-.08935809204418144,0],[-1,-.8917227442365535,-.781258746326964,-.6705130326902455,-.5612813129406509,-.4551067709033134,-.35319256652135966,-.2563741554088552,-.1651412821106526,-.0796919581982668,0],[-1,-.8843387974366064,-.7678744063886243,-.6529563724510552,-.5415870994657841,-.4352842206588936,-.33504449124791424,-.24138853420685147,-.15445285440944467,-.07409659641336663,0],[-1,-.8786709358426346,-.7577735191184886,-.6399546189952064,-.527284921869926,-.4211627631006314,-.3223479611761232,-.23107655627789858,-.1472057700818259,-.07035171210706326,0],[-1,-.8740862815291583,-.7497032990976209,-.6297119746181752,-.5161838335958787,-.41036238255751956,-.31277212146489963,-.2233976621705518,-.1418697367979619,-.06762117662323441,0],[-1,-.8702632331800649,-.7430366914122081,-.6213373075161548,-.5072025698095242,-.40171437727184167,-.30517930701410456,-.21736343968190863,-.137710238299109,-.06550774483471955,0],[-1,-.8670016295947213,-.7373984232432306,-.6143173985094293,-.49973884395492807,-.394584953527678,-.2989649949848695,-.21245647317021688,-.13434688362382652,-.0638072667348083,0],[-1,-.8641642839543857,-.732534623168535,-.6083127477059322,-.4934049257184696,-.3885773075899922,-.29376029055315767,-.2083678561173622,-.13155653399373268,-.062401588652553186,0]];let v=function(t){return u.fromValue_noAlloc(t)},R=function(e,t,n){return u.fromComponents(e,t,n)},j=function(t,n,i){return u.fromComponents_noNormalize(t,n,i)};const Oe=function(t,n){const i=n+1,r=Math.ceil(Math.log10(Math.abs(t))),o=Math.round(t*Math.pow(10,i-r))*Math.pow(10,r-i);return parseFloat(o.toFixed(Math.max(i-r,0)))},jt=function(e){return Math.sign(e)*Math.log10(Math.abs(e))},Di=function(e){if(!isFinite(e))return e;if(e<-50)return e===Math.trunc(e)?Number.NEGATIVE_INFINITY:0;let t=1;for(;e<10;)t=t*e,++e;e-=1;let n=.9189385332046727;n=n+(e+.5)*Math.log(e),n=n-e;const i=e*e;let r=e;return n=n+1/(12*r),r=r*i,n=n+1/(360*r),r=r*i,n=n+1/(1260*r),r=r*i,n=n+1/(1680*r),r=r*i,n=n+1/(1188*r),r=r*i,n=n+691/(360360*r),r=r*i,n=n+7/(1092*r),r=r*i,n=n+3617/(122400*r),Math.exp(n)/t},mn=.5671432904097838,on=function(e,t=1e-10){let n,i;if(!Number.isFinite(e)||e===0)return e;if(e===1)return mn;e<10?n=0:n=Math.log(e)-Math.log(Math.log(e));for(let r=0;r<100;++r){if(i=(e*Math.exp(-n)+n*n)/(n+1),Math.abs(i-n).5?1:-1;if(Math.random()*20<1)return j(t,0,1);const n=Math.floor(Math.random()*(e+1));let i=n===0?Math.random()*616-308:Math.random()*16;Math.random()>.9&&(i=Math.trunc(i));let r=Math.pow(10,i);return Math.random()>.9&&(r=Math.trunc(r)),R(t,n,r)}static affordGeometricSeries_core(e,t,n,i){const r=t.mul(n.pow(i));return g.floor(e.div(r).mul(n.sub(1)).add(1).log10().div(n.log10()))}static sumGeometricSeries_core(e,t,n,i){return t.mul(n.pow(i)).mul(g.sub(1,n.pow(e))).div(g.sub(1,n))}static affordArithmeticSeries_core(e,t,n,i){const o=t.add(i.mul(n)).sub(n.div(2)),s=o.pow(2);return o.neg().add(s.add(n.mul(e).mul(2)).sqrt()).div(n).floor()}static sumArithmeticSeries_core(e,t,n,i){const r=t.add(i.mul(n));return e.div(2).mul(r.mul(2).plus(e.sub(1).mul(n)))}static efficiencyOfPurchase_core(e,t,n){return e.div(t).add(e.div(n))}normalize(){if(this.sign===0||this.mag===0&&this.layer===0)return this.sign=0,this.mag=0,this.layer=0,this;if(this.layer===0&&this.mag<0&&(this.mag=-this.mag,this.sign=-this.sign),this.layer===0&&this.mag=Ii)return this.layer+=1,this.mag=t*Math.log10(e),this;for(;e0;)this.layer-=1,this.layer===0?this.mag=Math.pow(10,this.mag):(this.mag=t*Math.pow(10,e),e=Math.abs(this.mag),t=Math.sign(this.mag));return this.layer===0&&(this.mag<0?(this.mag=-this.mag,this.sign=-this.sign):this.mag===0&&(this.sign=0)),this}fromComponents(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this.normalize(),this}fromComponents_noNormalize(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this}fromMantissaExponent(e,t){return this.layer=1,this.sign=Math.sign(e),e=Math.abs(e),this.mag=t+Math.log10(e),this.normalize(),this}fromMantissaExponent_noNormalize(e,t){return this.fromMantissaExponent(e,t),this}fromDecimal(e){return this.sign=e.sign,this.layer=e.layer,this.mag=e.mag,this}fromNumber(e){return this.mag=Math.abs(e),this.sign=Math.sign(e),this.layer=0,this.normalize(),this}fromString(e){const t=e,n=g.fromStringCache.get(t);if(n!==void 0)return this.fromDecimal(n);e=e.replace(",","");const i=e.split("^^^");if(i.length===2){const w=parseFloat(i[0]),C=parseFloat(i[1]),$=i[1].split(";");let V=1;if($.length===2&&(V=parseFloat($[1]),isFinite(V)||(V=1)),isFinite(w)&&isFinite(C)){const S=g.pentate(w,C,V);return this.sign=S.sign,this.layer=S.layer,this.mag=S.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}const r=e.split("^^");if(r.length===2){const w=parseFloat(r[0]),C=parseFloat(r[1]),$=r[1].split(";");let V=1;if($.length===2&&(V=parseFloat($[1]),isFinite(V)||(V=1)),isFinite(w)&&isFinite(C)){const S=g.tetrate(w,C,V);return this.sign=S.sign,this.layer=S.layer,this.mag=S.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}const o=e.split("^");if(o.length===2){const w=parseFloat(o[0]),C=parseFloat(o[1]);if(isFinite(w)&&isFinite(C)){const $=g.pow(w,C);return this.sign=$.sign,this.layer=$.layer,this.mag=$.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}e=e.trim().toLowerCase();let s,l,c=e.split("pt");if(c.length===2){s=10,l=parseFloat(c[0]),c[1]=c[1].replace("(",""),c[1]=c[1].replace(")","");let w=parseFloat(c[1]);if(isFinite(w)||(w=1),isFinite(s)&&isFinite(l)){const C=g.tetrate(s,l,w);return this.sign=C.sign,this.layer=C.layer,this.mag=C.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}if(c=e.split("p"),c.length===2){s=10,l=parseFloat(c[0]),c[1]=c[1].replace("(",""),c[1]=c[1].replace(")","");let w=parseFloat(c[1]);if(isFinite(w)||(w=1),isFinite(s)&&isFinite(l)){const C=g.tetrate(s,l,w);return this.sign=C.sign,this.layer=C.layer,this.mag=C.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}const f=e.split("e"),h=f.length-1;if(h===0){const w=parseFloat(e);if(isFinite(w))return this.fromNumber(w),g.fromStringCache.size>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}else if(h===1){const w=parseFloat(e);if(isFinite(w)&&w!==0)return this.fromNumber(w),g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}const p=e.split("e^");if(p.length===2){this.sign=1,p[0].charAt(0)=="-"&&(this.sign=-1);let w="";for(let C=0;C=43&&$<=57||$===101)w+=p[1].charAt(C);else return this.layer=parseFloat(w),this.mag=parseFloat(p[1].substr(C+1)),this.normalize(),g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}}if(h<1)return this.sign=0,this.layer=0,this.mag=0,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this;const _=parseFloat(f[0]);if(_===0)return this.sign=0,this.layer=0,this.mag=0,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this;let x=parseFloat(f[f.length-1]);if(h>=2){const w=parseFloat(f[f.length-2]);isFinite(w)&&(x*=Math.sign(w),x+=jt(w))}if(!isFinite(_))this.sign=f[0]==="-"?-1:1,this.layer=h,this.mag=x;else if(h===1)this.sign=Math.sign(_),this.layer=1,this.mag=x+Math.log10(Math.abs(_));else if(this.sign=Math.sign(_),this.layer=h,h===2){const w=g.mul(R(1,2,x),v(_));return this.sign=w.sign,this.layer=w.layer,this.mag=w.mag,g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}else this.mag=x;return this.normalize(),g.fromStringCache.maxSize>=1&&g.fromStringCache.set(t,g.fromDecimal(this)),this}fromValue(e){return e instanceof g?this.fromDecimal(e):typeof e=="number"?this.fromNumber(e):typeof e=="string"?this.fromString(e):(this.sign=0,this.layer=0,this.mag=0,this)}toNumber(){return Number.isFinite(this.layer)?this.layer===0?this.sign*this.mag:this.layer===1?this.sign*Math.pow(10,this.mag):this.mag>0?this.sign>0?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:0:Number.NaN}mantissaWithDecimalPlaces(e){return isNaN(this.m)?Number.NaN:this.m===0?0:Oe(this.m,e)}magnitudeWithDecimalPlaces(e){return isNaN(this.mag)?Number.NaN:this.mag===0?0:Oe(this.mag,e)}toString(){return isNaN(this.layer)||isNaN(this.sign)||isNaN(this.mag)?"NaN":this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY?this.sign===1?"Infinity":"-Infinity":this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toString():this.m+"e"+this.e:this.layer===1?this.m+"e"+this.e:this.layer<=an?(this.sign===-1?"-":"")+"e".repeat(this.layer)+this.mag:(this.sign===-1?"-":"")+"(e^"+this.layer+")"+this.mag}toExponential(e){return this.layer===0?(this.sign*this.mag).toExponential(e):this.toStringWithDecimalPlaces(e)}toFixed(e){return this.layer===0?(this.sign*this.mag).toFixed(e):this.toStringWithDecimalPlaces(e)}toPrecision(e){return this.e<=-7?this.toExponential(e-1):e>this.e?this.toFixed(e-this.exponent-1):this.toExponential(e-1)}valueOf(){return this.toString()}toJSON(){return this.toString()}toStringWithDecimalPlaces(e){return this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toFixed(e):Oe(this.m,e)+"e"+Oe(this.e,e):this.layer===1?Oe(this.m,e)+"e"+Oe(this.e,e):this.layer<=an?(this.sign===-1?"-":"")+"e".repeat(this.layer)+Oe(this.mag,e):(this.sign===-1?"-":"")+"(e^"+this.layer+")"+Oe(this.mag,e)}abs(){return j(this.sign===0?0:1,this.layer,this.mag)}neg(){return j(-this.sign,this.layer,this.mag)}negate(){return this.neg()}negated(){return this.neg()}sgn(){return this.sign}round(){return this.mag<0?g.dZero:this.layer===0?R(this.sign,0,Math.round(this.mag)):this}floor(){return this.mag<0?g.dZero:this.layer===0?R(this.sign,0,Math.floor(this.mag)):this}ceil(){return this.mag<0?g.dZero:this.layer===0?R(this.sign,0,Math.ceil(this.mag)):this}trunc(){return this.mag<0?g.dZero:this.layer===0?R(this.sign,0,Math.trunc(this.mag)):this}add(e){const t=v(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer)||this.sign===0)return t;if(t.sign===0)return this;if(this.sign===-t.sign&&this.layer===t.layer&&this.mag===t.mag)return j(0,0,0);let n,i;if(this.layer>=2||t.layer>=2)return this.maxabs(t);if(g.cmpabs(this,t)>0?(n=this,i=t):(n=t,i=this),n.layer===0&&i.layer===0)return g.fromNumber(n.sign*n.mag+i.sign*i.mag);const r=n.layer*Math.sign(n.mag),o=i.layer*Math.sign(i.mag);if(r-o>=2)return n;if(r===0&&o===-1){if(Math.abs(i.mag-Math.log10(n.mag))>Ut)return n;{const s=Math.pow(10,Math.log10(n.mag)-i.mag),l=i.sign+n.sign*s;return R(Math.sign(l),1,i.mag+Math.log10(Math.abs(l)))}}if(r===1&&o===0){if(Math.abs(n.mag-Math.log10(i.mag))>Ut)return n;{const s=Math.pow(10,n.mag-Math.log10(i.mag)),l=i.sign+n.sign*s;return R(Math.sign(l),1,Math.log10(i.mag)+Math.log10(Math.abs(l)))}}if(Math.abs(n.mag-i.mag)>Ut)return n;{const s=Math.pow(10,n.mag-i.mag),l=i.sign+n.sign*s;return R(Math.sign(l),1,i.mag+Math.log10(Math.abs(l)))}}plus(e){return this.add(e)}sub(e){return this.add(v(e).neg())}subtract(e){return this.sub(e)}minus(e){return this.sub(e)}mul(e){const t=v(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer))return t;if(this.sign===0||t.sign===0)return j(0,0,0);if(this.layer===t.layer&&this.mag===-t.mag)return j(this.sign*t.sign,0,1);let n,i;if(this.layer>t.layer||this.layer==t.layer&&Math.abs(this.mag)>Math.abs(t.mag)?(n=this,i=t):(n=t,i=this),n.layer===0&&i.layer===0)return g.fromNumber(n.sign*i.sign*n.mag*i.mag);if(n.layer>=3||n.layer-i.layer>=2)return R(n.sign*i.sign,n.layer,n.mag);if(n.layer===1&&i.layer===0)return R(n.sign*i.sign,1,n.mag+Math.log10(i.mag));if(n.layer===1&&i.layer===1)return R(n.sign*i.sign,1,n.mag+i.mag);if(n.layer===2&&i.layer===1){const r=R(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(R(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return R(n.sign*i.sign,r.layer+1,r.sign*r.mag)}if(n.layer===2&&i.layer===2){const r=R(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(R(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return R(n.sign*i.sign,r.layer+1,r.sign*r.mag)}throw Error("Bad arguments to mul: "+this+", "+e)}multiply(e){return this.mul(e)}times(e){return this.mul(e)}div(e){const t=v(e);return this.mul(t.recip())}divide(e){return this.div(e)}divideBy(e){return this.div(e)}dividedBy(e){return this.div(e)}recip(){return this.mag===0?g.dNaN:this.layer===0?R(this.sign,0,1/this.mag):R(this.sign,this.layer,-this.mag)}reciprocal(){return this.recip()}reciprocate(){return this.recip()}cmp(e){const t=v(e);return this.sign>t.sign?1:this.sign0?this.layer:-this.layer,i=t.mag>0?t.layer:-t.layer;return n>i?1:nt.mag?1:this.mag0?t:this}clamp(e,t){return this.max(e).min(t)}clampMin(e){return this.max(e)}clampMax(e){return this.min(e)}cmp_tolerance(e,t){const n=v(e);return this.eq_tolerance(n,t)?0:this.cmp(n)}compare_tolerance(e,t){return this.cmp_tolerance(e,t)}eq_tolerance(e,t){const n=v(e);if(t==null&&(t=1e-7),this.sign!==n.sign||Math.abs(this.layer-n.layer)>1)return!1;let i=this.mag,r=n.mag;return this.layer>n.layer&&(r=jt(r)),this.layer0?R(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):R(1,0,Math.log10(this.mag))}log10(){return this.sign<=0?g.dNaN:this.layer>0?R(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):R(this.sign,0,Math.log10(this.mag))}log(e){return e=v(e),this.sign<=0||e.sign<=0||e.sign===1&&e.layer===0&&e.mag===1?g.dNaN:this.layer===0&&e.layer===0?R(this.sign,0,Math.log(this.mag)/Math.log(e.mag)):g.div(this.log10(),e.log10())}log2(){return this.sign<=0?g.dNaN:this.layer===0?R(this.sign,0,Math.log2(this.mag)):this.layer===1?R(Math.sign(this.mag),0,Math.abs(this.mag)*3.321928094887362):this.layer===2?R(Math.sign(this.mag),1,Math.abs(this.mag)+.5213902276543247):R(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}ln(){return this.sign<=0?g.dNaN:this.layer===0?R(this.sign,0,Math.log(this.mag)):this.layer===1?R(Math.sign(this.mag),0,Math.abs(this.mag)*2.302585092994046):this.layer===2?R(Math.sign(this.mag),1,Math.abs(this.mag)+.36221568869946325):R(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}logarithm(e){return this.log(e)}pow(e){const t=v(e),n=this,i=t;if(n.sign===0)return i.eq(0)?j(1,0,1):n;if(n.sign===1&&n.layer===0&&n.mag===1)return n;if(i.sign===0)return j(1,0,1);if(i.sign===1&&i.layer===0&&i.mag===1)return n;const r=n.absLog10().mul(i).pow10();return this.sign===-1?Math.abs(i.toNumber()%2)%2===1?r.neg():Math.abs(i.toNumber()%2)%2===0?r:g.dNaN:r}pow10(){if(!Number.isFinite(this.layer)||!Number.isFinite(this.mag))return g.dNaN;let e=this;if(e.layer===0){const t=Math.pow(10,e.sign*e.mag);if(Number.isFinite(t)&&Math.abs(t)>=.1)return R(1,0,t);if(e.sign===0)return g.dOne;e=j(e.sign,e.layer+1,Math.log10(e.mag))}return e.sign>0&&e.mag>=0?R(e.sign,e.layer+1,e.mag):e.sign<0&&e.mag>=0?R(-e.sign,e.layer+1,-e.mag):g.dOne}pow_base(e){return v(e).pow(this)}root(e){const t=v(e);return this.pow(t.recip())}factorial(){return this.mag<0?this.add(1).gamma():this.layer===0?this.add(1).gamma():this.layer===1?g.exp(g.mul(this,g.ln(this).sub(1))):g.exp(this)}gamma(){if(this.mag<0)return this.recip();if(this.layer===0){if(this.lt(j(1,0,24)))return g.fromNumber(Di(this.sign*this.mag));const e=this.mag-1;let t=.9189385332046727;t=t+(e+.5)*Math.log(e),t=t-e;const n=e*e;let i=e,r=12*i,o=1/r,s=t+o;if(s===t||(t=s,i=i*n,r=360*i,o=1/r,s=t-o,s===t))return g.exp(t);t=s,i=i*n,r=1260*i;let l=1/r;return t=t+l,i=i*n,r=1680*i,l=1/r,t=t-l,g.exp(t)}else return this.layer===1?g.exp(g.mul(this,g.ln(this).sub(1))):g.exp(this)}lngamma(){return this.gamma().ln()}exp(){return this.mag<0?g.dOne:this.layer===0&&this.mag<=709.7?g.fromNumber(Math.exp(this.sign*this.mag)):this.layer===0?R(1,1,this.sign*Math.log10(Math.E)*this.mag):this.layer===1?R(1,2,this.sign*(Math.log10(.4342944819032518)+this.mag)):R(1,this.layer+1,this.sign*this.mag)}sqr(){return this.pow(2)}sqrt(){if(this.layer===0)return g.fromNumber(Math.sqrt(this.sign*this.mag));if(this.layer===1)return R(1,2,Math.log10(this.mag)-.3010299956639812);{const e=g.div(j(this.sign,this.layer-1,this.mag),j(1,0,2));return e.layer+=1,e.normalize(),e}}cube(){return this.pow(3)}cbrt(){return this.pow(1/3)}tetrate(e=2,t=j(1,0,1)){if(e===1)return g.pow(this,t);if(e===0)return new g(t);if(this.eq(g.dOne))return g.dOne;if(this.eq(-1))return g.pow(this,t);if(e===Number.POSITIVE_INFINITY){const r=this.toNumber();if(r<=1.444667861009766&&r>=.06598803584531254){if(r>1.444667861009099)return g.fromNumber(Math.E);const o=g.ln(this).neg();return o.lambertw().div(o)}else return r>1.444667861009766?g.fromNumber(Number.POSITIVE_INFINITY):g.dNaN}if(this.eq(g.dZero)){let r=Math.abs((e+1)%2);return r>1&&(r=2-r),g.fromNumber(r)}if(e<0)return g.iteratedlog(t,this,-e);t=v(t);const n=e;e=Math.trunc(e);const i=n-e;if(this.gt(g.dZero)&&this.lte(1.444667861009766)){e=Math.min(1e4,e);for(let r=0;r3)return j(t.sign,t.layer+(e-r-1),t.mag);if(r>1e4)return t}return t}iteratedexp(e=2,t=j(1,0,1)){return this.tetrate(e,t)}iteratedlog(e=10,t=1){if(t<0)return g.tetrate(e,-t,this);e=v(e);let n=g.fromDecimal(this);const i=t;t=Math.trunc(t);const r=i-t;if(n.layer-e.layer>3){const o=Math.min(t,n.layer-e.layer-3);t-=o,n.layer-=o}for(let o=0;o1e4)return n}return r>0&&r<1&&(e.eq(10)?n=n.layeradd10(-r):n=n.layeradd(-r,e)),n}slog(e=10,t=100){let n=.001,i=!1,r=!1,o=this.slog_internal(e).toNumber();for(let s=1;s1&&r!=c&&(i=!0),r=c,i?n/=2:n*=2,n=Math.abs(n)*(c?-1:1),o+=n,n===0)break}return g.fromNumber(o)}slog_internal(e=10){if(e=v(e),e.lte(g.dZero)||e.eq(g.dOne))return g.dNaN;if(e.lt(g.dOne))return this.eq(g.dOne)?g.dZero:this.eq(g.dZero)?g.dNegOne:g.dNaN;if(this.mag<0||this.eq(g.dZero))return g.dNegOne;let t=0,n=g.fromDecimal(this);if(n.layer-e.layer>3){const i=n.layer-e.layer-3;t+=i,n.layer-=i}for(let i=0;i<100;++i)if(n.lt(g.dZero))n=g.pow(e,n),t-=1;else{if(n.lte(g.dOne))return g.fromNumber(t+g.slog_critical(e.toNumber(),n.toNumber()));t+=1,n=g.log(n,e)}return g.fromNumber(t)}static slog_critical(e,t){return e>10?t-1:g.critical_section(e,t,Vi)}static tetrate_critical(e,t){return g.critical_section(e,t,Pi)}static critical_section(e,t,n){t*=10,t<0&&(t=0),t>10&&(t=10),e<2&&(e=2),e>10&&(e=10);let i=0,r=0;for(let s=0;se){const l=(e-Ge[s])/(Ge[s+1]-Ge[s]);i=n[s][Math.floor(t)]*(1-l)+n[s+1][Math.floor(t)]*l,r=n[s][Math.ceil(t)]*(1-l)+n[s+1][Math.ceil(t)]*l;break}const o=t-Math.floor(t);return i<=0||r<=0?i*(1-o)+r*o:Math.pow(e,Math.log(i)/Math.log(e)*(1-o)+Math.log(r)/Math.log(e)*o)}layeradd10(e){e=g.fromValue_noAlloc(e).toNumber();const t=g.fromDecimal(this);if(e>=1){t.mag<0&&t.layer>0?(t.sign=0,t.mag=0,t.layer=0):t.sign===-1&&t.layer==0&&(t.sign=1,t.mag=-t.mag);const n=Math.trunc(e);e-=n,t.layer+=n}if(e<=-1){const n=Math.trunc(e);if(e-=n,t.layer+=n,t.layer<0)for(let i=0;i<100;++i){if(t.layer++,t.mag=Math.log10(t.mag),!isFinite(t.mag))return t.sign===0&&(t.sign=1),t.layer<0&&(t.layer=0),t.normalize();if(t.layer>=0)break}}for(;t.layer<0;)t.layer++,t.mag=Math.log10(t.mag);return t.sign===0&&(t.sign=1,t.mag===0&&t.layer>=1&&(t.layer-=1,t.mag=1)),t.normalize(),e!==0?t.layeradd(e,10):t}layeradd(e,t){const i=this.slog(t).toNumber()+e;return i>=0?g.tetrate(t,i):Number.isFinite(i)?i>=-1?g.log(g.tetrate(t,i+1),t):g.log(g.log(g.tetrate(t,i+2),t),t):g.dNaN}lambertw(){if(this.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");if(this.mag<0)return g.fromNumber(on(this.toNumber()));if(this.layer===0)return g.fromNumber(on(this.sign*this.mag));if(this.layer===1)return sn(this);if(this.layer===2)return sn(this);if(this.layer>=3)return j(this.sign,this.layer-1,this.mag);throw new Error("Unhandled behavior in lambertw()")}ssqrt(){if(this.sign==1&&this.layer>=3)return j(this.sign,this.layer-1,this.mag);const e=this.ln();return e.div(e.lambertw())}pentate(e=2,t=j(1,0,1)){t=v(t);const n=e;e=Math.trunc(e);const i=n-e;i!==0&&(t.eq(g.dOne)?(++e,t=g.fromNumber(i)):this.eq(10)?t=t.layeradd10(i):t=t.layeradd(i,this));for(let r=0;r10)return t}return t}sin(){return this.mag<0?this:this.layer===0?g.fromNumber(Math.sin(this.sign*this.mag)):j(0,0,0)}cos(){return this.mag<0?g.dOne:this.layer===0?g.fromNumber(Math.cos(this.sign*this.mag)):j(0,0,0)}tan(){return this.mag<0?this:this.layer===0?g.fromNumber(Math.tan(this.sign*this.mag)):j(0,0,0)}asin(){return this.mag<0?this:this.layer===0?g.fromNumber(Math.asin(this.sign*this.mag)):j(Number.NaN,Number.NaN,Number.NaN)}acos(){return this.mag<0?g.fromNumber(Math.acos(this.toNumber())):this.layer===0?g.fromNumber(Math.acos(this.sign*this.mag)):j(Number.NaN,Number.NaN,Number.NaN)}atan(){return this.mag<0?this:this.layer===0?g.fromNumber(Math.atan(this.sign*this.mag)):g.fromNumber(Math.atan(this.sign*(1/0)))}sinh(){return this.exp().sub(this.negate().exp()).div(2)}cosh(){return this.exp().add(this.negate().exp()).div(2)}tanh(){return this.sinh().div(this.cosh())}asinh(){return g.ln(this.add(this.sqr().add(1).sqrt()))}acosh(){return g.ln(this.add(this.sqr().sub(1).sqrt()))}atanh(){return this.abs().gte(1)?j(Number.NaN,Number.NaN,Number.NaN):g.ln(this.add(1).div(g.fromNumber(1).sub(this))).div(2)}ascensionPenalty(e){return e===0?this:this.root(g.pow(10,e))}egg(){return this.add(9)}lessThanOrEqualTo(e){return this.cmp(e)<1}lessThan(e){return this.cmp(e)<0}greaterThanOrEqualTo(e){return this.cmp(e)>-1}greaterThan(e){return this.cmp(e)>0}};let u=g;u.fromStringCache=new Si(Ti);u.dZero=j(0,0,0);u.dOne=j(1,0,1);u.dNegOne=j(-1,0,1);u.dTwo=j(1,0,2);u.dTen=j(1,0,10);u.dNaN=j(Number.NaN,Number.NaN,Number.NaN);u.dInf=j(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);u.dNegInf=j(-1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);u.dNumberMax=R(1,0,Number.MAX_VALUE);u.dNumberMin=R(1,0,Number.MIN_VALUE);v=u.fromValue_noAlloc;R=u.fromComponents;j=u.fromComponents_noNormalize;u.fromMantissaExponent;u.fromMantissaExponent_noNormalize;const Oi=new u(1);function ht(e,t,n=!0){let i=u.log10(e).floor(),r=u.div(e,u.pow(10,i));r.toStringWithDecimalPlaces(t)==="10"&&(r=Oi,i=i.add(1));const o=i.gte(1e9)?Ie(i,Math.max(Math.max(t,3),Y.defaultDecimalsShown)):i.gte(1e4)?Pt(i,0):i.toStringWithDecimalPlaces(0);return n?r.toStringWithDecimalPlaces(t)+"e"+o:"e"+o}function Pt(e,t){if(e==null)return"NaN";if(e=new u(e),e.mag<.001)return 0 .toFixed(t);const i=e.toStringWithDecimalPlaces(t).split(".");return i[0]=i[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),i.length==1?i[0]:i[0]+"."+i[1]}function hn(e,t){return e==null?"NaN":(e=new u(e),e.mag<1e-4?0 .toFixed(t):(e.mag<.1&&t!==0&&(t=Math.max(Math.max(t,e.log10().negate().ceil().toNumber()),Y.defaultDecimalsShown)),e.toStringWithDecimalPlaces(t)))}const Ai=new u("eeee1000"),Li=new u("e100000"),ln=new u("e1000"),vn=new u(1e9),Bi=new u(1e6),qi=new u(1e3),Ri=new u(.98),zi=new u(.001),pn=new u(0);function Ie(e,t,n){if(t==null&&(t=Y.defaultDecimalsShown),n=n!=null?n:Y.defaultShowSmall,e=new u(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag))return"NaN";if(e.sign<0)return"-"+Ie(e.neg(),t);if(e.mag===Number.POSITIVE_INFINITY)return"Infinity";if(e.gte(Ai)){const i=e.slog();return i.gte(Bi)?"F"+Ie(i.floor()):u.pow(10,i.sub(i.floor())).toStringWithDecimalPlaces(3)+"F"+Pt(i.floor(),0)}else{if(e.gte(Li))return ht(e,0,!1);if(e.gte(ln))return ht(e,0);if(e.gte(vn))return ht(e,t);if(e.gte(qi))return Pt(e,0);if(e.gte(zi)||!n)return hn(e,t);if(e.eq(pn))return 0 .toFixed(t)}return e=yn(e),e.lt(ln)?ht(e,t).replace(/([^(?:e|F)]*)$/,"-$1"):Ie(e,t)+"\u207B\xB9"}function Se(e){return e=new u(e),e.sign<0?"-"+Se(e.neg()):e.gte(vn)||e.lte(Ri)&&!e.eq(pn)?Ie(e):Ie(e,0)}function bn(e){return u.lt(e,0)?"-"+bn(u.neg(e)):u.gt(e,2**51)?Ie(u.div(e,31536e3))+"y":(e=new u(e).toNumber(),e<60?Ie(e)+"s":e<3600?Se(Math.floor(e/60))+"m "+Ie(e%60)+"s":e<86400?Se(Math.floor(e/3600))+"h "+Se(Math.floor(e/60)%60)+"m "+Se(e%60)+"s":e<31536e3?Se(Math.floor(e/84600)%365)+"d "+Se(Math.floor(e/3600)%24)+"h "+Se(Math.floor(e/60)%60)+"m":Se(Math.floor(e/31536e3))+"y "+Se(Math.floor(e/84600)%365)+"d "+Se(Math.floor(e/3600)%24)+"h")}function Ui(e,t,n){e=new u(e);let i=e.toStringWithDecimalPlaces(t);return new u(i).gte(n)&&(i=u.sub(n,Math.pow(.1,t)).toStringWithDecimalPlaces(t)),i}function ji(e,t){return Ie(e,t,!0)}function yn(e){let t=u.log10(e).ceil();const n=u.div(e,u.pow(10,t));return t=t.neg(),e=new u(10).pow(t).times(n),e}var Wi=Object.freeze(Object.defineProperty({__proto__:null,default:u,exponentialFormat:ht,commaFormat:Pt,regularFormat:hn,format:Ie,formatWhole:Se,formatTime:bn,toPlaces:Ui,formatSmall:ji,invertOOM:yn},Symbol.toStringTag,{value:"Module"}));const{exponentialFormat:Gi,commaFormat:Hi,regularFormat:Zi,format:Lt,formatWhole:rt,formatTime:Zt,toPlaces:Yi,formatSmall:at,invertOOM:Ji}=Wi;window.Decimal=u;window.exponentialFormat=Gi;window.commaFormat=Hi;window.regularFormat=Zi;window.format=Lt;window.formatWhole=rt;window.formatTime=Zt;window.toPlaces=Yi;window.formatSmall=at;window.invertOOM=Ji;function Et(e){let t=e.replace(/([A-Z])/g," $1");return t=t.charAt(0).toUpperCase()+t.slice(1),t}function Vt(e){return typeof e=="function"}var se=(e=>(e.Up="Up",e.Down="Down",e.Left="Left",e.Right="Right",e.Default="Up",e))(se||{});const yt=Symbol("DoNotCache");function B(e,t){const n=e[t];Vt(n)&&n.length===0&&!n[yt]?e[t]=E(n.bind(e)):Vt(n)&&(e[t]=n.bind(e),e[t][yt]=!0)}function ke(e){return Vt(e)&&!e[yt]&&(e=E(e)),e}const _t=Symbol("Component"),Bt=Symbol("GatherProps");let Ki=0;function _n(e="feature-"){return e+Ki++}var Ve=(e=>(e[e.Visible=0]="Visible",e[e.Hidden=1]="Hidden",e[e.None=2]="None",e))(Ve||{});function je(e){const t=a(e);return t!==2&&t!==!1}function qt(e){return a(e)===1}function re(e){return e[yt]=!0,e}function ue(e,t,n){e[t]===void 0&&n!=null&&(e[t]=n)}function Xi(e,...t){const n=[],i=r=>{Object.keys(r).forEach(o=>{const s=r[o];s!=null&&typeof s=="object"&&(t.includes(s.type)?n.push(s):!(s instanceof u)&&!fe(s)&&i(s))})};return i(e),n}const He={variables:{"--foreground":"#dfdfdf","--background":"#0f0f0f","--feature-foreground":"#0f0f0f","--tooltip-background":"rgba(0, 0, 0, 0.75)","--raised-background":"#0f0f0f","--points":"#ffffff","--locked":"#bf8f8f","--highlighted":"#333","--bought":"#77bf5f","--danger":"rgb(220, 53, 69)","--link":"#02f2f2","--outline":"#dfdfdf","--accent1":"#627a82","--accent2":"#658262","--accent3":"#7c6282","--border-radius":"15px","--modal-border":"solid 2px var(--color)","--feature-margin":"0px"},floatingTabs:!0,mergeAdjacent:!0,showPin:!0};var Yt=(e=>(e.Classic="classic",e.Paper="paper",e.Nordic="nordic",e.Aqua="aqua",e))(Yt||{}),Te={classic:He,paper:{...He,variables:{...He.variables,"--background":"#2a323d","--feature-foreground":"#000","--raised-background":"#333c4a","--locked":"#3a3e45","--bought":"#5C8A58","--outline":"#333c4a","--border-radius":"4px","--modal-border":"","--feature-margin":"5px"},floatingTabs:!1},nordic:{...He,variables:{...He.variables,"--foreground":"#D8DEE9","--background":"#2E3440","--feature-foreground":"#000","--raised-background":"#3B4252","--points":"#E5E9F0","--locked":"#4c566a","--highlighted":"#434c5e","--bought":"#8FBCBB","--danger":"#D08770","--link":"#88C0D0","--outline":"#3B4252","--accent1":"#B48EAD","--accent2":"#A3BE8C","--accent3":"#EBCB8B","--border-radius":"4px","--modal-border":"solid 2px #3B4252","--feature-margin":"5px"},floatingTabs:!1},aqua:{...He,variables:{...He.variables,"--foreground":"#bfdfff","--background":"#001f3f","--tooltip-background":"rgba(0, 15, 31, 0.75)","--raised-background":"#001f3f","--points":"#dfefff","--locked":"#c4a7b3","--outline":"#bfdfff"}}};const ye=gn();"fonts"in document&&(document.fonts.onloadingdone=()=>ye.emit("fontsLoaded"));var Qi=Object.freeze(Object.defineProperty({__proto__:null,globalBus:ye},Symbol.toStringTag,{value:"Module"}));const er=dt({id:"",devSpeed:null,name:"",tabs:[],time:-1,autosave:!0,offlineProd:!0,offlineTime:null,timePlayed:0,keepGoing:!1,modID:"",modVersion:"",layers:{}});var U=window.player=er;function wn(e){return JSON.stringify(e,(t,n)=>a(n))}function Nn(e={}){return Object.assign({id:`${Y.id}-0`,name:"Default Save",tabs:Y.initialTabs.slice(),time:Date.now(),autosave:!0,offlineProd:!0,offlineTime:0,timePlayed:0,keepGoing:!1,modID:Y.id,modVersion:Y.versionNumber,layers:{}},e)}function _e(e){const t=Le.compressToUTF16(wn(e!=null?e:U));return localStorage.setItem((e!=null?e:U).id,t),t}async function tr(){rr();try{let e=localStorage.getItem(J.active);if(e==null){await Ye(ot());return}if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Le.decompressFromUTF16(e);else throw"Unable to determine save encoding";const t=JSON.parse(e);if(t.modID!==Y.id){await Ye(ot());return}t.id=J.active,await Ye(t)}catch(e){console.error(`Failed to load save. Falling back to new save. -`,e),await Ye(ot())}}function ot(){const e=$t(),t=Nn({id:e});return _e(t),J.saves.push(e),t}function $t(){let e,t=0;do e=`${Y.id}-${t++}`;while(localStorage.getItem(e)!=null);return e}const nr=P(!1);async function Ye(e){console.info("Loading save",e),nr.value=!0;const{layers:t,removeLayer:n,addLayer:i}=await bt(()=>Promise.resolve().then(function(){return Cr}),void 0),{fixOldSave:r,getInitialLayers:o}=await bt(()=>Promise.resolve().then(function(){return Ql}),void 0);for(const s in t){const l=t[s];l&&n(l)}o(e).forEach(s=>i(s,e)),e=Nn(e),e.offlineProd&&e.time!=null&&e.time&&e.devSpeed!==0&&(e.offlineTime==null&&(e.offlineTime=0),e.offlineTime+=Math.min(e.offlineTime+(Date.now()-e.time)/1e3,Y.offlineLimit*3600)),e.time=Date.now(),e.modVersion!==Y.versionNumber&&(r(e.modVersion,e),e.modVersion=Y.versionNumber),Object.assign(U,e),J.active=U.id,ye.emit("onLoad")}setInterval(()=>{U.autosave&&_e()},1e3);window.onbeforeunload=()=>{U.autosave&&_e()};window.save=_e;const ir=window.hardReset=async()=>{await Ye(ot())};window.deleteLowerSaves=()=>{const e=Object.values(J.saves).indexOf(U.id)+1;Object.values(J.saves).slice(e).forEach(t=>localStorage.removeItem(t)),J.saves=J.saves.slice(0,e)};const wt=dt({active:"",saves:[],showTPS:!0,theme:Yt.Nordic,unthrottled:!1,alignUnits:!1});Ee(wt,e=>{const t=Le.compressToUTF16(JSON.stringify(e));localStorage.setItem(Y.id,t)},{deep:!0});var J=window.settings=wt;window.hardResetSettings=()=>{const e={active:"",saves:[],showTPS:!0,theme:Yt.Nordic,alignUnits:!1};ye.emit("loadSettings",e),Object.assign(wt,e),ir()};function rr(){try{let e=localStorage.getItem(Y.id);if(e!=null&&e!==""){if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Le.decompressFromUTF16(e);else{console.warn("Unable to determine settings encoding",e);return}const t=JSON.parse(e);typeof t=="object"&&Object.assign(wt,t)}ye.emit("loadSettings",wt)}catch{}}const ar=dt([]),or=dt([]),sr=dt([]);function me(e,t="span"){return typeof e=="function"?W({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}`),W({template:e})):W({render:()=>({})}):e}function Ae(e){if(Xe(e))return typeof e=="function"?e():me(e);const t=e[_t];return b(t,e[Bt](),null)}function ze(e){if(Xe(e))return typeof e=="function"?e():typeof e=="string"?b(ee,null,[e]):b(e,null,null);const t=e[_t];return b(t,e[Bt](),null)}function Xe(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[yt]===!0}function Cn(e,t){const n=P(null),i=P(void 0);function r(l){n.value||(n.value=setInterval(s,250)),i.value=l}function o(){n.value&&(clearInterval(n.value),n.value=null)}function s(){t&&t.value?t.value():e&&e.value&&e.value(i.value)}return dn(o),{start:r,stop:o,handleHolding:s}}function Sn(e,t="div"){const n=Me();return qe(()=>{n.value=me(pe(e),t)}),n}function St(e,t="div"){const n=Me(null);return qe(()=>{const i=pe(e);n.value=i==""||i==null?null:me(i,t)}),n}function pe(e){return a(a(e))}function z(...e){return e.includes(Object)||e.push(Object),e}var Q=(e,t)=>{const n=e.__vccOpts||e;for(const[i,r]of t)n[i]=r;return n};const lr=W({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var h;const n=P({}),i=new ResizeObserver(l),r=P(null);At(()=>{const p=r.value;p!=null&&i.observe(p)});let o=!0,s=P((h=r.value)==null?void 0:h.getBoundingClientRect());function l(){o&&(o=!1,et(()=>{var p;s.value=(p=r.value)==null?void 0:p.getBoundingClientRect(),Object.values(n.value).filter(_=>_).forEach(_=>_.rect=_.element.getBoundingClientRect()),t("updateNodes",n.value),o=!0}))}ye.on("fontsLoaded",l);const c={attributes:!1,childList:!0,subtree:!1};xt(Jt,(p,_)=>{const x=new MutationObserver(()=>f(p));x.observe(_,c),n.value[p]={element:_,observer:x,rect:_.getBoundingClientRect()},l()}),xt(Kt,p=>{var _;(_=n.value[p])==null||_.observer.disconnect(),n.value[p]=void 0,l()}),xt(Xt,n),xt(Qt,s);function f(p){const _=n.value[p];_!=null&&(_.rect=_.element.getBoundingClientRect(),t("updateNodes",n.value))}return(p,_)=>(y(),k(ee,null,[Re(p.$slots,"default",{},void 0,!0),m("div",{ref_key:"resizeListener",ref:r,class:"resize-listener"},null,512)],64))}});var kn=Q(lr,[["__scopeId","data-v-2b1dc1bc"]]);const ur=["onPointerdown"],cr={class:"modal-wrapper"},dr={class:"modal-container"},gr={class:"modal-header"},fr={class:"modal-body"},mr={class:"modal-footer"},hr=m("div",{class:"modal-default-flex-grow"},null,-1),We=W({__name:"Modal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=ge(e),o=E(()=>a(r.modelValue)||l.value);function s(){n("update:modelValue",!1)}const l=P(!1),c=P(null),f=E(()=>{var h,p;return(p=(h=c.value)==null?void 0:h.nodes)!=null?p:null});return t({isOpen:o,nodes:f}),(h,p)=>(y(),H(jn,{to:"#modal-root"},[b(ut,{name:"modal",onBeforeEnter:p[0]||(p[0]=_=>l.value=!0),onAfterLeave:p[1]||(p[1]=_=>l.value=!1)},{default:q(()=>[Gt(m("div",Pe({class:"modal-mask",onPointerdown:lt(s,["self"])},h.$attrs),[m("div",cr,[m("div",dr,[m("div",gr,[Re(h.$slots,"header",{shown:a(o)},()=>[L(" default header ")])]),m("div",fr,[b(kn,{ref_key:"contextRef",ref:c},{default:q(()=>[Re(h.$slots,"body",{shown:a(o)},()=>[L(" default body ")])]),_:3},512)]),m("div",mr,[Re(h.$slots,"footer",{shown:a(o)},()=>[m("div",{class:"modal-default-footer"},[hr,m("button",{class:"button modal-default-button",onClick:s}," Close ")])])])])])],16,ur),[[Un,e.modelValue]])]),_:3})]))}}),Ze=Symbol("ProxyState");function kt(e,t={}){const n=t;let i=!1;function r(){return i||(Object.assign(n,e.call(n,n)),i=!0),n}return new Proxy(n,{get(o,s){if(s===Ze)return r();const l=r()[s];return l!=null&&typeof l=="object"&&Be in l?l[Be]:l},set(o,s,l){return r()[s]=l,!0},has(o,s){return s===Ze?!0:Reflect.has(r(),s)},ownKeys(){return Reflect.ownKeys(r())},getOwnPropertyDescriptor(o,s){return i||(Object.assign(n,e.call(n,n)),i=!0),Object.getOwnPropertyDescriptor(o,s)}})}var ce=window.state=Ht({lastTenTicks:[],hasNaN:!1,NaNPath:[]});const st=Symbol("PersistentState"),Nt=Symbol("DefaultValue"),Dt=Symbol("StackTrace"),Ot=Symbol("Deleted"),Be=Symbol("NonPersistent"),Je=Symbol("SaveDataPath"),vr=Symbol("SkipPersistence");function pr(){var e,t;return(t=(e=new Error().stack)==null?void 0:e.split(` -`).slice(3,5).map(n=>n.trim()).join(` -`))!=null?t:""}function un(e,t){var n;if(u.isNaN(t))throw ce.hasNaN||(U.autosave=!1,ce.hasNaN=!0,ce.NaNPath=e[Je],ce.NaNPersistent=e),console.error("Attempted to save NaN value to",(n=e[Je])==null?void 0:n.join("."),e),new Error("Attempted to set NaN value. See above for details");e[st].value=t}function gt(e,t=!0){const n=fe(e)?e:P(e);fe(e)&&(e=e.value);const i=E({get(){return n.value},set(o){t?un(r,o):r[st].value=o}});i[Nt]=e;const r={get value(){return n.value},set value(o){t?un(r,o):r[st].value=o},__v_isRef:!0,[st]:n,[Nt]:e,[Dt]:pr(),[Ot]:!1,[Be]:i,[Je]:void 0};return be.length===0?console.warn("Creating a persistent ref outside of a layer. This is not officially supported",r,` -Created at: -`+r[Dt]):Qe[be[be.length-1]].add(r),r}function br(e){return e!=null&&typeof e=="object"&&st in e}function yr(e){be.length===0?console.warn("Deleting a persistent ref outside of a layer. Ignoring...",e):Qe[be[be.length-1]].delete(e),e[Ot]=!0}ye.on("addLayer",(e,t)=>{const n=[],i=(r,o=[])=>{let s=!1;return Object.keys(r).forEach(l=>{let c=r[l];if(c!=null&&typeof c=="object"){if(c[vr]===!0)return;if(Ze in c&&(c=c[Ze]),br(c)){if(s=!0,c[Ot]){console.warn("Deleted persistent ref present in returned object. Ignoring...",c,` -Created at: -`+c[Dt]);return}Qe[e.id].delete(c);const f=[e.id,...o,l];c[Je]!=null&&JSON.stringify(f)!==JSON.stringify(c[Je])&&console.error(`Persistent ref is being saved to \`${f.join(".")}\` when it's already present at \`${c[Je].join(".")}\`. This can cause unexpected behavior when loading saves between updates.`,c),c[Je]=f;const h=o.reduce((_,x)=>(x in _||(_[x]={}),_[x]),t),p=h[l];h[l]=c[st],Wn(h)?p!=null?h[l]=p:h[l]=c[Nt]:p!=null?h[l].value=p:h[l].value=c[Nt]}else!(c instanceof u)&&!fe(c)&&!n.includes(c)&&(typeof c.type=="symbol"&&n.push(c),i(c,[...o,l])&&(tn(c)&&!tn(r)?console.warn("Found array that contains persistent values when adding layer. Keep in mind changing the order of elements in the array will mess with existing player saves.",Ze in r?r[Ze]:r,l):s=!0))}}),s};i(e[Ze]),Qe[e.id].forEach(r=>{r[Ot]||console.error(`Created persistent ref in ${e.id} without registering it to the layer! Make sure to include everything persistent in the returned object`,r,` -Created at: -`+r[Dt])}),Qe[e.id].clear()});const Jt=Symbol("RegisterNode"),Kt=Symbol("UnregisterNode"),Xt=Symbol("Nodes"),Qt=Symbol("Bounds"),ve=Ht({});window.layers=ve;const Qe={},be=[];function In(e,t){return kt(()=>{const n={},i=n.emitter=gn();if(n.on=i.on.bind(i),n.emit=i.emit.bind(i),n.nodes=P({}),n.id=e,be.push(e),Qe[e]=new Set,n.minimized=gt(!1,!1),Object.assign(n,t.call(n,n)),be[be.length-1]==null||be[be.length-1]!==e)throw`Adding layers stack in invalid state. This should not happen -Stack: ${be} -Trying to pop ${n.id}`;be.pop(),B(n,"color"),B(n,"display"),B(n,"classes"),B(n,"style"),B(n,"name"),ue(n,"name",n.id),B(n,"minWidth"),ue(n,"minWidth",600),B(n,"minimizable"),ue(n,"minimizable",!0),B(n,"minimizedDisplay");const r=n.style;return n.style=E(()=>{var s,l;let o=a(n.minWidth);return(typeof o=="number"||!Number.isNaN(parseInt(o)))&&(o=o+"px"),[(s=a(r))!=null?s:"",(l=n.minimized)!=null&&l.value?{flexGrow:"0",flexShrink:"0",width:"60px",minWidth:"",flexBasis:"",margin:"0"}:{flexGrow:"",flexShrink:"",width:"",minWidth:o,flexBasis:o,margin:""}]}),n})}function xn(e,t){if(console.info("Adding layer",e.id),ve[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,ve[e.id]);return}ue(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),ve[e.id]=e,ye.emit("addLayer",e,t.layers[e.id])}function _r(e){return ve[e]}function Mn(e){console.info("Removing layer",e.id),ye.emit("removeLayer",e),ve[e.id]=void 0}function wr(e){Mn(e),xn(e,U)}function Nr(e){const t=P(!1);return{openModal:()=>t.value=!0,modal:re(()=>b(We,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},{header:()=>b("h2",null,[a(e.name)]),body:a(e.display)}))}}ye.on("update",function(t){Object.values(ve).forEach(n=>{n==null||n.emit("preUpdate",t)}),Object.values(ve).forEach(n=>{n==null||n.emit("update",t)}),Object.values(ve).forEach(n=>{n==null||n.emit("postUpdate",t)})});var Cr=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:Jt,UnregisterNodeInjectionKey:Kt,NodesInjectionKey:Xt,BoundsInjectionKey:Qt,layers:ve,persistentRefs:Qe,addingLayers:be,createLayer:In,addLayer:xn,getLayer:_r,removeLayer:Mn,reloadLayer:wr,setupLayerModal:Nr},Symbol.toStringTag,{value:"Module"}));const Sr=W({components:{Context:kn},props:{index:{type:Number,required:!0},display:{type:z(Object,String,Function),required:!0},minimizedDisplay:z(Object,String,Function),minimized:{type:Object,required:!0},name:{type:z(String),required:!0},color:z(String),minimizable:z(Boolean),nodes:{type:Object,required:!0}},emits:["setMinimized"],setup(e){const{display:t,index:n,minimized:i,minimizedDisplay:r}=ge(e),o=Sn(t),s=St(r),l=E(()=>Y.allowGoBack&&n.value>0&&!pe(i));function c(){U.tabs.splice(a(e.index),1/0)}function f(h){e.nodes.value=h}return{component:o,minimizedComponent:s,showGoBack:l,updateNodes:f,unref:a,goBack:c}}}),kr={key:1};function Ir(e,t,n,i,r,o){const s=Tt("Context");return y(),k("div",{class:"layer-container",style:$e({"--layer-color":e.unref(e.color)})},[e.showGoBack?(y(),k("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...l)=>e.goBack&&e.goBack(...l))},"\u274C")):A("",!0),e.unref(e.minimized)?(y(),k("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=l=>e.$emit("setMinimized",!1))},[e.minimizedComponent?(y(),H(we(e.minimizedComponent),{key:0})):(y(),k("div",kr,G(e.unref(e.name)),1))])):(y(),k("div",{key:2,class:ae(["layer-tab",{showGoBack:e.showGoBack}])},[b(s,{onUpdateNodes:e.updateNodes},{default:q(()=>[(y(),H(we(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(y(),k("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=l=>e.$emit("setMinimized",!0))}," \u25BC ")):A("",!0)],4)}var xr=Q(Sr,[["render",Ir],["__scopeId","data-v-72dd78b1"]]);const En=e=>(tt("data-v-4b4bda40"),e=e(),nt(),e),Mr=En(()=>m("h2",null,"Changelog",-1)),Er=En(()=>m("details",{open:""},[m("summary",null,[L("v0.0 Initial Commit - "),m("time",null,"2021-09-04")]),L(" This is the first release :D "),m("ul",null,[m("li",{class:"feature"},"Did everything"),m("li",{class:"fix"},"Had some fun"),m("li",{class:"breaking"},"Removed everything"),m("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),$r=W({__name:"Changelog",setup(e,{expose:t}){const n=P(!1);return t({open(){n.value=!0}}),(i,r)=>(y(),H(We,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=o=>n.value=o)},{header:q(()=>[Mr]),body:q(()=>[Er]),_:1},8,["modelValue"]))}});var Tr=Q($r,[["__scopeId","data-v-4b4bda40"]]),Fr=W({props:{element:Object,display:{type:z(Object,String,Function),required:!0},style:z(Object,String,Array),classes:z(Object),direction:z(String),xoffset:z(String),yoffset:z(String),pinned:Object},setup(e){const{element:t,display:n,pinned:i}=ge(e),r=P(!1),o=E(()=>(pe(i)||r.value)&&s.value),s=St(n),l=Me(me(re(()=>{const h=pe(t);return h==null?"":ze(h)})));function c(h){const p=i;h.shiftKey&&p&&(p.value=!p.value,h.stopPropagation(),h.preventDefault())}const f=E(()=>pe(i)&&Te[J.theme].showPin);return{Direction:se,isHovered:r,isShown:o,comp:s,elementComp:l,unref:a,togglePinned:c,showPin:f}}});const Pr={key:0,class:"material-icons pinned"};function Vr(e,t,n,i,r,o){return y(),k("div",{class:ae(["tooltip-container",{shown:e.isShown}]),onMouseenter:t[0]||(t[0]=s=>e.isHovered=!0),onMouseleave:t[1]||(t[1]=s=>e.isHovered=!1),onClickCapture:t[2]||(t[2]=(...s)=>e.togglePinned&&e.togglePinned(...s))},[Re(e.$slots,"default",{},void 0,!0),e.elementComp?(y(),H(we(e.elementComp),{key:0})):A("",!0),b(ut,{name:"fade"},{default:q(()=>{var s;return[e.isShown?(y(),k("div",{key:0,class:ae(["tooltip",{top:e.unref(e.direction)===e.Direction.Up,left:e.unref(e.direction)===e.Direction.Left,right:e.unref(e.direction)===e.Direction.Right,bottom:e.unref(e.direction)===e.Direction.Down,...e.unref(e.classes)}]),style:$e([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(s=e.unref(e.style))!=null?s:{}])},[e.showPin?(y(),k("span",Pr,"push_pin")):A("",!0),e.comp?(y(),H(we(e.comp),{key:1})):A("",!0)],6)):A("",!0)]}),_:1})],34)}var de=Q(Fr,[["render",Vr],["__scopeId","data-v-6102fa3a"]]);const it=e=>(tt("data-v-4f97aa40"),e=e(),nt(),e),Dr={class:"info-modal-header"},Or=["src","alt"],Ar={class:"info-modal-title"},Lr={key:0},Br={key:0},qr={key:0},Rr=it(()=>m("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1)),zr=it(()=>m("br",null,null,-1)),Ur=it(()=>m("br",null,null,-1)),jr=["href"],Wr=it(()=>m("span",{class:"material-icons info-modal-discord"},"discord",-1)),Gr=it(()=>m("div",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",class:"info-modal-discord-link",target:"_blank"},[m("span",{class:"material-icons info-modal-discord"},"discord"),L(" The Paper Pilot Community ")])],-1)),Hr=it(()=>m("div",null,[m("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link",target:"_blank"},[m("span",{class:"material-icons info-modal-discord"},"discord"),L(" The Modding Tree ")])],-1)),Zr=it(()=>m("br",null,null,-1));var Yr=W({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const n=e,{title:i,logo:r,author:o,discordName:s,discordLink:l,versionNumber:c,versionTitle:f}=Y,h=ge(n),p=P(!1),_=E(()=>Zt(U.timePlayed)),x=E(()=>me(re(()=>b(ee,null,[or.map(Ae)]))));t({open(){p.value=!0}});function w(){var C;(C=a(h.changelog))==null||C.open()}return(C,$)=>(y(),H(We,{modelValue:p.value,"onUpdate:modelValue":$[0]||($[0]=V=>p.value=V)},{header:q(()=>[m("div",Dr,[a(r)?(y(),k("img",{key:0,class:"info-modal-logo",src:a(r),alt:a(i)},null,8,Or)):A("",!0),m("div",Ar,[m("h2",null,G(a(i)),1),m("h4",null,[L(" v"+G(a(c)),1),a(f)?(y(),k("span",Lr,": "+G(a(f)),1)):A("",!0)])])])]),body:q(({shown:V})=>[V?(y(),k("div",Br,[a(o)?(y(),k("div",qr,"By "+G(a(o)),1)):A("",!0),Rr,zr,m("div",{class:"link",onClick:w},"Changelog"),Ur,m("div",null,[a(l)?(y(),k("a",{key:0,href:a(l),class:"info-modal-discord-link",target:"_blank"},[Wr,L(" "+G(a(s)),1)],8,jr)):A("",!0)]),Gr,Hr,Zr,m("div",null,"Time Played: "+G(a(_)),1),(y(),H(we(a(x))))])):A("",!0)]),_:1},8,["modelValue"]))}});var Jr=Q(Yr,[["__scopeId","data-v-4f97aa40"]]);const Kr={class:"field"},Xr={key:0,class:"field-title"},$n=W({__name:"Select",props:{title:null,modelValue:null,options:null,placeholder:null,closeOnSelect:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){var s;const n=e,i=St(Ue(n,"title"),"span"),r=P((s=n.options.find(l=>l.value===n.modelValue))!=null?s:null);Ee(Ue(n,"modelValue"),l=>{var c;pe(r)!==l&&(r.value=(c=n.options.find(f=>f.value===l))!=null?c:null)});function o(l){t("update:modelValue",l.value)}return(l,c)=>(y(),k("div",Kr,[a(i)?(y(),k("span",Xr,[(y(),H(we(a(i))))])):A("",!0),b(a(Jn),{options:e.options,modelValue:r.value,"onUpdate:modelValue":[c[0]||(c[0]=f=>r.value=f),o],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});const Qr={class:"field"},ea=W({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=E(()=>{var o;return me((o=a(n.title))!=null?o:"","span")}),r=E({get(){return!!n.modelValue},set(o){t("update:modelValue",o)}});return(o,s)=>(y(),k("label",Qr,[Gt(m("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":s[0]||(s[0]=l=>fe(r)?r.value=l:null)},null,512),[[Gn,a(r)]]),(y(),H(we(a(i))))]))}});var Fe=Q(ea,[["__scopeId","data-v-11046116"]]);const ta=["onClick"],na=W({__name:"FeedbackButton",props:{left:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const n=P(!1),i=P(null);function r(){t("click"),i.value&&clearTimeout(i.value),n.value=!1,et(()=>{n.value=!0,i.value=setTimeout(()=>n.value=!1,500)})}return(o,s)=>(y(),k("button",{onClick:lt(r,["stop"]),class:ae(["feedback",{activated:n.value,left:e.left}])},[Re(o.$slots,"default",{},void 0,!0)],10,ta))}});var Tn=Q(na,[["__scopeId","data-v-01a1b95c"]]);const ia={class:"header"},ra=m("h2",null,"Settings",-1),aa={class:"option-tabs"},oa={key:0},sa={key:1};var la=W({__name:"Options",setup(e,{expose:t}){const n=P(!1),i=P("behaviour");function r(F){return F==i.value}function o(F){i.value=F}t({isTab:r,setTab:o,save:_e,open(){n.value=!0}});const s=Object.keys(Te).map(F=>({label:Et(F),value:F})),l=E(()=>me(re(()=>b(ee,null,[ar.map(Ae)])))),{showTPS:c,theme:f,unthrottled:h,alignUnits:p}=ge(J),{autosave:_,offlineProd:x}=ge(U),w=E({get(){return U.devSpeed===0},set(F){U.devSpeed=F?0:null}}),C=re(()=>b("span",{class:"option-title"},[L("Unthrottled"),b("desc",null,[L("Allow the game to run as fast as possible. Not battery friendly.")])])),$=re(()=>b("span",{class:"option-title"},[L("Offline Production"),b(de,{display:"Save-specific",direction:se.Right},{default:()=>[L("*")]}),b("desc",null,[L("Simulate production that occurs while the game is closed.")])])),V=re(()=>b("span",{class:"option-title"},[L("Autosave"),b(de,{display:"Save-specific",direction:se.Right},{default:()=>[L("*")]}),b("desc",null,[L("Automatically save the game every second or when the game is closed.")])])),S=re(()=>b("span",{class:"option-title"},[L("Pause game"),b(de,{display:"Save-specific",direction:se.Right},{default:()=>[L("*")]}),b("desc",null,[L("Stop everything from moving.")])])),N=re(()=>b("span",{class:"option-title"},[L("Theme"),b("desc",null,[L("How the game looks.")])])),T=re(()=>b("span",{class:"option-title"},[L("Show TPS"),b("desc",null,[L("Show TPS meter at the bottom-left corner of the page.")])])),X=re(()=>b("span",{class:"option-title"},[L("Align modifier units"),b("desc",null,[L("Align numbers to the beginning of the unit in modifier view.")])]));return(F,M)=>(y(),H(We,{modelValue:n.value,"onUpdate:modelValue":M[10]||(M[10]=D=>n.value=D)},{header:q(()=>[m("div",ia,[ra,m("div",aa,[m("button",{class:ae({selected:r("behaviour")}),onClick:M[0]||(M[0]=D=>o("behaviour"))},"Behaviour",2),m("button",{class:ae({selected:r("appearance")}),onClick:M[1]||(M[1]=D=>o("appearance"))},"Appearance",2)])])]),body:q(()=>[r("behaviour")?(y(),k("div",oa,[b(Fe,{title:a(C),modelValue:a(h),"onUpdate:modelValue":M[2]||(M[2]=D=>fe(h)?h.value=D:null)},null,8,["title","modelValue"]),a(Y).enablePausing?(y(),H(Fe,{key:0,title:a(S),modelValue:a(w),"onUpdate:modelValue":M[3]||(M[3]=D=>fe(w)?w.value=D:null)},null,8,["title","modelValue"])):A("",!0),b(Fe,{title:a($),modelValue:a(x),"onUpdate:modelValue":M[4]||(M[4]=D=>fe(x)?x.value=D:null)},null,8,["title","modelValue"]),b(Fe,{title:a(V),modelValue:a(_),"onUpdate:modelValue":M[5]||(M[5]=D=>fe(_)?_.value=D:null)},null,8,["title","modelValue"]),a(_)?A("",!0):(y(),H(Tn,{key:1,class:"button save-button",onClick:M[6]||(M[6]=D=>a(_e)())},{default:q(()=>[L("Manually save")]),_:1}))])):A("",!0),r("appearance")?(y(),k("div",sa,[b($n,{title:a(N),options:a(s),modelValue:a(f),"onUpdate:modelValue":M[7]||(M[7]=D=>fe(f)?f.value=D:null)},null,8,["title","options","modelValue"]),(y(),H(we(a(l)))),b(Fe,{title:a(T),modelValue:a(c),"onUpdate:modelValue":M[8]||(M[8]=D=>fe(c)?c.value=D:null)},null,8,["title","modelValue"]),b(Fe,{title:a(X),modelValue:a(p),"onUpdate:modelValue":M[9]||(M[9]=D=>fe(p)?p.value=D:null)},null,8,["title","modelValue"])])):A("",!0)]),_:1},8,["modelValue"]))}});const ua=["onSubmit"],ca={class:"field"},da={key:0,class:"field-title"},ga=["placeholder"],fa=W({__name:"Text",props:{title:null,modelValue:null,textArea:{type:Boolean},placeholder:null,maxHeight:null,submitOnBlur:{type:Boolean}},emits:["update:modelValue","submit","cancel"],setup(e,{emit:t}){const n=e,i=St(Ue(n,"title"),"span"),r=Me(null);At(()=>{var c;(c=r.value)==null||c.focus()});const o=E({get(){var c;return(c=a(n.modelValue))!=null?c:""},set(c){t("update:modelValue",c)}});function s(){t("submit")}function l(){n.submitOnBlur!==!1?t("submit"):t("cancel")}return(c,f)=>(y(),k("form",{onSubmit:lt(s,["prevent"])},[m("div",ca,[a(i)?(y(),k("span",da,[(y(),H(we(a(i))))])):A("",!0),e.textArea?(y(),H(a(Xn),{key:1,modelValue:a(o),"onUpdate:modelValue":f[0]||(f[0]=h=>fe(o)?o.value=h:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:l,ref_key:"field",ref:r},null,8,["modelValue","placeholder","maxHeight"])):Gt((y(),k("input",{key:2,type:"text","onUpdate:modelValue":f[1]||(f[1]=h=>fe(o)?o.value=h:null),placeholder:e.placeholder,class:ae({fullWidth:!e.title}),onBlur:l,ref_key:"field",ref:r},null,42,ga)),[[Hn,a(o)]])])],40,ua))}});var Fn=Q(fa,[["__scopeId","data-v-90bd4994"]]);const ma={key:0},ha=["onClick","disabled"],va={key:0},pa=["onClick"],ba=W({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const i=ge(e),r=P(!1);Ee(r,l=>{t("confirmingChanged",l)});function o(){if(a(i.skipConfirm)){t("click");return}r.value&&t("click"),r.value=!r.value}function s(){r.value=!1}return(l,c)=>(y(),k("span",{class:ae(["container",{confirming:r.value}])},[r.value?(y(),k("span",ma,"Are you sure?")):A("",!0),m("button",{onClick:lt(o,["stop"]),class:"button danger",disabled:e.disabled},[r.value?(y(),k("span",va,"Yes")):Re(l.$slots,"default",{key:1},void 0,!0)],8,ha),r.value?(y(),k("button",{key:1,class:"button",onClick:lt(s,["stop"])},"No",8,pa)):A("",!0)],2))}});var ya=Q(ba,[["__scopeId","data-v-2f8ef34c"]]);const De=e=>(tt("data-v-32313015"),e=e(),nt(),e),_a=De(()=>m("div",{class:"handle material-icons"},"drag_handle",-1)),wa={key:0,class:"actions"},Na=De(()=>m("span",{class:"material-icons"},"content_paste",-1)),Ca=De(()=>m("span",{class:"material-icons"},"content_copy",-1)),Sa=De(()=>m("span",{class:"material-icons"},"edit",-1)),ka=De(()=>m("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),Ia={key:1,class:"actions"},xa=De(()=>m("span",{class:"material-icons"},"check",-1)),Ma=De(()=>m("span",{class:"material-icons"},"close",-1)),Ea={key:2,class:"details"},$a={class:"save-version"},Ta=De(()=>m("br",null,null,-1)),Fa={key:0},Pa={key:3,class:"details"},Va={key:4,class:"details error"},Da=De(()=>m("br",null,null,-1)),Oa=W({__name:"Save",props:{save:null},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const n=e,{save:i}=ge(n),r=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),o=P(!1),s=P(!1),l=P("");Ee(o,()=>{var p;return l.value=(p=i.value.name)!=null?p:""});const c=E(()=>i.value!=null&&i.value.id===U.id),f=E(()=>{var p;return c.value?U.time:(p=i.value!=null&&i.value.time)!=null?p:0});function h(){t("editName",l.value),o.value=!1}return(p,_)=>(y(),k("div",{class:ae(["save",{active:a(c)}])},[_a,o.value?(y(),k("div",Ia,[m("button",{onClick:h,class:"button"},[b(de,{display:"Save",direction:a(se).Left,class:"info"},{default:q(()=>[xa]),_:1},8,["direction"])]),m("button",{onClick:_[5]||(_[5]=x=>o.value=!o.value),class:"button"},[b(de,{display:"Cancel",direction:a(se).Left,class:"info"},{default:q(()=>[Ma]),_:1},8,["direction"])])])):(y(),k("div",wa,[a(i).error==null&&!s.value?(y(),H(Tn,{key:0,onClick:_[0]||(_[0]=x=>t("export")),class:"button",left:""},{default:q(()=>[b(de,{display:"Export",direction:a(se).Left,class:"info"},{default:q(()=>[Na]),_:1},8,["direction"])]),_:1})):A("",!0),a(i).error==null&&!s.value?(y(),k("button",{key:1,onClick:_[1]||(_[1]=x=>t("duplicate")),class:"button"},[b(de,{display:"Duplicate",direction:a(se).Left,class:"info"},{default:q(()=>[Ca]),_:1},8,["direction"])])):A("",!0),a(i).error==null&&!s.value?(y(),k("button",{key:2,onClick:_[2]||(_[2]=x=>o.value=!o.value),class:"button"},[b(de,{display:"Edit Name",direction:a(se).Left,class:"info"},{default:q(()=>[Sa]),_:1},8,["direction"])])):A("",!0),b(ya,{disabled:a(c),onClick:_[3]||(_[3]=x=>t("delete")),onConfirmingChanged:_[4]||(_[4]=x=>s.value=x)},{default:q(()=>[b(de,{display:"Delete",direction:a(se).Left,class:"info"},{default:q(()=>[ka]),_:1},8,["direction"])]),_:1},8,["disabled"])])),a(i).error==null&&!o.value?(y(),k("div",Ea,[m("button",{class:"button open",onClick:_[6]||(_[6]=x=>t("open"))},[m("h3",null,G(a(i).name),1)]),m("span",$a,"v"+G(a(i).modVersion),1),Ta,a(f)?(y(),k("div",Fa,"Last played "+G(a(r).format(a(f))),1)):A("",!0)])):a(i).error==null&&o.value?(y(),k("div",Pa,[b(Fn,{modelValue:l.value,"onUpdate:modelValue":_[7]||(_[7]=x=>l.value=x),class:"editname",onSubmit:h},null,8,["modelValue"])])):(y(),k("div",Va,[L(" Error: Failed to load save with id "+G(a(i).id),1),Da,L(G(a(i).error),1)]))],2))}});var Aa=Q(Oa,[["__scopeId","data-v-32313015"]]);const en=e=>(tt("data-v-2a4275be"),e=e(),nt(),e),La=en(()=>m("h2",null,"Saves Manager",-1)),Ba={class:"modal-footer"},qa={class:"field"},Ra=en(()=>m("span",{class:"field-title"},"Create Save",-1)),za={class:"field-buttons"},Ua={class:"footer"},ja=en(()=>m("div",{style:{"flex-grow":"1"}},null,-1)),Wa=W({__name:"SavesManager",setup(e,{expose:t}){const n=P(!1),i=P(null);t({open(){n.value=!0}});const r=P(!1),o=P(""),s=P(null);Ee(o,S=>{S?et(()=>{try{if(S[0]!=="{")if(S[0]==="e")S=decodeURIComponent(escape(atob(S)));else if(S[0]==="\u1BE1")S=Le.decompressFromUTF16(S);else{console.warn("Unable to determine preset encoding",S),r.value=!0;return}const N=JSON.parse(S);if(typeof N!="object"){r.value=!0;return}const T=$t();N.id=T,_e(N),o.value="",r.value=!1,J.saves.push(T)}catch{r.value=!0}}):r.value=!1});let l={},c=P(Object.keys(l).reduce((S,N)=>(S.push({label:N.split("/").slice(-1)[0].slice(0,-4),value:l[N]}),S),[]));const f=Ht({});function h(S){if(f[S]==null){let N=localStorage.getItem(S);if(N==null)f[S]={error:"Save doesn't exist in localStorage",id:S};else if(N==="dW5kZWZpbmVk")f[S]={error:"Save is undefined",id:S};else try{if(N[0]!=="{")if(N[0]==="e")N=decodeURIComponent(escape(atob(N)));else if(N[0]==="\u1BE1")N=Le.decompressFromUTF16(N);else return console.warn("Unable to determine preset encoding",N),r.value=!0,f[S]={error:"Unable to determine preset encoding",id:S},f[S];f[S]={...JSON.parse(N),id:S}}catch(T){f[S]={error:T,id:S},console.warn(`SavesManager: Failed to load info about save with id ${S}: -${T} -${N}`)}}return f[S]}Ee(n,S=>{S&&Object.keys(f).forEach(N=>delete f[N])});const p=E(()=>J.saves.reduce((S,N)=>(S[N]=h(N),S),{}));function _(S){let N;switch(U.id===S?N=wn(U):N=JSON.stringify(p.value[S]),Y.exportEncoding){default:console.warn(`Unknown save encoding: ${Y.exportEncoding}. Defaulting to lz`);case"lz":N=Le.compressToUTF16(N);break;case"base64":N=btoa(unescape(encodeURIComponent(N)));break;case"plain":break}const T=document.createElement("textarea");T.value=N,document.body.appendChild(T),T.select(),T.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(T)}function x(S){U.id===S&&_e();const N={...p.value[S],id:$t()};_e(N),J.saves.push(N.id)}function w(S){J.saves=J.saves.filter(N=>N!==S),localStorage.removeItem(S),f[S]=void 0}function C(S){p.value[U.id].time=U.time,_e(),f[U.id]=void 0,Ye(p.value[S]),f[S]=void 0}function $(S){if(s.value=S,et(()=>{s.value=null}),S[0]!=="{")if(S[0]==="e")S=decodeURIComponent(escape(atob(S)));else if(S[0]==="\u1BE1")S=Le.decompressFromUTF16(S);else{console.warn("Unable to determine preset encoding",S);return}const N=JSON.parse(S);N.id=$t(),_e(N),J.saves.push(N.id),C(N.id)}function V(S,N){const T=p.value[S];T!=null&&(T.name=N,U.id===S?(U.name=N,_e()):(_e(T),f[S]=void 0))}return(S,N)=>(y(),H(We,{modelValue:n.value,"onUpdate:modelValue":N[4]||(N[4]=T=>n.value=T),ref_key:"modal",ref:i},{header:q(()=>[La]),body:q(({shown:T})=>[T?(y(),H(a(Kn),{key:0,list:a(J).saves,handle:".handle",itemKey:X=>X},{item:q(({element:X})=>[b(Aa,{save:a(p)[X],onOpen:F=>C(X),onExport:F=>_(X),onEditName:F=>V(X,F),onDuplicate:F=>x(X),onDelete:F=>w(X)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):A("",!0)]),footer:q(()=>[m("div",Ba,[b(Fn,{modelValue:o.value,"onUpdate:modelValue":N[0]||(N[0]=T=>o.value=T),title:"Import Save",placeholder:"Paste your save here!",class:ae({importingFailed:r.value})},null,8,["modelValue","class"]),m("div",qa,[Ra,m("div",za,[m("button",{class:"button",onClick:N[1]||(N[1]=T=>C(a(ot)().id))},"New Game"),Object.keys(a(c)).length>0?(y(),H($n,{key:0,options:a(c),modelValue:s.value,"onUpdate:modelValue":N[2]||(N[2]=T=>$(T)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):A("",!0)])]),m("div",Ua,[ja,m("button",{class:"button modal-default-button",onClick:N[3]||(N[3]=T=>n.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var Pn=Q(Wa,[["__scopeId","data-v-2a4275be"]]);const Ne=e=>(tt("data-v-318a1c31"),e=e(),nt(),e),Ga=["src","alt"],Ha={key:1,class:"title"},Za=Ne(()=>m("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),Ya={class:"discord"},Ja={class:"discord-links"},Ka={key:0},Xa=["href"],Qa=Ne(()=>m("li",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"The Paper Pilot Community")],-1)),eo=Ne(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),to={href:"https://forums.moddingtree.com/",target:"_blank"},no=Ne(()=>m("span",{class:"material-icons"},"forum",-1)),io=Ne(()=>m("span",{class:"material-icons"},"info",-1)),ro=Ne(()=>m("span",{class:"material-icons"},"library_books",-1)),ao=Ne(()=>m("span",{class:"material-icons"},"settings",-1)),oo=Ne(()=>m("span",{class:"material-icons"},"library_books",-1)),so=Ne(()=>m("span",{class:"material-icons"},"settings",-1)),lo=Ne(()=>m("span",{class:"material-icons"},"info",-1)),uo={href:"https://forums.moddingtree.com/",target:"_blank"},co=Ne(()=>m("span",{class:"material-icons"},"forum",-1)),go={class:"discord"},fo={class:"discord-links"},mo={key:0},ho=["href"],vo=Ne(()=>m("li",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"The Paper Pilot Community")],-1)),po=Ne(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),bo=W({__name:"Nav",setup(e){const t=P(null),n=P(null),i=P(null),r=P(null),{useHeader:o,banner:s,title:l,discordName:c,discordLink:f,versionNumber:h}=Y;function p(){window.open(f,"mywindow")}return(_,x)=>(y(),k(ee,null,[a(o)?(y(),k("div",Pe({key:0,class:"nav"},_.$attrs),[a(s)?(y(),k("img",{key:0,src:a(s),class:"banner",alt:a(l)},null,8,Ga)):(y(),k("div",Ha,G(a(l)),1)),m("div",{onClick:x[0]||(x[0]=w=>{var C;return(C=r.value)==null?void 0:C.open()}),class:"version-container"},[b(de,{display:"Changelog",direction:a(se).Down,class:"version"},{default:q(()=>[m("span",null,"v"+G(a(h)),1)]),_:1},8,["direction"])]),Za,m("div",Ya,[m("span",{onClick:p,class:"material-icons"},"discord"),m("ul",Ja,[a(f)?(y(),k("li",Ka,[m("a",{href:a(f),target:"_blank"},G(a(c)),9,Xa)])):A("",!0),Qa,eo])]),m("div",null,[m("a",to,[b(de,{display:"Forums",direction:a(se).Down,yoffset:"5px"},{default:q(()=>[no]),_:1},8,["direction"])])]),m("div",{onClick:x[1]||(x[1]=w=>{var C;return(C=t.value)==null?void 0:C.open()})},[b(de,{display:"Info",direction:a(se).Down,class:"info"},{default:q(()=>[io]),_:1},8,["direction"])]),m("div",{onClick:x[2]||(x[2]=w=>{var C;return(C=n.value)==null?void 0:C.open()})},[b(de,{display:"Saves",direction:a(se).Down,xoffset:"-20px"},{default:q(()=>[ro]),_:1},8,["direction"])]),m("div",{onClick:x[3]||(x[3]=w=>{var C;return(C=i.value)==null?void 0:C.open()})},[b(de,{display:"Settings",direction:a(se).Down,xoffset:"-66px"},{default:q(()=>[ao]),_:1},8,["direction"])])],16)):(y(),k("div",Pe({key:1,class:"overlay-nav"},_.$attrs),[m("div",{onClick:x[4]||(x[4]=w=>{var C;return(C=r.value)==null?void 0:C.open()}),class:"version-container"},[b(de,{display:"Changelog",direction:a(se).Right,xoffset:"25%",class:"version"},{default:q(()=>[m("span",null,"v"+G(a(h)),1)]),_:1},8,["direction"])]),m("div",{onClick:x[5]||(x[5]=w=>{var C;return(C=n.value)==null?void 0:C.open()})},[b(de,{display:"Saves",direction:a(se).Right},{default:q(()=>[oo]),_:1},8,["direction"])]),m("div",{onClick:x[6]||(x[6]=w=>{var C;return(C=i.value)==null?void 0:C.open()})},[b(de,{display:"Settings",direction:a(se).Right},{default:q(()=>[so]),_:1},8,["direction"])]),m("div",{onClick:x[7]||(x[7]=w=>{var C;return(C=t.value)==null?void 0:C.open()})},[b(de,{display:"Info",direction:a(se).Right},{default:q(()=>[lo]),_:1},8,["direction"])]),m("div",null,[m("a",uo,[b(de,{display:"Forums",direction:a(se).Right,xoffset:"7px"},{default:q(()=>[co]),_:1},8,["direction"])])]),m("div",go,[m("span",{onClick:p,class:"material-icons"},"discord"),m("ul",fo,[a(f)?(y(),k("li",mo,[m("a",{href:a(f),target:"_blank"},G(a(c)),9,ho)])):A("",!0),vo,po])])],16)),b(Jr,{ref_key:"info",ref:t,changelog:r.value},null,8,["changelog"]),b(Pn,{ref_key:"savesManager",ref:n},null,512),b(la,{ref_key:"options",ref:i},null,512),b(Tr,{ref_key:"changelog",ref:r},null,512)],64))}});var Vn=Q(bo,[["__scopeId","data-v-318a1c31"]]);const yo={class:"inner-tab"},_o=W({__name:"Game",setup(e){const t=Ue(U,"tabs"),n=E(()=>Object.keys(ve)),i=Y.useHeader;function r(o){const{display:s,minimized:l,name:c,color:f,minimizable:h,nodes:p,minimizedDisplay:_}=o;return{display:s,minimized:l,name:c,color:f,minimizable:h,nodes:p,minimizedDisplay:_}}return(o,s)=>(y(),k("div",{class:ae(["tabs-container",{useHeader:a(i)}])},[(y(!0),k(ee,null,ct(a(t),(l,c)=>{var f,h;return y(),k("div",{key:c,class:ae(["tab",a((f=a(ve)[l])==null?void 0:f.classes)]),style:$e(a((h=a(ve)[l])==null?void 0:h.style))},[c===0&&!a(i)?(y(),H(Vn,{key:0})):A("",!0),m("div",yo,[a(n).includes(l)?(y(),H(xr,Pe({key:0},r(a(ve)[l]),{index:c,onSetMinimized:p=>a(ve)[l].minimized.value=p}),null,16,["index","onSetMinimized"])):(y(),H(we(l),{key:1,index:c},null,8,["index"]))])],6)}),128))],2))}});var wo=Q(_o,[["__scopeId","data-v-dcd207b4"]]);const No=W({__name:"Sticky",setup(e){const t=P("0"),n=new ResizeObserver(r),i=Me(null);function r(){let o=i.value;if(o==null)return;let s=0;for(;o.previousSibling;){const l=o.previousSibling;l.dataset&&"vSticky"in l.dataset&&(s+=l.offsetHeight),o=l}t.value=s+"px"}return et(r),document.fonts.ready.then(r),At(()=>{var s;const o=(s=i.value)==null?void 0:s.parentElement;o&&n.observe(o)}),(o,s)=>(y(),k("div",{class:"sticky",style:$e({top:t.value}),ref_key:"element",ref:i,"data-v-sticky":""},[Re(o.$slots,"default",{},void 0,!0)],4))}});var Dn=Q(No,[["__scopeId","data-v-cccac690"]]);const Co=["x1","y1","x2","y2"],So=W({__name:"BoardLink",props:{link:null},setup(e){const n=ge(e),i=E(()=>{const o=n.link.value.startNode.position;return n.link.value.offsetStart&&(o.x+=a(n.link.value.offsetStart).x,o.y+=a(n.link.value.offsetStart).y),o}),r=E(()=>{const o=n.link.value.endNode.position;return n.link.value.offsetEnd&&(o.x+=a(n.link.value.offsetEnd).x,o.y+=a(n.link.value.offsetEnd).y),o});return(o,s)=>(y(),k("line",Pe({class:"link"},e.link,{class:{pulsing:e.link.pulsing},x1:a(i).x,y1:a(i).y,x2:a(r).x,y2:a(r).y}),null,16,Co))}});var ko=Q(So,[["__scopeId","data-v-57c4970a"]]);const Io={key:0},xo=["transform","onMousedown","onTouchstart","onMouseup","onTouchend"],Mo=["fill","stroke-width","stroke"],Eo=["fill"],$o=W({__name:"BoardNodeAction",props:{node:null,nodeType:null,actions:null,isSelected:{type:Boolean},selectedAction:null},emits:["clickAction"],setup(e,{emit:t}){const i=ge(e),r=E(()=>Z(i.nodeType.value.size,a(i.node))),o=E(()=>{var h;return(h=Z(i.nodeType.value.outlineColor,a(i.node)))!=null?h:Te[J.theme].variables["--outline"]}),s=E(()=>{var h;return(h=Z(i.nodeType.value.titleColor,a(i.node)))!=null?h:Te[J.theme].variables["--foreground"]}),l=E(()=>Z(i.nodeType.value.actionDistance,a(i.node)));function c(h,p){t("clickAction",p.id),h.preventDefault(),h.stopPropagation()}function f(h,p){var _;((_=a(i.selectedAction))==null?void 0:_.id)===p.id&&(h.preventDefault(),h.stopPropagation())}return(h,p)=>(y(),H(ut,{name:"actions",appear:""},{default:q(()=>[e.isSelected&&e.actions?(y(),k("g",Io,[(y(!0),k(ee,null,ct(e.actions,(_,x)=>{var w,C;return y(),k("g",{key:_.id,class:ae(["action",{selected:((w=e.selectedAction)==null?void 0:w.id)===_.id}]),transform:`translate( - ${(-a(r)-30)*Math.sin(((e.actions.length-1)/2-x)*a(l))}, - ${(a(r)+30)*Math.cos(((e.actions.length-1)/2-x)*a(l))} - )`,onMousedown:$=>c($,_),onTouchstart:$=>c($,_),onMouseup:$=>f($,_),onTouchend:lt($=>f($,_),["stop"])},[m("circle",{fill:a(Z)(_.fillColor,e.node),r:"20","stroke-width":((C=e.selectedAction)==null?void 0:C.id)===_.id?4:0,stroke:a(o)},null,8,Mo),m("text",{fill:a(s),class:"material-icons"},G(a(Z)(_.icon,e.node)),9,Eo)],42,xo)}),128))])):A("",!0)]),_:1}))}});var To=Q($o,[["__scopeId","data-v-9efb2a56"]]);const Fo=["transform"],Po={key:0},Vo=["r","fill","stroke"],Do=["r","fill","stroke"],Oo=["r","fill"],Ao=["r","stroke-dasharray","stroke-dashoffset","stroke"],Lo={key:1,transform:"rotate(45, 0, 0)"},Bo=["width","height","transform","fill","stroke"],qo=["width","height","transform","fill","stroke"],Ro=["width","height","transform","fill"],zo=["width","height","transform","stroke-dasharray","stroke-dashoffset","stroke"],Uo=["fill","y"],jo=["fill"],Wo={key:0},Go=["fill","y"],Ho=["fill","y"],Zo=W({__name:"BoardNode",props:{node:null,nodeType:null,dragging:null,dragged:null,hasDragged:{type:Boolean},receivingNode:{type:Boolean},selectedNode:null,selectedAction:null},emits:["mouseDown","endDragging","clickAction"],setup(e,{emit:t}){const n=e,i=Math.sqrt(2),r=ge(n),o=E(()=>a(r.selectedNode)===a(r.node)),s=E(()=>Z(r.nodeType.value.draggable,a(r.node)));Ee(s,O=>{const K=a(r.node);a(r.dragging)===K&&!O&&t("endDragging",K.id)});const l=E(()=>{var K;const O=a(r.node);return(K=Z(r.nodeType.value.actions,O))==null?void 0:K.filter(ie=>je(Z(ie.visibility,O)))}),c=E(()=>{var K;const O=a(r.node);if(Z(r.nodeType.value.draggable,O)&&((K=a(r.dragging))==null?void 0:K.id)===O.id&&a(r.dragged)!=null){const{x:ie,y:Ce}=a(r.dragged);return{x:O.position.x+Math.round(ie/25)*25,y:O.position.y+Math.round(Ce/25)*25}}return O.position}),f=E(()=>Z(r.nodeType.value.shape,a(r.node))),h=E(()=>Z(r.nodeType.value.title,a(r.node))),p=E(()=>Z(r.nodeType.value.subtitle,a(r.node))),_=E(()=>{var O;return(O=o.value?a(r.selectedAction)&&Z(a(r.selectedAction).tooltip,a(r.node)):null)!=null?O:Z(r.nodeType.value.label,a(r.node))}),x=E(()=>{var O,K;return Z((K=(O=a(r.selectedAction))==null?void 0:O.confirmationLabel)!=null?K:{text:"Tap again to confirm"},a(r.node))}),w=E(()=>Z(r.nodeType.value.size,a(r.node))),C=E(()=>{var O;return(O=Z(r.nodeType.value.progress,a(r.node)))!=null?O:0}),$=E(()=>Te[J.theme].variables["--background"]),V=E(()=>{var O;return(O=Z(r.nodeType.value.outlineColor,a(r.node)))!=null?O:Te[J.theme].variables["--outline"]}),S=E(()=>{var O;return(O=Z(r.nodeType.value.fillColor,a(r.node)))!=null?O:Te[J.theme].variables["--raised-background"]}),N=E(()=>Z(r.nodeType.value.progressColor,a(r.node))),T=E(()=>{var O;return(O=Z(r.nodeType.value.titleColor,a(r.node)))!=null?O:Te[J.theme].variables["--foreground"]}),X=E(()=>Z(r.nodeType.value.progressDisplay,a(r.node))),F=E(()=>a(r.dragging)!=null&&a(r.hasDragged)&&Z(r.nodeType.value.canAccept,a(r.node))),M=E(()=>Z(r.nodeType.value.style,a(r.node))),D=E(()=>Z(r.nodeType.value.classes,a(r.node)));function ne(O){t("mouseDown",O,r.node.value.id,s.value)}function he(O){var K,ie,Ce;(K=r.hasDragged)!=null&&K.value||(t("endDragging",r.node.value.id),(Ce=(ie=r.nodeType.value).onClick)==null||Ce.call(ie,r.node.value),O.stopPropagation())}return(O,K)=>{var ie,Ce,mt;return y(),k("g",{class:ae(["boardnode",{[e.node.type]:!0,isSelected:a(o),isDraggable:a(s),...a(D)}]),style:$e([{opacity:((ie=e.dragging)==null?void 0:ie.id)===e.node.id&&e.hasDragged?.5:1},(Ce=a(M))!=null?Ce:[]]),transform:`translate(${a(c).x},${a(c).y})${a(o)?" scale(1.2)":""}`},[b(To,{actions:(mt=a(l))!=null?mt:[],"is-selected":a(o),node:e.node,"node-type":e.nodeType,"selected-action":e.selectedAction,onClickAction:K[0]||(K[0]=xe=>t("clickAction",xe))},null,8,["actions","is-selected","node","node-type","selected-action"]),m("g",{class:"node-container",onMousedown:ne,onTouchstartPassive:ne,onMouseup:he,onTouchendPassive:he},[a(f)===a(Ke).Circle?(y(),k("g",Po,[a(F)?(y(),k("circle",{key:0,class:"receiver",r:a(w)+8,fill:a($),stroke:e.receivingNode?"#0F0":"#0F03","stroke-width":2},null,8,Vo)):A("",!0),m("circle",{class:"body",r:a(w),fill:a(S),stroke:a(V),"stroke-width":4},null,8,Do),a(X)===a(Ct).Fill?(y(),k("circle",{key:1,class:"progress progressFill",r:Math.max(a(w)*a(C)-2,0),fill:a(N)},null,8,Oo)):(y(),k("circle",{key:2,r:a(w)+4.5,class:"progress progressRing",fill:"transparent","stroke-dasharray":(a(w)+4.5)*2*Math.PI,"stroke-width":5,"stroke-dashoffset":(a(w)+4.5)*2*Math.PI-a(C)*(a(w)+4.5)*2*Math.PI,stroke:a(N)},null,8,Ao))])):a(f)===a(Ke).Diamond?(y(),k("g",Lo,[a(F)?(y(),k("rect",{key:0,class:"receiver",width:a(w)*a(i)+16,height:a(w)*a(i)+16,transform:`translate(${-(a(w)*a(i)+16)/2}, ${-(a(w)*a(i)+16)/2})`,fill:a($),stroke:e.receivingNode?"#0F0":"#0F03","stroke-width":2},null,8,Bo)):A("",!0),m("rect",{class:"body",width:a(w)*a(i),height:a(w)*a(i),transform:`translate(${-a(w)*a(i)/2}, ${-a(w)*a(i)/2})`,fill:a(S),stroke:a(V),"stroke-width":4},null,8,qo),a(X)===a(Ct).Fill?(y(),k("rect",{key:1,class:"progress progressFill",width:Math.max(a(w)*a(i)*a(C)-2,0),height:Math.max(a(w)*a(i)*a(C)-2,0),transform:`translate(${-Math.max(a(w)*a(i)*a(C)-2,0)/2}, ${-Math.max(a(w)*a(i)*a(C)-2,0)/2})`,fill:a(N)},null,8,Ro)):(y(),k("rect",{key:2,class:"progress progressDiamond",width:a(w)*a(i)+9,height:a(w)*a(i)+9,transform:`translate(${-(a(w)*a(i)+9)/2}, ${-(a(w)*a(i)+9)/2})`,fill:"transparent","stroke-dasharray":(a(w)*a(i)+9)*4,"stroke-width":5,"stroke-dashoffset":(a(w)*a(i)+9)*4-a(C)*(a(w)*a(i)+9)*4,stroke:a(N)},null,8,zo))])):A("",!0),m("text",{fill:a(T),class:"node-title",y:a(p)?10:0},G(a(h)),9,Uo),a(p)?(y(),k("text",{key:2,fill:a(T),class:"node-subtitle",y:"-15"},G(a(p)),9,jo)):A("",!0)],32),b(ut,{name:"fade",appear:""},{default:q(()=>{var xe;return[a(_)?(y(),k("g",Wo,[m("text",{fill:(xe=a(_).color)!=null?xe:a(T),class:ae(["node-title",{pulsing:a(_).pulsing}]),y:-a(w)-20},G(a(_).text),11,Go)])):A("",!0)]}),_:1}),b(ut,{name:"fade",appear:""},{default:q(()=>{var xe;return[a(o)&&e.selectedAction?(y(),k("text",{key:0,fill:(xe=a(x).color)!=null?xe:a(T),class:ae(["node-title",{pulsing:a(x).pulsing}]),y:a(w)+75},G(a(x).text),11,Ho)):A("",!0)]}),_:1})],14,Fo)}}});var Yo=Q(Zo,[["__scopeId","data-v-6e9f5331"]]);const Jo={class:"stage",width:"100%",height:"100%"},Ko={class:"g1"},Xo=W({__name:"Board",props:{nodes:null,types:null,state:null,visibility:null,width:null,height:null,style:null,classes:null,links:null,selectedAction:null,selectedNode:null,mousePosition:null},setup(e){const n=ge(e),i=P({x:0,y:0}),r=P({x:0,y:0}),o=P(null),s=P(!1),l=P(null),c=E(()=>o.value==null?void 0:n.nodes.value.find($=>$.id===o.value)),f=E(()=>{const $=n.nodes.value.slice();if(c.value){const V=$.splice($.indexOf(c.value),1)[0];$.push(V)}return $}),h=E(()=>{const $=c.value;if($==null)return null;const V={x:$.position.x+r.value.x,y:$.position.y+r.value.y};let S=Number.MAX_VALUE;return n.nodes.value.reduce((N,T)=>{if(T.id===$.id)return N;const X=n.types.value[T.type];if(!Z(X.canAccept,T))return N;const M=Math.pow(V.x-T.position.x,2)+Math.pow(V.y-T.position.y,2);let D=Z(X.size,T);return M>S||M>D*D?N:(S=M,T)},null)});function p($){$.setTransformOrigin(null),$.moveTo(l.value.$el.clientWidth/2,l.value.$el.clientHeight/2)}function _($,V=null,S=!1){if(o.value==null){$.preventDefault(),$.stopPropagation();let N,T;if("touches"in $)if($.touches.length===1)N=$.touches[0].clientX,T=$.touches[0].clientY;else return;else N=$.clientX,T=$.clientY;i.value={x:N,y:T},r.value={x:0,y:0},s.value=!1,S&&(o.value=V)}V!=null&&(n.state.value.selectedNode=null,n.state.value.selectedAction=null)}function x($){const{x:V,y:S,scale:N}=l.value.panZoomInstance.getTransform();let T,X;if("touches"in $)if($.touches.length===1)T=$.touches[0].clientX,X=$.touches[0].clientY;else{w(o.value),n.mousePosition.value=null;return}else T=$.clientX,X=$.clientY;n.mousePosition.value={x:(T-V)/N,y:(X-S)/N},r.value={x:r.value.x+(T-i.value.x)/N,y:r.value.y+(X-i.value.y)/N},i.value={x:T,y:X},(Math.abs(r.value.x)>10||Math.abs(r.value.y)>10)&&(s.value=!0),o.value!=null&&($.preventDefault(),$.stopPropagation())}function w($){var V,S;if(o.value!=null&&o.value===$&&c.value!=null){c.value.position.x+=Math.round(r.value.x/25)*25,c.value.position.y+=Math.round(r.value.y/25)*25;const N=n.nodes.value;N.push(N.splice(N.indexOf(c.value),1)[0]),h.value&&((S=(V=n.types.value[h.value.type]).onDrop)==null||S.call(V,h.value,c.value)),o.value=null}else s.value||(n.state.value.selectedNode=null,n.state.value.selectedAction=null)}function C($,V){n.state.value.selectedAction===V?a(n.selectedAction).onClick(a(n.selectedNode)):n.state.value={...n.state.value,selectedAction:V}}return($,V)=>{const S=Tt("panZoom");return a(je)(e.visibility)?(y(),H(S,{key:0,style:$e([{width:e.width,height:e.height},e.style]),class:ae(e.classes),selector:".g1",options:{initialZoom:1,minZoom:.1,maxZoom:10,zoomDoubleClickSpeed:1},ref_key:"stage",ref:l,onInit:p,onMousemove:x,onTouchmove:x,onMousedown:V[0]||(V[0]=N=>_(N)),onTouchstart:V[1]||(V[1]=N=>_(N)),onMouseup:V[2]||(V[2]=()=>w(o.value)),onTouchendPassive:V[3]||(V[3]=()=>w(o.value)),onMouseleave:V[4]||(V[4]=()=>w(o.value))},{default:q(()=>[(y(),k("svg",Jo,[m("g",Ko,[b(nn,{name:"link",appear:""},{default:q(()=>[(y(!0),k(ee,null,ct(a(e.links)||[],N=>(y(),k("g",{key:`${N.startNode.id}-${N.endNode.id}`},[b(ko,{link:N},null,8,["link"])]))),128))]),_:1}),b(nn,{name:"grow",duration:500,appear:""},{default:q(()=>[(y(!0),k(ee,null,ct(a(f),N=>{var T;return y(),k("g",{key:N.id,style:{"transition-duration":"0s"}},[b(Yo,{node:N,nodeType:e.types[N.type],dragging:a(c),dragged:a(c)===N?r.value:void 0,hasDragged:s.value,receivingNode:((T=a(h))==null?void 0:T.id)===N.id,selectedNode:a(e.selectedNode),selectedAction:a(e.selectedAction),onMouseDown:_,onEndDragging:w,onClickAction:X=>C(N,X)},null,8,["node","nodeType","dragging","dragged","hasDragged","receivingNode","selectedNode","selectedAction","onClickAction"])])}),128))]),_:1})])]))]),_:1},8,["style","class","options"])):A("",!0)}}});ye.on("setupVue",e=>Qn.install(e));const On=Symbol("Board");var Ct=(e=>(e.Outline="Outline",e.Fill="Fill",e))(Ct||{}),Ke=(e=>(e.Circle="Circle",e.Diamond="Triangle",e))(Ke||{});function Qo(e){const t=gt({nodes:[],selectedNode:null,selectedAction:null},!1);return kt(n=>{const i=e.call(n,n);i.id=_n("board-"),i.type=On,i[_t]=Xo,i.state?(yr(t),B(i,"state")):(t[Nt]={nodes:i.startNodes().map((o,s)=>(o.id=s,o)),selectedNode:null,selectedAction:null},i.state=t),i.nodes=E(()=>a(r.state).nodes),i.selectedNode=E(()=>r.nodes.value.find(o=>o.id===a(r.state).selectedNode)||null),i.selectedAction=E(()=>{const o=r.selectedNode.value;if(o==null)return null;const s=r.types[o.type];return s.actions==null?null:s.actions.find(l=>l.id===a(r.state).selectedAction)||null}),i.mousePosition=P(null),i.links?B(i,"links"):i.links=E(()=>r.selectedAction.value==null?null:r.selectedAction.value.links&&r.selectedNode.value?Z(r.selectedAction.value.links,r.selectedNode.value):null),B(i,"visibility"),ue(i,"visibility",Ve.Visible),B(i,"width"),ue(i,"width","100%"),B(i,"height"),ue(i,"height","100%"),B(i,"classes"),B(i,"style");for(const o in i.types){const s=i.types[o];if(B(s,"title"),B(s,"subtitle"),B(s,"label"),B(s,"size"),ue(s,"size",50),B(s,"style"),B(s,"classes"),B(s,"draggable"),ue(s,"draggable",!1),B(s,"shape"),ue(s,"shape","Circle"),B(s,"canAccept"),ue(s,"canAccept",!1),B(s,"progress"),B(s,"progressDisplay"),ue(s,"progressDisplay","Fill"),B(s,"progressColor"),ue(s,"progressColor","none"),B(s,"fillColor"),B(s,"outlineColor"),B(s,"titleColor"),B(s,"actionDistance"),ue(s,"actionDistance",Math.PI/6),s.nodes=E(()=>a(r.state).nodes.filter(l=>l.type===o)),ue(s,"onClick",function(l){a(r.state).selectedNode=l.id}),s.actions)for(const l of s.actions)B(l,"visibility"),ue(l,"visibility",Ve.Visible),B(l,"icon"),B(l,"fillColor"),B(l,"tooltip"),B(l,"confirmationLabel"),ue(l,"confirmationLabel",{text:"Tap again to confirm"}),B(l,"links")}i[Bt]=function(){const{nodes:o,types:s,state:l,visibility:c,width:f,height:h,style:p,classes:_,links:x,selectedAction:w,selectedNode:C,mousePosition:$}=this;return{nodes:o,types:s,state:l,visibility:c,width:f,height:h,style:a(p),classes:_,links:x,selectedAction:w,selectedNode:C,mousePosition:$}};const r=i;return r})}function Z(e,t){return Vt(e)?e(t):a(e)}function es(e){let t=0;return e.nodes.value.forEach(n=>{n.id>=t&&(t=n.id+1)}),t}const vt={};ye.on("addLayer",e=>{const t=Xi(e,On);vt[e.id]=e.on("postUpdate",n=>{t.forEach(i=>{Object.values(i.types).forEach(r=>r.nodes.value.forEach(o=>{var s;return(s=r.update)==null?void 0:s.call(r,o,n)}))})})});ye.on("removeLayer",e=>{var t;(t=vt[e.id])==null||t.call(vt),vt[e.id]=void 0});function ts(e,t="points",n=0,i=void 0){const r=fe(e)?e:gt(e);if(r.displayName=t,r.precision=n,r.small=i,!fe(e)){const o=r[Be];o.displayName=t,o.precision=n,o.small=i}return r}new u("10^^8");new u("1e100");ye.on("setupVue",e=>e.use(ei));function ns(e="white",t="8px"){return{transform:"scale(1.05, 1.05)",borderColor:"rgba(0, 0, 0, 0.125)",boxShadow:`-4px -4px 4px rgba(0, 0, 0, 0.25) inset, 0 0 ${t} ${e}`,zIndex:1}}const is=W({props:{visibility:{type:z(Number,Boolean),required:!0},display:{type:z(Object,String,Function),required:!0},style:z(String,Object,Array),classes:z(Object),glowColor:z(String),active:Boolean,floating:Boolean},emits:["selectTab"],setup(e,{emit:t}){const{display:n,glowColor:i,floating:r}=ge(e),o=Sn(n),s=E(()=>{const c=pe(i);return c==null||c===""?{}:a(r)?ns(c):{boxShadow:`0px 9px 5px -6px ${c}`}});function l(){t("selectTab")}return{selectTab:l,component:o,glowColorStyle:s,unref:a,Visibility:Ve,isVisible:je,isHidden:qt}}});function rs(e,t,n,i,r,o){var s;return e.isVisible(e.visibility)?(y(),k("button",{key:0,onClick:t[0]||(t[0]=(...l)=>e.selectTab&&e.selectTab(...l)),class:ae(["tabButton",{active:e.active,...e.unref(e.classes)}]),style:$e([{visibility:e.isHidden(e.visibility)?"hidden":void 0},e.glowColorStyle,(s=e.unref(e.style))!=null?s:{}])},[(y(),H(we(e.component)))],6)):A("",!0)}var An=Q(is,[["render",rs],["__scopeId","data-v-21427abb"]]);const as=W({props:{visibility:{type:z(Number,Boolean),required:!0},activeTab:{type:z(Object),required:!0},selected:{type:Object,required:!0},tabs:{type:z(Object),required:!0},style:z(String,Object,Array),classes:z(Object),buttonContainerStyle:z(String,Object,Array),buttonContainerClasses:z(Object)},components:{Sticky:Dn,TabButton:An},setup(e){const{activeTab:t}=ge(e),n=E(()=>Te[J.theme].floatingTabs),i=Me("");qe(()=>{const l=pe(t);if(l==null){i.value="";return}if(Xe(l)){i.value=me(l);return}i.value=me(a(l.display))});const r=E(()=>{const l=pe(t);return Xe(l)||!l?void 0:a(l.classes)}),o=E(()=>{const l=pe(t);return Xe(l)||!l?void 0:a(l.style)});function s(l){const{display:c,style:f,classes:h,glowColor:p,visibility:_}=l;return{display:c,style:a(f),classes:h,glowColor:p,visibility:_}}return{floating:n,tabClasses:r,tabStyle:o,Visibility:Ve,component:i,gatherButtonProps:s,unref:a,isVisible:je,isHidden:qt}}});function os(e,t,n,i,r,o){var c,f;const s=Tt("TabButton"),l=Tt("Sticky");return e.isVisible(e.visibility)?(y(),k("div",{key:0,class:ae(["tab-family-container",{...e.unref(e.classes),...e.tabClasses}]),style:$e([{visibility:e.isHidden(e.visibility)?"hidden":void 0},(c=e.unref(e.style))!=null?c:[],(f=e.tabStyle)!=null?f:[]])},[b(l,{class:ae(["tab-buttons-container",e.unref(e.buttonContainerClasses)]),style:$e(e.unref(e.buttonContainerStyle))},{default:q(()=>[m("div",{class:ae(["tab-buttons",{floating:e.floating}])},[(y(!0),k(ee,null,ct(e.unref(e.tabs),(h,p)=>(y(),H(s,Pe({onSelectTab:_=>e.selected.value=p,floating:e.floating,key:p,active:e.unref(h.tab)===e.unref(e.activeTab)},e.gatherButtonProps(h)),null,16,["onSelectTab","floating","active"]))),128))],2)]),_:1},8,["class","style"]),e.unref(e.activeTab)?(y(),H(we(e.unref(e.component)),{key:0})):A("",!0)],6)):A("",!0)}var ss=Q(as,[["render",os],["__scopeId","data-v-58dbf83a"]]);const ls=Symbol("TabButton"),us=Symbol("TabFamily");function cs(e,t){if(Object.keys(e).length===0)throw console.warn("Cannot create tab family with 0 tabs"),new Error("Cannot create tab family with 0 tabs");const n=gt(Object.keys(e)[0],!1);return kt(i=>{var s;const r=(s=t==null?void 0:t.call(i,i))!=null?s:{};r.id=_n("tabFamily-"),r.type=us,r[_t]=ss,r.tabs=Object.keys(e).reduce((l,c)=>{const f=e[c]();return f.type=ls,f[_t]=An,B(f,"visibility"),ue(f,"visibility",Ve.Visible),B(f,"tab"),B(f,"display"),B(f,"classes"),B(f,"style"),B(f,"glowColor"),l[c]=f,l},{}),r.selected=n,r.activeTab=E(()=>{const l=a(o.tabs);if(n.value in l&&je(l[n.value].visibility))return a(l[n.value].tab);const c=Object.values(l).find(f=>je(f.visibility));return c?a(c.tab):null}),B(r,"visibility"),ue(r,"visibility",Ve.Visible),B(r,"classes"),B(r,"style"),B(r,"buttonContainerClasses"),B(r,"buttonContainerStyle"),r[Bt]=function(){const{visibility:l,activeTab:c,selected:f,tabs:h,style:p,classes:_,buttonContainerClasses:x,buttonContainerStyle:w}=this;return{visibility:l,activeTab:c,selected:f,tabs:h,style:a(p),classes:_,buttonContainerClasses:x,buttonContainerStyle:w}};const o=r;return o})}const Ln=u.ln(10);function pt(e){return e}function ds(e,t){if(I(t))return t.invert(u.neg(e));throw new Error("Could not invert due to no input being a variable")}function gs(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");return d.neg(t.getIntegralFormula(e))}throw new Error("Could not integrate due to no input being a variable")}function fs(e){return d.neg(e)}function ms(e,t,n){if(I(t))return t.invert(u.sub(e,oe(n)));if(I(n))return n.invert(u.sub(e,oe(t)));throw new Error("Could not invert due to no input being a variable")}function hs(e,t,n){var i,r;if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const o=t.getIntegralFormula(e);return d.times(n,(i=t.innermostVariable)!=null?i:0).add(o)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const o=n.getIntegralFormula(e);return d.times(t,(r=n.innermostVariable)!=null?r:0).add(o)}throw new Error("Could not integrate due to no input being a variable")}function vs(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.add(i,n)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e);return d.add(i,t)}throw new Error("Could not integrate due to no input being a variable")}function ps(e,t,n){if(I(t))return t.invert(u.add(e,oe(n)));if(I(n))return n.invert(u.sub(oe(t),e));throw new Error("Could not invert due to no input being a variable")}function bs(e,t,n){var i,r;if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const o=t.getIntegralFormula(e);return d.sub(o,d.times(n,(i=t.innermostVariable)!=null?i:0))}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const o=n.getIntegralFormula(e);return d.times(t,(r=n.innermostVariable)!=null?r:0).sub(o)}throw new Error("Could not integrate due to no input being a variable")}function ys(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.sub(i,n)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e);return d.sub(i,t)}throw new Error("Could not integrate due to no input being a variable")}function _s(e,t,n){if(I(t))return t.invert(u.div(e,oe(n)));if(I(n))return n.invert(u.div(e,oe(t)));throw new Error("Could not invert due to no input being a variable")}function ws(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.times(i,n)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e);return d.times(i,t)}throw new Error("Could not integrate due to no input being a variable")}function Ns(e,t,n){if(I(t))return d.div(e,n);if(I(n))return d.div(e,t);throw new Error("Could not apply substitution due to no input being a variable")}function Cs(e,t,n){if(I(t))return t.invert(u.mul(e,oe(n)));if(I(n))return n.invert(u.div(oe(t),e));throw new Error("Could not invert due to no input being a variable")}function Ss(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.div(i,n)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e);return d.div(t,i)}throw new Error("Could not integrate due to no input being a variable")}function ks(e,t,n){if(I(t))return d.mul(e,n);if(I(n))return d.mul(e,t);throw new Error("Could not apply substitution due to no input being a variable")}function Is(e,t){if(I(t))return t.invert(u.recip(e));throw new Error("Could not invert due to no input being a variable")}function xs(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.ln(n)}throw new Error("Could not integrate due to no input being a variable")}function Ms(e,t){if(I(t))return t.invert(u.pow10(e));throw new Error("Could not invert due to no input being a variable")}function Es(e){return u.ln(e).sub(1).times(e).div(Ln)}function $s(e,t){if(I(t)){const n=Ln.times(e);return t.invert(n.div(n.div(Math.E).lambertw()))}throw new Error("Could not invert due to no input being a variable")}function Ts(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");return new d({inputs:[t.getIntegralFormula(e)],evaluate:Es,invert:$s})}throw new Error("Could not integrate due to no input being a variable")}function Fs(e,t,n){if(I(t))return t.invert(u.pow(oe(n),e));if(I(n))return n.invert(u.root(oe(t),e));throw new Error("Could not invert due to no input being a variable")}function Ps(e,t){return u.ln(e).sub(1).times(e).div(u.ln(t))}function Vs(e,t,n){if(I(t)){const i=u.ln(oe(n)).times(e);return t.invert(i.div(i.div(Math.E).lambertw()))}throw new Error("Could not invert due to no input being a variable")}function Ds(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");return new d({inputs:[t.getIntegralFormula(e),n],evaluate:Ps,invert:Vs})}throw new Error("Could not integrate due to no input being a variable")}function Os(e,t){if(I(t))return t.invert(u.pow(2,e));throw new Error("Could not invert due to no input being a variable")}function As(e){return u.ln(e).sub(1).times(e).div(u.ln(2))}function Ls(e,t){if(I(t)){const n=u.ln(2).times(e);return t.invert(n.div(n.div(Math.E).lambertw()))}throw new Error("Could not invert due to no input being a variable")}function Bs(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");return new d({inputs:[t.getIntegralFormula(e)],evaluate:As,invert:Ls})}throw new Error("Could not integrate due to no input being a variable")}function qs(e,t){if(I(t))return t.invert(u.exp(e));throw new Error("Could not invert due to no input being a variable")}function Rs(e){return u.ln(e).sub(1).times(e)}function zs(e,t){if(I(t))return t.invert(u.div(e,u.div(e,Math.E).lambertw()));throw new Error("Could not invert due to no input being a variable")}function Us(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");return new d({inputs:[t.getIntegralFormula(e)],evaluate:Rs,invert:zs})}throw new Error("Could not integrate due to no input being a variable")}function js(e,t,n){if(I(t))return t.invert(u.root(e,oe(n)));if(I(n))return n.invert(u.ln(e).div(u.ln(oe(t))));throw new Error("Could not invert due to no input being a variable")}function Ws(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e),r=d.add(n,1);return d.pow(i,r).div(r)}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e);return d.pow(t,i).div(d.ln(t))}throw new Error("Could not integrate due to no input being a variable")}function Gs(e,t){if(I(t))return t.invert(u.root(e,10));throw new Error("Could not invert due to no input being a variable")}function Hs(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.pow10(n).div(d.ln(10))}throw new Error("Could not integrate due to no input being a variable")}function Zs(e,t,n){if(I(t))return t.invert(u.ln(e).div(oe(n)));if(I(n))return n.invert(u.root(oe(t),e));throw new Error("Could not invert due to no input being a variable")}function Ys(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.pow(n,i).div(d.ln(n))}else if(I(n)){if(!n.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=n.getIntegralFormula(e),r=d.add(t,1);return d.pow(i,r).div(r)}throw new Error("Could not integrate due to no input being a variable")}function Js(e,t,n){if(I(t))return t.invert(u.root(e,u.recip(oe(n))));if(I(n))return n.invert(u.ln(oe(t)).div(u.ln(e)));throw new Error("Could not invert due to no input being a variable")}function Ks(e,t,n){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const i=t.getIntegralFormula(e);return d.pow(i,d.recip(n).add(1)).times(n).div(d.add(n,1))}throw new Error("Could not integrate due to no input being a variable")}function Xs(e,t){if(I(t))return t.invert(u.ln(e));throw new Error("Could not invert due to no input being a variable")}function Qs(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.exp(n)}throw new Error("Could not integrate due to no input being a variable")}function el(e,t=2,n=u.fromComponents_noNormalize(1,0,1)){const i=u.minabs(t,1e308).toNumber();return u.tetrate(e,i,n)}function tl(e,t,n,i){if(I(t))return t.invert(u.ssqrt(e));throw new Error("Could not invert due to no input being a variable")}function nl(e,t=2,n=u.fromComponents_noNormalize(1,0,1)){const i=u.minabs(t,1e308).toNumber();return u.iteratedexp(e,i,new u(n))}function il(e,t,n,i){if(I(t))return t.invert(u.iteratedlog(e,Math.E,u.minabs(1e308,oe(n)).toNumber()));throw new Error("Could not invert due to no input being a variable")}function rl(e,t=10,n=2){const i=u.minabs(n,1e308).toNumber();return u.iteratedlog(e,t,i)}function al(e,t=10){const n=u.minabs(t,1e308).toNumber();return u.slog(e,n)}function ol(e,t,n){if(I(t))return t.invert(u.tetrate(e,u.minabs(1e308,oe(n)).toNumber()));throw new Error("Could not invert due to no input being a variable")}function sl(e,t,n){const i=u.minabs(t,1e308).toNumber();return u.layeradd(e,i,n)}function ll(e,t,n,i){if(I(t))return t.invert(u.layeradd(e,u.minabs(1e308,oe(n)).negate().toNumber()));throw new Error("Could not invert due to no input being a variable")}function ul(e,t){if(I(t))return t.invert(u.pow(Math.E,e).times(e));throw new Error("Could not invert due to no input being a variable")}function cl(e,t){if(I(t))return t.invert(u.tetrate(e,2));throw new Error("Could not invert due to no input being a variable")}function dl(e,t,n){const i=u.minabs(t,1e308).toNumber();return u.pentate(e,i,n)}function gl(e,t){if(I(t))return t.invert(u.asin(e));throw new Error("Could not invert due to no input being a variable")}function fl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.cos(n).neg()}throw new Error("Could not integrate due to no input being a variable")}function ml(e,t){if(I(t))return t.invert(u.acos(e));throw new Error("Could not invert due to no input being a variable")}function hl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.sin(n)}throw new Error("Could not integrate due to no input being a variable")}function vl(e,t){if(I(t))return t.invert(u.atan(e));throw new Error("Could not invert due to no input being a variable")}function pl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.cos(n).ln().neg()}throw new Error("Could not integrate due to no input being a variable")}function bl(e,t){if(I(t))return t.invert(u.sin(e));throw new Error("Could not invert due to no input being a variable")}function yl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.asin(n).times(n).add(d.sqrt(d.sub(1,d.pow(n,2))))}throw new Error("Could not integrate due to no input being a variable")}function _l(e,t){if(I(t))return t.invert(u.cos(e));throw new Error("Could not invert due to no input being a variable")}function wl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.acos(n).times(n).sub(d.sqrt(d.sub(1,d.pow(n,2))))}throw new Error("Could not integrate due to no input being a variable")}function Nl(e,t){if(I(t))return t.invert(u.tan(e));throw new Error("Could not invert due to no input being a variable")}function Cl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.atan(n).times(n).sub(d.ln(d.pow(n,2).add(1)).div(2))}throw new Error("Could not integrate due to no input being a variable")}function Sl(e,t){if(I(t))return t.invert(u.asinh(e));throw new Error("Could not invert due to no input being a variable")}function kl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.cosh(n)}throw new Error("Could not integrate due to no input being a variable")}function Il(e,t){if(I(t))return t.invert(u.acosh(e));throw new Error("Could not invert due to no input being a variable")}function xl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.sinh(n)}throw new Error("Could not integrate due to no input being a variable")}function Ml(e,t){if(I(t))return t.invert(u.atanh(e));throw new Error("Could not invert due to no input being a variable")}function El(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.cosh(n).ln()}throw new Error("Could not integrate due to no input being a variable")}function $l(e,t){if(I(t))return t.invert(u.sinh(e));throw new Error("Could not invert due to no input being a variable")}function Tl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.asinh(n).times(n).sub(d.pow(n,2).add(1).sqrt())}throw new Error("Could not integrate due to no input being a variable")}function Fl(e,t){if(I(t))return t.invert(u.cosh(e));throw new Error("Could not invert due to no input being a variable")}function Pl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.acosh(n).times(n).sub(d.add(n,1).sqrt().times(d.sub(n,1).sqrt()))}throw new Error("Could not integrate due to no input being a variable")}function Vl(e,t){if(I(t))return t.invert(u.tanh(e));throw new Error("Could not invert due to no input being a variable")}function Dl(e,t){if(I(t)){if(!t.isIntegrable())throw new Error("Could not integrate due to variable not being integrable");const n=t.getIntegralFormula(e);return d.atanh(n).times(n).add(d.sub(1,d.pow(n,2)).ln().div(2))}throw new Error("Could not integrate due to no input being a variable")}function ft(e){return(t,n)=>new d({inputs:[t,n],evaluate:e,invert:pt})}function I(e){return e instanceof te&&e.hasVariable()}function oe(e,t){return e instanceof te?e.evaluate(t):a(e)}function Ol(){return d.pow(this,2).div(2)}function Al(){return this}const le=class{constructor(e){this.negate=this.neg,this.negated=this.neg,this.sgn=this.sign,this.plus=this.add,this.subtract=this.sub,this.minus=this.sub,this.multiply=this.mul,this.times=this.mul,this.divide=this.div,this.divideBy=this.div,this.dividedBy=this.div,this.reciprocal=this.recip,this.reciprocate=this.recip,this.logarithm=this.log;let t;"inputs"in e&&(e.inputs=e.inputs.map(n=>typeof n=="object"&&Be in n?n[Be]:n)),"variable"in e?(typeof e.variable=="object"&&Be in e.variable&&(e.variable=e.variable[Be]),t=this.setupVariable(e)):"evaluate"in e?t=this.setupFormula(e):t=this.setupConstant(e),this.inputs=t.inputs,this.internalVariables=t.internalVariables,this.innermostVariable=t.innermostVariable,this.internalEvaluate=t.internalEvaluate,this.internalInvert=t.internalInvert,this.internalIntegrate=t.internalIntegrate,this.internalIntegrateInner=t.internalIntegrateInner,this.applySubstitution=t.applySubstitution}setupVariable({variable:e}){return{inputs:[e],internalVariables:1,innermostVariable:e,internalIntegrate:Ol,internalIntegrateInner:Al,applySubstitution:pt}}setupConstant({inputs:e}){if(e.length!==1)throw new Error("Evaluate function is required if inputs is not length 1");return{inputs:e,internalVariables:0}}setupFormula(e){const{inputs:t,evaluate:n,invert:i,integrate:r,integrateInner:o,applySubstitution:s}=e,l=t.reduce((h,p)=>h+(p instanceof le?p.internalVariables:0),0),c=t.find(h=>h instanceof le&&h.hasVariable()),f=l===1?c==null?void 0:c.innermostVariable:void 0;return{inputs:t,internalEvaluate:n,internalInvert:i,internalIntegrate:r,internalIntegrateInner:o,applySubstitution:s,innermostVariable:f,internalVariables:l}}isInvertible(){return this.hasVariable()&&(this.internalInvert!=null||this.internalEvaluate==null)}isIntegrable(){return this.hasVariable()&&this.internalIntegrate!=null}isIntegralInvertible(){return this.isIntegrable()?this.getIntegralFormula().isInvertible():!1}hasVariable(){return this.internalVariables===1}evaluate(e){var t,n,i;return(i=(n=(t=this.internalEvaluate)==null?void 0:t.call(this,...this.inputs.map(r=>oe(r,e))))!=null?n:this.hasVariable()?e:null)!=null?i:oe(this.inputs[0])}equals(e){return this.inputs.length===e.inputs.length&&this.inputs.every((t,n)=>t instanceof le&&e.inputs[n]instanceof le?t.equals(e.inputs[n]):!(t instanceof le)&&!(e.inputs[n]instanceof le)&&u.eq(a(t),a(e.inputs[n])))&&this.internalEvaluate===e.internalEvaluate&&this.internalInvert===e.internalInvert&&this.internalIntegrate===e.internalIntegrate&&this.internalVariables===e.internalVariables}static constant(e){return new d({inputs:[e]})}static variable(e){return new d({variable:e})}static step(e,t,n){const i=P(0),r=n(d.variable(i)),o=ke(t);function s(c){return u.lt(c,a(o))?c:(i.value=u.sub(c,a(o)),u.add(r.evaluate(),a(o)))}function l(c,f){if(I(f)&&r.isInvertible())return u.gt(c,a(o))&&(c=u.add(r.invert(u.sub(c,a(o))),a(o))),f.invert(c);throw new Error("Could not invert due to no input being a variable")}return new d({inputs:[e],evaluate:s,invert:r.isInvertible()&&r.hasVariable()?l:void 0})}static if(e,t,n,i){const r=P(0),o=d.variable(r),s=n(o),l=i==null?void 0:i(o),c=ke(t);function f(p){return a(c)?(r.value=p,s.evaluate()):l?(r.value=p,l.evaluate()):p}function h(p,_){if(!I(_)||!s.isInvertible()||l!=null&&!l.isInvertible())throw new Error("Could not invert due to no input being a variable");return a(c)?_.invert(s.invert(p)):l?_.invert(l.invert(p)):_.invert(p)}return new d({inputs:[e],evaluate:f,invert:s.isInvertible()&&s.hasVariable()?h:void 0})}static conditional(e,t,n,i){return d.if(e,t,n,i)}static abs(e){return new d({inputs:[e],evaluate:u.abs})}static neg(e){return new d({inputs:[e],evaluate:u.neg,invert:ds,applySubstitution:fs,integrate:gs})}static sign(e){return new d({inputs:[e],evaluate:u.sign})}static round(e){return new d({inputs:[e],evaluate:u.round})}static floor(e){return new d({inputs:[e],evaluate:u.floor})}static ceil(e){return new d({inputs:[e],evaluate:u.ceil})}static trunc(e){return new d({inputs:[e],evaluate:u.trunc})}static add(e,t){return new d({inputs:[e,t],evaluate:u.add,invert:ms,integrate:hs,integrateInner:vs,applySubstitution:pt})}static sub(e,t){return new d({inputs:[e,t],evaluate:u.sub,invert:ps,integrate:bs,integrateInner:ys,applySubstitution:pt})}static mul(e,t){return new d({inputs:[e,t],evaluate:u.mul,invert:_s,integrate:ws,applySubstitution:Ns})}static div(e,t){return new d({inputs:[e,t],evaluate:u.div,invert:Cs,integrate:Ss,applySubstitution:ks})}static recip(e){return new d({inputs:[e],evaluate:u.recip,invert:Is,integrate:xs})}static clamp(e,t,n){return new d({inputs:[e,t,n],evaluate:u.clamp,invert:pt})}static pLog10(e){return new d({inputs:[e],evaluate:u.pLog10})}static absLog10(e){return new d({inputs:[e],evaluate:u.absLog10})}static log10(e){return new d({inputs:[e],evaluate:u.log10,invert:Ms,integrate:Ts})}static log(e,t){return new d({inputs:[e,t],evaluate:u.log,invert:Fs,integrate:Ds})}static log2(e){return new d({inputs:[e],evaluate:u.log2,invert:Os,integrate:Bs})}static ln(e){return new d({inputs:[e],evaluate:u.ln,invert:qs,integrate:Us})}static pow(e,t){return new d({inputs:[e,t],evaluate:u.pow,invert:js,integrate:Ws})}static pow10(e){return new d({inputs:[e],evaluate:u.pow10,invert:Gs,integrate:Hs})}static pow_base(e,t){return new d({inputs:[e,t],evaluate:u.pow_base,invert:Zs,integrate:Ys})}static root(e,t){return new d({inputs:[e,t],evaluate:u.root,invert:Js,integrate:Ks})}static factorial(e){return new d({inputs:[e],evaluate:u.factorial})}static gamma(e){return new d({inputs:[e],evaluate:u.gamma})}static lngamma(e){return new d({inputs:[e],evaluate:u.lngamma})}static exp(e){return new d({inputs:[e],evaluate:u.exp,invert:Xs,integrate:Qs})}static sqr(e){return d.pow(e,2)}static sqrt(e){return d.root(e,2)}static cube(e){return d.pow(e,3)}static cbrt(e){return d.root(e,3)}static tetrate(e,t=2,n=u.fromComponents_noNormalize(1,0,1)){return new d({inputs:[e,t,n],evaluate:el,invert:tl})}static iteratedexp(e,t=2,n=u.fromComponents_noNormalize(1,0,1)){return new d({inputs:[e,t,n],evaluate:nl,invert:il})}static iteratedlog(e,t=10,n=1){return new d({inputs:[e,t,n],evaluate:rl})}static slog(e,t=10){return new d({inputs:[e,t],evaluate:al,invert:ol})}static layeradd10(e,t){return new d({inputs:[e,t],evaluate:u.layeradd10})}static layeradd(e,t,n=10){return new d({inputs:[e,t,n],evaluate:sl,invert:ll})}static lambertw(e){return new d({inputs:[e],evaluate:u.lambertw,invert:ul})}static ssqrt(e){return new d({inputs:[e],evaluate:u.ssqrt,invert:cl})}static pentate(e,t=2,n=u.fromComponents_noNormalize(1,0,1)){return new d({inputs:[e,t,n],evaluate:dl})}static sin(e){return new d({inputs:[e],evaluate:u.sin,invert:bl,integrate:fl})}static cos(e){return new d({inputs:[e],evaluate:u.cos,invert:_l,integrate:hl})}static tan(e){return new d({inputs:[e],evaluate:u.tan,invert:Nl,integrate:pl})}static asin(e){return new d({inputs:[e],evaluate:u.asin,invert:gl,integrate:yl})}static acos(e){return new d({inputs:[e],evaluate:u.acos,invert:ml,integrate:wl})}static atan(e){return new d({inputs:[e],evaluate:u.atan,invert:vl,integrate:Cl})}static sinh(e){return new d({inputs:[e],evaluate:u.sinh,invert:$l,integrate:kl})}static cosh(e){return new d({inputs:[e],evaluate:u.cosh,invert:Fl,integrate:xl})}static tanh(e){return new d({inputs:[e],evaluate:u.tanh,invert:Vl,integrate:El})}static asinh(e){return new d({inputs:[e],evaluate:u.asinh,invert:Sl,integrate:Tl})}static acosh(e){return new d({inputs:[e],evaluate:u.acosh,invert:Il,integrate:Pl})}static atanh(e){return new d({inputs:[e],evaluate:u.atanh,invert:Ml,integrate:Dl})}step(e,t){return d.step(this,e,t)}if(e,t){return d.if(this,e,t)}conditional(e,t){return d.if(this,e,t)}abs(){return d.abs(this)}neg(){return d.neg(this)}sign(){return d.sign(this)}round(){return d.round(this)}floor(){return d.floor(this)}ceil(){return d.ceil(this)}trunc(){return d.trunc(this)}add(e){return d.add(this,e)}sub(e){return d.sub(this,e)}mul(e){return d.mul(this,e)}div(e){return d.div(this,e)}recip(){return d.recip(this)}max(e){return d.max(this,e)}min(e){return d.min(this,e)}maxabs(e){return d.maxabs(this,e)}minabs(e){return d.minabs(this,e)}clamp(e,t){return d.clamp(this,e,t)}clampMin(e){return d.clampMin(this,e)}clampMax(e){return d.clampMax(this,e)}pLog10(){return d.pLog10(this)}absLog10(){return d.absLog10(this)}log10(){return d.log10(this)}log(e){return d.log(this,e)}log2(){return d.log2(this)}ln(){return d.ln(this)}pow(e){return d.pow(this,e)}pow10(){return d.pow10(this)}pow_base(e){return d.pow_base(this,e)}root(e){return d.root(this,e)}factorial(){return d.factorial(this)}gamma(){return d.gamma(this)}lngamma(){return d.lngamma(this)}exp(){return d.exp(this)}sqr(){return d.pow(this,2)}sqrt(){return d.root(this,2)}cube(){return d.pow(this,3)}cbrt(){return d.root(this,3)}tetrate(e=2,t=u.fromComponents_noNormalize(1,0,1)){return d.tetrate(this,e,t)}iteratedexp(e=2,t=u.fromComponents_noNormalize(1,0,1)){return d.iteratedexp(this,e,t)}iteratedlog(e=10,t=1){return d.iteratedlog(this,e,t)}slog(e=10){return d.slog(this,e)}layeradd10(e){return d.layeradd10(this,e)}layeradd(e,t){return d.layeradd(this,e,t)}lambertw(){return d.lambertw(this)}ssqrt(){return d.ssqrt(this)}pentate(e=2,t=u.fromComponents_noNormalize(1,0,1)){return d.pentate(this,e,t)}sin(){return d.sin(this)}cos(){return d.cos(this)}tan(){return d.tan(this)}asin(){return d.asin(this)}acos(){return d.acos(this)}atan(){return d.atan(this)}sinh(){return d.sinh(this)}cosh(){return d.cosh(this)}tanh(){return d.tanh(this)}asinh(){return d.asinh(this)}acosh(){return d.acosh(this)}atanh(){return d.atanh(this)}};let te=le;te.negate=le.neg;te.negated=le.neg;te.sgn=le.sign;te.plus=le.add;te.subtract=le.sub;te.minus=le.sub;te.multiply=le.mul;te.times=le.mul;te.divide=le.div;te.divideBy=le.div;te.dividedBy=le.div;te.reciprocal=le.recip;te.reciprocate=le.recip;te.max=ft(u.max);te.min=ft(u.min);te.minabs=ft(u.minabs);te.maxabs=ft(u.maxabs);te.clampMin=ft(u.clampMin);te.clampMax=ft(u.clampMax);te.logarithm=le.log;class d extends te{invert(t){if(this.internalInvert&&this.hasVariable())return this.internalInvert.call(this,t,...this.inputs);if(this.inputs.length===1&&this.hasVariable())return t;throw new Error("Cannot invert non-invertible formula")}evaluateIntegral(t){if(!this.isIntegrable())throw new Error("Cannot evaluate integral of formula without integral");return this.getIntegralFormula().evaluate(t)}invertIntegral(t){if(!this.isIntegrable()||!this.getIntegralFormula().isInvertible())throw new Error("Cannot invert integral of formula without invertible integral");return this.getIntegralFormula().invert(t)}calculateConstantOfIntegration(){const t=this.getIntegralFormula().evaluate(1),n=u.add(this.evaluate(0),this.evaluate(1)).div(2);return u.sub(n,t)}getIntegralFormula(t){if(this.integralFormula!=null&&t==null)return this.integralFormula;if(t==null){if(this.applySubstitution==null){if(t=[],this.internalIntegrate==null)throw new Error("Cannot integrate formula with non-integrable operation");let n=this.internalIntegrate.call(this,t,...this.inputs);t.forEach(i=>n=i(n)),this.integralFormula=n}else if(this.internalIntegrate)this.integralFormula=this.internalIntegrate.call(this,void 0,...this.inputs);else if(this.inputs.length===1&&this.internalEvaluate==null&&this.hasVariable())this.integralFormula=this;else throw new Error("Cannot integrate formula without variable");return this.integralFormula}else{if(this.applySubstitution==null)throw new Error("Cannot have two complex operations in an integrable formula");if(t.push(n=>this.applySubstitution.call(this,n,...this.inputs)),this.internalIntegrateInner)return this.internalIntegrateInner.call(this,t,...this.inputs);if(this.internalIntegrate)return this.internalIntegrate.call(this,t,...this.inputs);if(this.inputs.length===1&&this.internalEvaluate==null&&this.hasVariable())return this;throw new Error("Cannot integrate formula without variable")}}}function Wt(e,t,n=!0,i){var o,s,l;let r=u.add(t,(o=a(e.innermostVariable))!=null?o:0);if(n){if(!e.isIntegrable())throw new Error("Cannot calculate cost with spending resources of non-integrable formula");const c=r;r=r.sub(i!=null?i:10).clampMin((s=a(e.innermostVariable))!=null?s:0);let f=u.sub(e.evaluateIntegral(r),e.evaluateIntegral());if(c.gt(1e308))return f.add(u.sub(c,r).times(e.evaluate(r)));for(let h=r.toNumber();h{const{multiplier:n,description:i,enabled:r,smallerIsBetter:o}=e.call(t,t),s=ke(n),l=ke(i),c=r==null?void 0:ke(r);return{apply:f=>u.times(f,a(s)),invert:f=>u.div(f,a(s)),getFormula:f=>d.times(f,s),enabled:c,description:i==null?void 0:re(()=>b("div",{class:"modifier-container"},[a(l)!=null?b("span",{class:"modifier-description"},[ze(a(l))]):null,b("span",{class:"modifier-amount",style:(o===!0?u.gt(a(s),1):u.lt(a(s),1))?"color: var(--danger)":""},[L("\xD7"),at(a(s))])]))}})}function Bl(e){return kt(()=>{const t=e();return{apply:n=>t.filter(i=>a(i.enabled)!==!1).reduce((i,r)=>r.apply(i),n),invert:t.every(n=>n.invert!=null)?n=>t.filter(i=>a(i.enabled)!==!1).reduceRight((i,r)=>r.invert(i),n):void 0,getFormula:t.every(n=>n.getFormula!=null)?n=>t.filter(i=>a(i.enabled)!==!1).reduce((i,r)=>r.getFormula(i),n):void 0,enabled:t.some(n=>n.enabled!=null)?E(()=>t.filter(n=>a(n.enabled)!==!1).length>0):void 0,description:t.some(n=>n.description!=null)?re(()=>b(ee,null,[t.filter(n=>a(n.enabled)!==!1).map(n=>a(n.description)).filter(n=>n).map(ze)])):void 0}})}const ql={key:0},Rl={key:0,class:"mark star"},zl=["src"],Ul=W({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,n)=>e.mark?(y(),k("div",ql,[e.mark===!0?(y(),k("div",Rl)):(y(),k("img",{key:1,class:"mark",src:e.mark},null,8,zl))])):A("",!0)}});var Bn=Q(Ul,[["__scopeId","data-v-2207999f"]]);const jl=W({__name:"Node",props:{id:null},setup(e){const n=ge(e),i=Ft(Jt,()=>{}),r=Ft(Kt,()=>{}),o=Me(null),s=E(()=>o.value&&o.value.parentElement);return Ee([s,n.id],([l,c],[f,h])=>{f&&r(a(h)),l&&i(c,l)}),dn(()=>r(a(n.id))),(l,c)=>(y(),k("div",{class:"node",ref_key:"node",ref:o},null,512))}});var qn=Q(jl,[["__scopeId","data-v-a48cb382"]]);W({props:{display:{type:z(Object,String,Function),required:!0},visibility:{type:z(Number,Boolean),required:!0},style:z(Object,String,Array),classes:z(Object),onClick:Function,onHold:Function,canClick:{type:z(Boolean),required:!0},small:Boolean,mark:z(Boolean,String),id:{type:String,required:!0}},components:{Node:qn,MarkNode:Bn},setup(e){const{display:t,onClick:n,onHold:i}=ge(e),r=Me("");qe(()=>{var h;const l=pe(t);if(l==null){r.value="";return}if(Xe(l)){r.value=me(l);return}const c=me((h=l.title)!=null?h:"","h3"),f=me(l.description,"div");r.value=me(re(()=>b("span",null,[l.title!=null?b("div",null,[b(c,null,null)]):null,b(f,null,null)])))});const{start:o,stop:s}=Cn(n,i);return{start:o,stop:s,comp:r,Visibility:Ve,isVisible:je,isHidden:qt,unref:a}}});const Wl=["x1","y1","x2","y2"],Gl=W({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const n=ge(e),i=E(()=>{const o=n.startNode.value.rect,s=n.boundingRect.value,l=s?{x:o.x+o.width/2-s.x,y:o.y+o.height/2-s.y}:{x:0,y:0};return n.link.value.offsetStart&&(l.x+=n.link.value.offsetStart.x,l.y+=n.link.value.offsetStart.y),l}),r=E(()=>{const o=n.endNode.value.rect,s=n.boundingRect.value,l=s?{x:o.x+o.width/2-s.x,y:o.y+o.height/2-s.y}:{x:0,y:0};return n.link.value.offsetEnd&&(l.x+=n.link.value.offsetEnd.x,l.y+=n.link.value.offsetEnd.y),l});return(o,s)=>(y(),k("line",Pe({"stroke-width":"15px",stroke:"white"},e.link,{x1:a(i).x,y1:a(i).y,x2:a(r).x,y2:a(r).y}),null,16,Wl))}});const Hl=W({__name:"Links",props:{links:null},setup(e){var c;const n=Ue(e,"links"),i=P(null),r=Ft(Xt,P({})),o=Ft(Qt,P(void 0)),s=P((c=i.value)==null?void 0:c.getBoundingClientRect());Ee(o,()=>{var f;return s.value=(f=i.value)==null?void 0:f.getBoundingClientRect()}),At(()=>{var f;return s.value=(f=i.value)==null?void 0:f.getBoundingClientRect()});const l=E(()=>{var h,p;const f=r.value;return(p=(h=n.value)==null?void 0:h.filter(_=>{var x,w;return((x=f[_.startNode.id])==null?void 0:x.rect)&&((w=f[_.startNode.id])==null?void 0:w.rect)}))!=null?p:[]});return(f,h)=>(y(),k(ee,null,[a(l)?(y(),k("svg",Zn(Pe({key:0},f.$attrs)),[(y(!0),k(ee,null,ct(a(l),(p,_)=>(y(),H(Gl,{key:_,link:p,boundingRect:s.value,startNode:a(r)[p.startNode.id],endNode:a(r)[p.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):A("",!0),m("div",{ref_key:"resizeListener",ref:i,class:"resize-listener"},null,512)],64))}});var Zl=Q(Hl,[["__scopeId","data-v-063f6d6b"]]);W({props:{nodes:{type:z(Array),required:!0},leftSideNodes:z(Array),rightSideNodes:z(Array),branches:z(Array)},components:{Links:Zl},setup(e){const{nodes:t,leftSideNodes:n,rightSideNodes:i}=ge(e),r=Me();qe(()=>{const l=pe(t);r.value=me(re(()=>b(ee,null,[l.map(c=>b("span",{class:"row tree-row",style:"margin: 50px auto;"},[c.map(ze)]))])))});const o=Me();qe(()=>{const l=pe(n);o.value=l?me(re(()=>b("span",{class:"left-side-nodes small"},[l.map(ze)]))):""});const s=Me();return qe(()=>{const l=pe(i);s.value=l?me(re(()=>b("span",{class:"side-nodes small"},[l.map(ze)]))):""}),{unref:a,nodesComp:r,leftNodesComp:o,rightNodesComp:s}}});W({props:{display:z(Object,String,Function),visibility:{type:z(Number,Boolean),required:!0},style:z(String,Object,Array),classes:z(Object),onClick:Function,onHold:Function,color:z(String),glowColor:z(String),canClick:{type:z(Boolean),required:!0},mark:z(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:Bn,Node:qn},setup(e){const{onClick:t,onHold:n,display:i}=ge(e),r=St(i),{start:o,stop:s}=Cn(t,n);return{start:o,stop:s,comp:r,unref:a,Visibility:Ve,isCoercableComponent:Xe,isVisible:je,isHidden:qt}}});function Yl(e){const t=[],n={};let i=!1;function r(){return i||(t.push(...e()),n.base=t.map(l=>ke(l.base)),n.baseText=t.map(l=>ke(l.baseText)),n.visible=t.map(l=>ke(l.visible)),n.title=t.map(l=>ke(l.title)),n.subtitle=t.map(l=>ke(l.subtitle)),i=!0),t}const o=gt({},!1);return[re(()=>{const l=r();let c=!0;const f=l.map((h,p)=>{var V,S,N;if(a(n.visible[p])===!1)return null;const _=b("h3",{onClick:()=>o.value[p]=!o.value[p],style:"cursor: pointer"},[b("span",{class:"modifier-toggle"+(a(o.value[p])?" collapsed":"")},[L("\u25BC")]),a(n.title[p]),a(n.subtitle[p])!=null?b("span",{class:"subtitle"},[L(" ("),a(n.subtitle[p]),L(")")]):null]),x=a(o.value[p])?null:b(ee,null,[b("div",{class:"modifier-container"},[b("span",{class:"modifier-description"},[ze((V=a(n.baseText[p]))!=null?V:"Base")]),b("span",{class:"modifier-amount"},[Lt((S=a(n.base[p]))!=null?S:1),h.unit])]),h.modifier.description==null?null:ze(a(h.modifier.description))]),w=!c;c=!1;const C=(N=a(n.base[p]))!=null?N:1,$=h.modifier.apply(C);return b(ee,null,[w?b("br",null,null):null,b("div",{style:{"--unit":J.alignUnits&&h.unit!=null?"'"+h.unit+"'":""}},[_,b("br",null,null),x,b("hr",null,null),b("div",{class:"modifier-container"},[b("span",{class:"modifier-description"},[L("Total")]),b("span",{class:"modifier-amount",style:(h.smallerIsBetter===!0?u.gt($,C!=null?C:1):u.lt($,C!=null?C:1))?"color: var(--danger)":""},[at($),h.unit])])])])});return b(ee,null,[f])}),o]}function cn(e,t,n=1){const i=ke(t),r=ke(n);if(!e.hasVariable())throw new Error("Cannot create formula preview if the formula does not have a variable");return re(()=>{var o;if(a(i)){const s=at(e.evaluate()),l=at(e.evaluate(u.add(a((o=e.innermostVariable)!=null?o:0),a(r))));return b(ee,null,[b("b",null,[b("i",null,[s,L(" \u2192 "),l])])])}return b(ee,null,[at(e.evaluate())])})}const Jl=fn(),Mt={dirt:120,sand:60,gravel:40,wood:30,stone:24,coal:20,copper:15,iron:12,silver:10,gold:8,emerald:6,platinum:5,diamond:4,berylium:3,unobtainium:2,ultimatum:1},Rn=In("main",function(){const e=ts(0,"energy"),t=gt(!1),n=d.variable(0).add(1),i=E(()=>l.nodes.value.reduce((F,M)=>(M.type==="resource"&&(F[M.state.type]=M),F),{})),r=E(()=>h.reduce((F,M)=>{var O,K,ie;const D=(ie=(K=(O=i.value[M])==null?void 0:O.state)==null?void 0:K.amount)!=null?ie:0;let ne=u.floor(n.invertIntegral(D)).sub(10).clampMin(0),he=Wt(n,ne,!0,0);for(;;){const Ce=n.evaluate(ne);if(u.add(he,Ce).lte(D))ne=ne.add(1),he=u.add(he,Ce);else break}return F[M]=ne,F},{}));function o(F){var O,K,ie;const M=(ie=(K=(O=i.value[F])==null?void 0:O.state)==null?void 0:K.amount)!=null?ie:0,D=r.value[F],ne=Wt(n,D,!0),he=Wt(n,u.add(D,1),!0);return u.sub(M,ne).max(0).div(u.sub(he,ne)).toNumber()}const s=dt({});et(()=>{h.forEach(F=>{Ee(()=>r.value[F],(M,D)=>{u.gt(M,D)&&J.active===U.id&&Jl.info(b("div",null,[b("h3",null,[u.eq(M,1)?`${Et(F)} discovered`:`${Et(F)} is now Level ${rt(M)}`,L("!")]),b("div",null,[L("Energy gain is now 1.01x higher.")])]))})})});const l=Qo(F=>({startNodes:()=>[{position:{x:0,y:0},type:"mine",state:0},{position:{x:0,y:-200},type:"brokenFactory"}],types:{mine:{shape:Ke.Diamond,size:50,title:"\u{1FAA8}",label:M=>M===F.selectedNode.value?{text:"Mining..."}:Object.keys(i.value).length===0?{text:"Click me!"}:null,progress:M=>M==F.selectedNode.value?new u(M.state).toNumber():0,progressDisplay:Ct.Outline,progressColor:"var(--accent2)",classes:M=>({running:M===F.selectedNode.value}),draggable:!0},brokenFactory:{shape:Ke.Diamond,size:50,title:"\u{1F6E0}\uFE0F",label:M=>M===F.selectedNode.value?{text:"Broken Forge"}:null,actionDistance:100,actions:[{id:"repair",icon:"build",tooltip:{text:"Repair - 1000 energy"},onClick(M){u.gte(e.value,1e3)&&(M.type="factory",e.value=u.sub(e.value,1e3))},confirmationLabel:()=>u.gte(e.value,1e3)?{text:"Tap again to confirm"}:{text:"Cannot afford",color:"var(--danger)"}}],draggable:!0},factory:{shape:Ke.Diamond,size:50,title:"\u{1F6E0}\uFE0F",label:M=>M===F.selectedNode.value?{text:t.value?"Forge":"Forge - Drag a material to me!"}:null,actionDistance:100,actions:[{id:"deselect",icon:"",tooltip:{text:"De-select material"},onClick(M){M.state=void 0},visibility:M=>M.state!=null},{id:"craft",icon:"",tooltip:M=>({text:"Craft unknown item"}),onClick(M){},visibility:M=>M.state!=null}],draggable:!0},resource:{shape:Ke.Circle,size:50,title:M=>M.state.type,subtitle:M=>rt(M.state.amount),progress:M=>o(M.state.type),onClick(){},progressDisplay:Ct.Outline,progressColor:"var(--accent3)",draggable:!0}},style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"},links(){const M=F.nodes.value.find(D=>D.type==="mine");return Object.keys(s).map(D=>({startNode:M,endNode:i.value[D],stroke:"var(--accent3)",strokeWidth:5}))}}));function c(F,M){let D=i.value[F];if(D==null){const ne=l.nodes.value.find(O=>O.type==="mine");let he=ne.position.x;he=l.nodes.value.filter(O=>O.position.yne.position.y-50).reduce((O,K)=>Math.max(O,K.position.x+100),0),D={id:es(l),position:{x:he,y:ne.position.y},type:"resource",state:{type:F,amount:M}},l.nodes.value.push(D)}else{const ne=D.state;D.state={...ne,amount:u.add(ne.amount,M)}}}const f=Object.values(Mt).reduce((F,M)=>F+M),h=Object.keys(Mt),p=Bl(()=>h.map(F=>Ll(()=>({description:()=>`${Et(F)} (Lv. ${rt(r.value[F])})`,multiplier:()=>u.pow(1.01,r.value[F]),enabled:()=>{var M,D;return F in i.value&&u.gt((D=(M=i.value[F].state)==null?void 0:M.amount)!=null?D:0,0)}})))),_=E(()=>p.apply(1)),[x,w]=Yl(()=>[{title:"Energy Gain",modifier:p,base:1,unit:"/s"}]),C=cs({general:()=>({display:"Energy",glowColor(){return C.activeTab.value===this.tab?"white":""},tab:x,energyTabCollapsed:w})}),$=P(!1),V=re(()=>b(We,{modelValue:$.value,"onUpdate:modelValue":F=>$.value=F},{header:()=>b("h2",null,[L("Modifiers")]),body:()=>Ae(C)}));this.on("preUpdate",F=>{var M;if(Object.keys(s).forEach(D=>{s[D]-=F,s[D]<=0&&delete s[D]}),((M=l.selectedNode.value)==null?void 0:M.type)==="mine"){const D=l.selectedNode.value,ne=u.add(D.state,F),he=ne.floor();D.state=u.sub(ne,he);const O=he.div(f).floor();O.gt(0)&&h.forEach(ie=>{c(ie,u.times(Mt[ie],O)),s[ie]=.3});const K=u.sub(he,O).toNumber();for(let ie=0;iel.selectedAction.value===l.types.brokenFactory.actions[0]?-1e3:0),N=cn(d.variable(0).add(e),()=>u.neq(S.value,0),S),T=E(()=>0),X=cn(d.variable(0).add(_),()=>u.neq(T.value,0),T);return{name:"World",board:l,energy:e,modifierTabs:C,hasForged:t,display:re(()=>b(ee,null,[b(Dn,{class:"nav-container"},{default:()=>[b("span",{class:"nav-segment"},[b("h2",{style:"color: white; text-shadow: 0px 0px 10px white;"},[Ae(N)])," ",L("energy")]),b("span",{class:"nav-segment"},[L("("),b("h3",{style:"color: white; text-shadow: 0px 0px 10px white;"},[u.gt(_.value,0)?"+":"",Ae(X)]),L("/s)")]),b("span",{class:"nav-segment"},[b("button",{class:"button",style:"display: inline",onClick:()=>$.value=!0},[L("open modifiers")])]),U.devSpeed===0?b("span",{class:"nav-segment"},[L("Game Paused")]):U.devSpeed!=null&&U.devSpeed!==1?b("span",{class:"nav-segment"},[L("Dev Speed: "),Lt(U.devSpeed),L("x")]):null]}),Ae(l),Ae(V)]))}}),Kl=e=>[Rn],zn=E(()=>!1);function Xl(e,t){}var Ql=Object.freeze(Object.defineProperty({__proto__:null,main:Rn,getInitialLayers:Kl,hasWon:zn,fixOldSave:Xl},Symbol.toStringTag,{value:"Module"}));const It=e=>(tt("data-v-4a50ce42"),e=e(),nt(),e),eu={class:"game-over-modal-header"},tu=["src","alt"],nu={class:"game-over-modal-title"},iu=It(()=>m("h2",null,"Congratulations!",-1)),ru={key:0},au=It(()=>m("br",null,null,-1)),ou=It(()=>m("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),su=It(()=>m("br",null,null,-1)),lu=["href"],uu=It(()=>m("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),cu=W({__name:"GameOverScreen",setup(e){const{title:t,logo:n,discordName:i,discordLink:r,versionNumber:o,versionTitle:s}=Y,l=E(()=>Zt(U.timePlayed)),c=E(()=>zn.value&&!U.keepGoing),f=Ue(U,"autosave");function h(){U.keepGoing=!0}function p(){Ye(ot())}return(_,x)=>(y(),H(We,{"model-value":a(c)},{header:q(()=>[m("div",eu,[a(n)?(y(),k("img",{key:0,class:"game-over-modal-logo",src:a(n),alt:a(t)},null,8,tu)):A("",!0),m("div",nu,[iu,m("h4",null,"You've beaten "+G(a(t))+" v"+G(a(o))+": "+G(a(s)),1)])])]),body:q(({shown:w})=>[w?(y(),k("div",ru,[m("div",null,"It took you "+G(a(l))+" to beat the game.",1),au,ou,su,m("div",null,[m("a",{href:a(r),class:"game-over-modal-discord-link"},[uu,L(" "+G(a(i)),1)],8,lu)]),b(Fe,{title:"Autosave",modelValue:a(f),"onUpdate:modelValue":x[0]||(x[0]=C=>fe(f)?f.value=C:null)},null,8,["modelValue"])])):A("",!0)]),footer:q(()=>[m("div",{class:"game-over-footer"},[m("button",{onClick:h,class:"button"},"Keep Going"),m("button",{onClick:p,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var du=Q(cu,[["__scopeId","data-v-4a50ce42"]]);const Rt=e=>(tt("data-v-2776d67d"),e=e(),nt(),e),gu=Rt(()=>m("div",{class:"nan-modal-header"},[m("h2",null,"NaN value detected!")],-1)),fu={key:0},mu=Rt(()=>m("br",null,null,-1)),hu=["href"],vu=Rt(()=>m("span",{class:"material-icons nan-modal-discord"},"discord",-1)),pu=Rt(()=>m("br",null,null,-1)),bu={class:"nan-footer"},yu=W({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:n}=Y,i=P(!0),r=P(!0),o=Ue(ce,"hasNaN"),s=P(null);Ee(o,_=>{_?(i.value=U.autosave,r.value=U.devSpeed===0):(U.autosave=i.value,U.devSpeed=r.value?0:null)});const l=E(()=>{var _;return(_=ce.NaNPath)==null?void 0:_.join(".")}),c=E(()=>ce.NaNPersistent!=null?ce.NaNPersistent.value:null);function f(){ce.NaNPersistent!=null&&(ce.NaNPersistent.value=new u(0),ce.hasNaN=!1)}function h(){ce.NaNPersistent&&(ce.NaNPersistent.value=new u(1),ce.hasNaN=!1)}function p(){ce.NaNPersistent&&(ce.NaNPersistent.value=new u(NaN),ce.hasNaN=!1)}return(_,x)=>(y(),k(ee,null,[b(We,Pe({modelValue:a(o),"onUpdate:modelValue":x[4]||(x[4]=w=>fe(o)?o.value=w:null)},_.$attrs),{header:q(()=>[gu]),body:q(()=>[m("div",null,[L(' Attempted to assign "'+G(a(l))+'" to NaN',1),a(c)?(y(),k("span",fu,G(" ")+"(previously "+G(a(Lt)(a(c)))+")",1)):A("",!0),L(". Auto-saving has been "+G(i.value?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),mu,m("div",null,[m("a",{href:a(n)||"https://discord.gg/yJ4fjnjU54",class:"nan-modal-discord-link"},[vu,L(" "+G(a(t)||"The Paper Pilot Community"),1)],8,hu)]),pu,b(Fe,{title:"Autosave",modelValue:i.value,"onUpdate:modelValue":x[0]||(x[0]=w=>i.value=w)},null,8,["modelValue"]),a(Y).enablePausing?(y(),H(Fe,{key:0,title:"Pause game",modelValue:r.value,"onUpdate:modelValue":x[1]||(x[1]=w=>r.value=w)},null,8,["modelValue"])):A("",!0)]),footer:q(()=>[m("div",bu,[m("button",{onClick:x[2]||(x[2]=w=>{var C;return(C=s.value)==null?void 0:C.open()}),class:"button"},"Open Saves Manager"),m("button",{onClick:f,class:"button"},"Set to 0"),m("button",{onClick:h,class:"button"},"Set to 1"),a(c)&&a(u).neq(a(c),0)&&a(u).neq(a(c),1)?(y(),k("button",{key:0,onClick:x[3]||(x[3]=w=>o.value=!1),class:"button"}," Set to previous ")):A("",!0),m("button",{onClick:p,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),b(Pn,{ref_key:"savesManager",ref:s},null,512)],64))}});var _u=Q(yu,[["__scopeId","data-v-2776d67d"]]);const wu={key:0,class:"tpsDisplay"},Nu={key:0,class:"low"},Cu=W({__name:"TPS",setup(e){const t=E(()=>u.div(ce.lastTenTicks.length,ce.lastTenTicks.reduce((o,s)=>o+s,0))),n=P([]);qe(()=>{n.value.push(Math.round(t.value.toNumber())),n.value.length>10&&(n.value=n.value.slice(1))});const i=E(()=>n.value.reduce((o,s)=>u.max(o,s),0)),r=E(()=>u.sub(t.value,i.value).gt(1));return(o,s)=>a(t).isNan()?A("",!0):(y(),k("div",wu,[L(" TPS: "+G(a(rt)(a(t)))+" ",1),b(ut,{name:"fade"},{default:q(()=>[a(r)?(y(),k("span",Nu,G(a(rt)(a(i))),1)):A("",!0)]),_:1})]))}});var Su=Q(Cu,[["__scopeId","data-v-46a3ed5b"]]);var ku=W({__name:"App",setup(e){const t=Y.useHeader,n=E(()=>Te[J.theme].variables),i=Ue(J,"showTPS"),r=E(()=>me(re(()=>b(ee,null,[sr.map(Ae)]))));return(o,s)=>(y(),k(ee,null,[m("div",{id:"modal-root",style:$e(a(n))},null,4),m("div",{class:ae(["app",{useHeader:a(t)}]),style:$e(a(n))},[a(t)?(y(),H(Vn,{key:0})):A("",!0),b(wo),a(a(i))?(y(),H(Su,{key:1})):A("",!0),b(du),b(_u),(y(),H(we(a(r))))],6)],64))}});var Iu=Q(ku,[["__scopeId","data-v-41d15e5e"]]);function xu(e={}){const{immediate:t=!1,onNeedRefresh:n,onOfflineReady:i,onRegistered:r,onRegisteredSW:o,onRegisterError:s}=e;let l,c,f,h;const p=async(x=!0)=>{await f,x&&(l==null||l.addEventListener("controlling",w=>{w.isUpdate&&window.location.reload()})),await(h==null?void 0:h())};async function _(){if("serviceWorker"in navigator){const{Workbox:x,messageSW:w}=await bt(()=>import("./workbox-window.4a8794bb.js"),[]);h=async()=>{c&&c.waiting&&await w(c.waiting,{type:"SKIP_WAITING"})},l=new x("./sw.js",{scope:"./",type:"classic"}),l.addEventListener("activated",C=>{C.isUpdate||i==null||i()});{const C=()=>{n==null||n()};l.addEventListener("waiting",C),l.addEventListener("externalwaiting",C)}l.register({immediate:t}).then(C=>{c=C,o?o("./sw.js",C):r==null||r(C)}).catch(C=>{s==null||s(C)})}}return f=_(),p}function Mu(e={}){const{immediate:t=!0,onNeedRefresh:n,onOfflineReady:i,onRegistered:r,onRegisteredSW:o,onRegisterError:s}=e,l=P(!1),c=P(!1);return{updateServiceWorker:xu({immediate:t,onNeedRefresh(){l.value=!0,n==null||n()},onOfflineReady(){c.value=!0,i==null||i()},onRegistered:r,onRegisteredSW:o,onRegisterError:s}),offlineReady:c,needRefresh:l}}document.title=Y.title;window.projInfo=Y;if(Y.id==="")throw new Error("Project ID is empty! Please select a unique ID for this project in /src/data/projInfo.json");requestAnimationFrame(async()=>{console.log(`%cMade in Profectus%c -Learn more at www.moddingtree.com`,"font-weight: bold; font-size: 24px; color: #A3BE8C; background: #2E3440; padding: 4px 8px; border-radius: 8px;","padding: 4px;"),await tr();const{globalBus:e}=await bt(()=>Promise.resolve().then(function(){return Qi}),void 0),{startGameLoop:t}=await bt(()=>import("./gameLoop.8b501f84.js"),["assets/gameLoop.8b501f84.js","assets/@fontsource.f66d05e7.css","assets/vue.804e2479.js","assets/amator.1e5a40c8.js","assets/bezier-easing.a990b400.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/lz-string.dccec454.js","assets/vue-next-select.f5f69b1a.js","assets/vue-next-select.9e6f4164.css","assets/vuedraggable.ce650350.js","assets/sortablejs.a0f68e5e.js","assets/vue-textarea-autosize.35804eaf.js","assets/vue-panzoom.89be130f.js","assets/panzoom.30c56ba6.js","assets/wheel.f2ae740f.js","assets/ngraph.events.083734c6.js","assets/vue-toastification.5231d1bd.js","assets/vue-toastification.4b5f8ac8.css"]),n=window.vue=Yn(Iu);e.emit("setupVue",n),n.mount("#app"),et(()=>{const i=fn(),{updateServiceWorker:r}=Mu({onNeedRefresh(){i.info("New content available, click here to update.",{timeout:!1,closeOnClick:!1,draggable:!1,icon:{iconClass:"material-icons",iconChildren:"refresh",iconTag:"i"},rtl:!1,onClick(){r()}})},onOfflineReady(){i.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(o){o&&setInterval(()=>o.update(),60*60*1e3)}})}),t()});export{u as D,bt as _,ce as a,Y as b,Ql as c,ye as g,nr as l,U as p,J as s}; diff --git a/index.html b/index.html index 691c5c0..11d3420 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ Profectus - + @@ -31,7 +31,7 @@ - + diff --git a/sw.js b/sw.js index 7ca7707..2cd32e2 100644 --- a/sw.js +++ b/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(n,l)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let o={};const a=e=>i(e,r),u={module:{uri:r},exports:o,require:a};s[r]=Promise.all(n.map((e=>u[e]||a(e)))).then((e=>(l(...e),o)))}}define(["./workbox-7369c0e1"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"apple-touch-icon.png",revision:"26e53bb981d06c8069ffd9d2a14fce0e"},{url:"assets/@fontsource.f66d05e7.css",revision:null},{url:"assets/@vue.6f8187b0.js",revision:null},{url:"assets/amator.1e5a40c8.js",revision:null},{url:"assets/bezier-easing.a990b400.js",revision:null},{url:"assets/gameLoop.8b501f84.js",revision:null},{url:"assets/index.2f12c259.css",revision:null},{url:"assets/index.78856c6f.js",revision:null},{url:"assets/lz-string.dccec454.js",revision:null},{url:"assets/nanoevents.1080beb7.js",revision:null},{url:"assets/ngraph.events.083734c6.js",revision:null},{url:"assets/panzoom.30c56ba6.js",revision:null},{url:"assets/sortablejs.a0f68e5e.js",revision:null},{url:"assets/vue-next-select.9e6f4164.css",revision:null},{url:"assets/vue-next-select.f5f69b1a.js",revision:null},{url:"assets/vue-panzoom.89be130f.js",revision:null},{url:"assets/vue-textarea-autosize.35804eaf.js",revision:null},{url:"assets/vue-toastification.4b5f8ac8.css",revision:null},{url:"assets/vue-toastification.5231d1bd.js",revision:null},{url:"assets/vue.804e2479.js",revision:null},{url:"assets/vuedraggable.ce650350.js",revision:null},{url:"assets/wheel.f2ae740f.js",revision:null},{url:"assets/workbox-window.4a8794bb.js",revision:null},{url:"favicon.ico",revision:"eead31eb5b19fa3bdc34af83d898c0b7"},{url:"favicon.svg",revision:"c8dd2748f1fedd25449164d7dda6aecb"},{url:"index.html",revision:"50c1afcdd412fa87f4406ec74126dfd5"},{url:"pwa-192x192.png",revision:"a16785d9e890858c5b508e0ef6954aaf"},{url:"pwa-512x512.png",revision:"b84004b93fd62ef6599ff179372861a1"},{url:"favicon.ico",revision:"eead31eb5b19fa3bdc34af83d898c0b7"},{url:"robots.txt",revision:"5e0bd1c281a62a380d7a948085bfe2d1"},{url:"apple-touch-icon.png",revision:"26e53bb981d06c8069ffd9d2a14fce0e"},{url:"pwa-192x192.png",revision:"a16785d9e890858c5b508e0ef6954aaf"},{url:"pwa-512x512.png",revision:"b84004b93fd62ef6599ff179372861a1"},{url:"manifest.webmanifest",revision:"e1e419fec40e2d042566c11fe4bce322"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))})); +if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(n,l)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let o={};const a=e=>i(e,r),u={module:{uri:r},exports:o,require:a};s[r]=Promise.all(n.map((e=>u[e]||a(e)))).then((e=>(l(...e),o)))}}define(["./workbox-7369c0e1"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"apple-touch-icon.png",revision:"26e53bb981d06c8069ffd9d2a14fce0e"},{url:"assets/@fontsource.f66d05e7.css",revision:null},{url:"assets/@vue.6f8187b0.js",revision:null},{url:"assets/amator.1e5a40c8.js",revision:null},{url:"assets/bezier-easing.a990b400.js",revision:null},{url:"assets/gameLoop.fdd22bbc.js",revision:null},{url:"assets/index.23e23bb0.js",revision:null},{url:"assets/index.6da26b86.css",revision:null},{url:"assets/lz-string.dccec454.js",revision:null},{url:"assets/nanoevents.1080beb7.js",revision:null},{url:"assets/ngraph.events.083734c6.js",revision:null},{url:"assets/panzoom.30c56ba6.js",revision:null},{url:"assets/sortablejs.a0f68e5e.js",revision:null},{url:"assets/vue-next-select.9e6f4164.css",revision:null},{url:"assets/vue-next-select.f5f69b1a.js",revision:null},{url:"assets/vue-panzoom.89be130f.js",revision:null},{url:"assets/vue-textarea-autosize.35804eaf.js",revision:null},{url:"assets/vue-toastification.4b5f8ac8.css",revision:null},{url:"assets/vue-toastification.5231d1bd.js",revision:null},{url:"assets/vue.804e2479.js",revision:null},{url:"assets/vuedraggable.ce650350.js",revision:null},{url:"assets/wheel.f2ae740f.js",revision:null},{url:"assets/workbox-window.4a8794bb.js",revision:null},{url:"favicon.ico",revision:"eead31eb5b19fa3bdc34af83d898c0b7"},{url:"favicon.svg",revision:"c8dd2748f1fedd25449164d7dda6aecb"},{url:"index.html",revision:"06e283f06669fbffec493150a9888826"},{url:"pwa-192x192.png",revision:"a16785d9e890858c5b508e0ef6954aaf"},{url:"pwa-512x512.png",revision:"b84004b93fd62ef6599ff179372861a1"},{url:"favicon.ico",revision:"eead31eb5b19fa3bdc34af83d898c0b7"},{url:"robots.txt",revision:"5e0bd1c281a62a380d7a948085bfe2d1"},{url:"apple-touch-icon.png",revision:"26e53bb981d06c8069ffd9d2a14fce0e"},{url:"pwa-192x192.png",revision:"a16785d9e890858c5b508e0ef6954aaf"},{url:"pwa-512x512.png",revision:"b84004b93fd62ef6599ff179372861a1"},{url:"manifest.webmanifest",revision:"e1e419fec40e2d042566c11fe4bce322"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))}));