diff --git a/assets/gameLoop.f1588f5c.js b/assets/gameLoop.94f0e4f9.js similarity index 91% rename from assets/gameLoop.f1588f5c.js rename to assets/gameLoop.94f0e4f9.js index 4fb2f98..d407137 100644 --- a/assets/gameLoop.f1588f5c.js +++ b/assets/gameLoop.94f0e4f9.js @@ -1 +1 @@ -import{_ as d,s as u,a as t,p as e,l as c,D as a,b as m,g as p}from"./index.d9989fa0.js";import"./vue.359c6955.js";import{b2 as T}from"./@vue.6f8187b0.js";/* empty css */import"./lz-string.bfbf8ec3.js";import"./nanoevents.1080beb7.js";import"./unofficial-galaxy-sdk.21372393.js";import"./vue-textarea-autosize.35804eaf.js";import"./vuedraggable.055200e5.js";import"./sortablejs.20039f18.js";import"./vue-next-select.68e0c605.js";import"./vue-toastification.45d39007.js";let n=null,f=null;function o(){const l=Date.now();let i=(l-e.time)/1e3;e.time=l;const r=i;if(t.lastTenTicks.push(r),t.lastTenTicks.length>10&&(t.lastTenTicks=t.lastTenTicks.slice(1)),!((f==null?void 0:f.value)&&!e.keepGoing)&&!t.hasNaN&&(i=Math.max(i,0),e.devSpeed!==0)){if(c.value=!1,e.offlineTime!=null){if(a.gt(e.offlineTime,m.offlineLimit*3600)&&(e.offlineTime=m.offlineLimit*3600),a.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||a.lt(e.offlineTime,0))&&(e.offlineTime=null)}i=Math.min(i,m.maxTickLength),e.devSpeed!=null&&(i*=e.devSpeed),Number.isFinite(i)||(i=1e308),!a.eq(i,0)&&(e.timePlayed+=i,Number.isFinite(e.timePlayed)||(e.timePlayed=1e308),p.emit("update",i,r),u.unthrottled?(requestAnimationFrame(o),n!=null&&(clearInterval(n),n=null)):n==null&&(n=setInterval(o,50)))}}async function L(){f=(await d(()=>import("./index.d9989fa0.js").then(function(l){return l.c}),["assets/index.d9989fa0.js","assets/index.af069480.css","assets/@fontsource.f66d05e7.css","assets/vue.359c6955.js","assets/lz-string.bfbf8ec3.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/unofficial-galaxy-sdk.21372393.js","assets/vue-textarea-autosize.35804eaf.js","assets/vuedraggable.055200e5.js","assets/sortablejs.20039f18.js","assets/vue-next-select.68e0c605.js","assets/vue-next-select.9e6f4164.css","assets/vue-toastification.45d39007.js","assets/vue-toastification.4b5f8ac8.css"])).hasWon,T(f,l=>{l&&p.emit("gameWon")}),u.unthrottled?requestAnimationFrame(o):n=setInterval(o,50)}setInterval(()=>{t.mouseActivity=[...t.mouseActivity.slice(-7),!1]},1e3*60*60);export{L as startGameLoop}; +import{_ as d,s as u,a as t,p as e,l as c,D as a,b as m,g as p}from"./index.9b24a867.js";import"./vue.359c6955.js";import{b2 as T}from"./@vue.6f8187b0.js";/* empty css */import"./lz-string.bfbf8ec3.js";import"./nanoevents.1080beb7.js";import"./unofficial-galaxy-sdk.21372393.js";import"./vue-textarea-autosize.35804eaf.js";import"./vuedraggable.055200e5.js";import"./sortablejs.20039f18.js";import"./vue-next-select.68e0c605.js";import"./vue-toastification.45d39007.js";let n=null,f=null;function o(){const l=Date.now();let i=(l-e.time)/1e3;e.time=l;const r=i;if(t.lastTenTicks.push(r),t.lastTenTicks.length>10&&(t.lastTenTicks=t.lastTenTicks.slice(1)),!((f==null?void 0:f.value)&&!e.keepGoing)&&!t.hasNaN&&(i=Math.max(i,0),e.devSpeed!==0)){if(c.value=!1,e.offlineTime!=null){if(a.gt(e.offlineTime,m.offlineLimit*3600)&&(e.offlineTime=m.offlineLimit*3600),a.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||a.lt(e.offlineTime,0))&&(e.offlineTime=null)}i=Math.min(i,m.maxTickLength),e.devSpeed!=null&&(i*=e.devSpeed),Number.isFinite(i)||(i=1e308),!a.eq(i,0)&&(e.timePlayed+=i,Number.isFinite(e.timePlayed)||(e.timePlayed=1e308),p.emit("update",i,r),u.unthrottled?(requestAnimationFrame(o),n!=null&&(clearInterval(n),n=null)):n==null&&(n=setInterval(o,50)))}}async function L(){f=(await d(()=>import("./index.9b24a867.js").then(function(l){return l.c}),["assets/index.9b24a867.js","assets/index.af069480.css","assets/@fontsource.f66d05e7.css","assets/vue.359c6955.js","assets/lz-string.bfbf8ec3.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/unofficial-galaxy-sdk.21372393.js","assets/vue-textarea-autosize.35804eaf.js","assets/vuedraggable.055200e5.js","assets/sortablejs.20039f18.js","assets/vue-next-select.68e0c605.js","assets/vue-next-select.9e6f4164.css","assets/vue-toastification.45d39007.js","assets/vue-toastification.4b5f8ac8.css"])).hasWon,T(f,l=>{l&&p.emit("gameWon")}),u.unthrottled?requestAnimationFrame(o):n=setInterval(o,50)}setInterval(()=>{t.mouseActivity=[...t.mouseActivity.slice(-7),!1]},1e3*60*60);export{L as startGameLoop}; diff --git a/assets/index.d9989fa0.js b/assets/index.9b24a867.js similarity index 77% rename from assets/index.d9989fa0.js rename to assets/index.9b24a867.js index 2c8d117..f9cbe02 100644 --- a/assets/index.d9989fa0.js +++ b/assets/index.9b24a867.js @@ -14,5 +14,5 @@ Created at: Created at: `+i[Tt])}),nt[e.id].clear()});const tn=Symbol("RegisterNode"),nn=Symbol("UnregisterNode"),rn=Symbol("Nodes"),an=Symbol("Bounds"),le=Ot({});window.layers=le;const nt={},ye=[];function sn(e,t){return Ze(()=>{const n={},r=n.emitter=kn();if(n.on=r.on.bind(r),n.emit=r.emit.bind(r),n.nodes=x({}),n.id=e,ye.push(e),nt[e]=new Set,n.minimized=_t(!1,!1),Object.assign(n,t.call(n,n)),ye[ye.length-1]==null||ye[ye.length-1]!==e)throw new Error(`Adding layers stack in invalid state. This should not happen Stack: ${ye} -Trying to pop ${n.id}`);ye.pop(),L(n,"color"),L(n,"display"),L(n,"classes"),L(n,"style"),L(n,"name"),ce(n,"name",n.id),L(n,"minWidth"),ce(n,"minWidth",600),L(n,"minimizable"),ce(n,"minimizable",!0),L(n,"minimizedDisplay");const i=n.style;return n.style=E(()=>{var s,c;let a=l(n.minWidth);return(typeof a=="number"||!Number.isNaN(parseInt(a)))&&(a=a+"px"),[(s=l(i))!=null?s:"",(c=n.minimized)!=null&&c.value?{flexGrow:"0",flexShrink:"0",width:"60px",minWidth:"",flexBasis:"",margin:"0"}:{flexGrow:"",flexShrink:"",width:"",minWidth:a,flexBasis:a,margin:""}]}),n})}function Rn(e,t){if(console.info("Adding layer",e.id),le[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,le[e.id]);return}ce(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),le[e.id]=e,oe.emit("addLayer",e,t.layers[e.id])}function ms(e){return le[e]}function An(e){console.info("Removing layer",e.id),oe.emit("removeLayer",e),le[e.id]=void 0}function hs(e){An(e),Rn(e,F)}function ps(e){const t=x(!1);return{openModal:()=>t.value=!0,modal:ee(()=>y(Ee,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},{header:()=>y("h2",null,[l(e.name)]),body:l(e.display)}))}}oe.on("update",function(t){Object.values(le).forEach(n=>{n==null||n.emit("preUpdate",t)}),Object.values(le).forEach(n=>{n==null||n.emit("update",t)}),Object.values(le).forEach(n=>{n==null||n.emit("postUpdate",t)})});var vs=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:tn,UnregisterNodeInjectionKey:nn,NodesInjectionKey:rn,BoundsInjectionKey:an,layers:le,persistentRefs:nt,addingLayers:ye,createLayer:sn,addLayer:Rn,getLayer:ms,removeLayer:An,reloadLayer:hs,setupLayerModal:ps},Symbol.toStringTag,{value:"Module"}));const bs=q({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var b;const n=x({}),r=new ResizeObserver(c),i=x(null);yt(()=>{const v=i.value;v!=null&&r.observe(v)});let a=!0,s=x((b=i.value)==null?void 0:b.getBoundingClientRect());function c(){a&&(a=!1,Ke(()=>{var v;s.value=(v=i.value)==null?void 0:v.getBoundingClientRect(),Object.values(n.value).filter(w=>w).forEach(w=>w.rect=w.element.getBoundingClientRect()),t("updateNodes",n.value),a=!0}))}oe.on("fontsLoaded",c);const d={attributes:!1,childList:!0,subtree:!1};Ct(tn,(v,w)=>{const k=new MutationObserver(()=>f(v));k.observe(w,d),n.value[v]={element:w,observer:k,rect:w.getBoundingClientRect()},c()}),Ct(nn,v=>{var w;(w=n.value[v])==null||w.observer.disconnect(),n.value[v]=void 0,c()}),Ct(rn,n),Ct(an,s);function f(v){const w=n.value[v];w!=null&&(w.rect=w.element.getBoundingClientRect(),t("updateNodes",n.value))}return(v,w)=>(h(),N(W,null,[Re(v.$slots,"default",{},void 0,!0),g("div",{ref_key:"resizeListener",ref:i,class:"resize-listener"},null,512)],64))}});var qn=H(bs,[["__scopeId","data-v-2b1dc1bc"]]);const ys=["onPointerdown"],_s={class:"modal-wrapper"},ws=["width"],Ns={class:"modal-header"},Cs={class:"modal-body"},ks={class:"modal-footer"},Ss=g("div",{class:"modal-default-flex-grow"},null,-1),Ee=q({__name:"Modal",props:{modelValue:{type:Boolean},preventClosing:{type:Boolean},width:null},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const i=de(e),a=E(()=>l(i.modelValue)||c.value);function s(){l(i.preventClosing)!==!0&&n("update:modelValue",!1)}const c=x(!1),d=x(null),f=E(()=>{var b,v;return(v=(b=d.value)==null?void 0:b.nodes)!=null?v:null});return t({isOpen:a,nodes:f}),(b,v)=>(h(),R(Qn,{to:"#modal-root"},[y(Nn,{name:"modal",onBeforeEnter:v[0]||(v[0]=w=>c.value=!0),onAfterLeave:v[1]||(v[1]=w=>c.value=!1),appear:""},{default:O(()=>[Yt(g("div",Pe({class:"modal-mask",onPointerdown:gt(s,["self"])},b.$attrs),[g("div",_s,[g("div",{class:"modal-container",width:e.width},[g("div",Ns,[Re(b.$slots,"header",{shown:l(a)},()=>[T(" default header ")])]),g("div",Cs,[y(qn,{ref_key:"contextRef",ref:d},{default:O(()=>[Re(b.$slots,"body",{shown:l(a)},()=>[T(" default body ")])]),_:3},512)]),g("div",ks,[Re(b.$slots,"footer",{shown:l(a)},()=>[g("div",{class:"modal-default-footer"},[Ss,g("button",{class:"button modal-default-button",onClick:s}," Close ")])])])],8,ws)])],16,ys),[[Xn,e.modelValue]])]),_:3})]))}});const Rt=e=>(Ce("data-v-3da88bf8"),e=e(),ke(),e),Is=Rt(()=>g("div",{class:"vga-modal-header"},[g("h2",null,"Kindly consider taking a break.")],-1)),$s=Rt(()=>g("p",null," You've been actively enjoying this game for awhile recently - and it's great that you've been having a good time! That said, there are dangers to games like these that you should be aware of: ",-1)),Ms=Rt(()=>g("p",null," While incremental games can be fun and even healthy in certain contexts, they can exacerbate video game addiction even more than other genres. If you feel like playing incremental games is taking priority over other things in your life, or manipulating your sleep schedule, it may be prudent to seek help. ",-1)),xs=Rt(()=>g("p",null,[g("h4",null,"Resources:"),g("span",null,[g("a",{style:{display:"inline"},href:"https://www.samhsa.gov/",target:"_blank"}," SAMHSA "),T(" ("),g("a",{style:{display:"inline"},href:"tel:1-800-662-4357"},"1-800-662-HELP"),T(") ")]),g("br"),g("a",{href:"https://www.reddit.com/r/StopGaming/"},"r/StopGaming")],-1)),Ts={class:"vga-footer"},Ps=q({__name:"AddictionWarning",setup(e){const t=x(!1);Ae(()=>{U.disableHealthWarning===!1&&G.showHealthWarning&&j.mouseActivity.filter(r=>r).length>6&&(t.value=!0)});function n(){G.showHealthWarning=!1,t.value=!1}return(r,i)=>{const a=ze("SavesManager");return h(),N(W,null,[y(Ee,Pe({modelValue:t.value,"onUpdate:modelValue":i[1]||(i[1]=s=>t.value=s)},r.$attrs),{header:O(()=>[Is]),body:O(()=>[$s,Ms,xs]),footer:O(()=>[g("div",Ts,[g("button",{onClick:n,class:"button"},"Never show this again"),g("button",{onClick:i[0]||(i[0]=s=>t.value=!1),class:"button"},"Close")])]),_:1},16,["modelValue"]),y(a,{ref:"savesManager"},null,512)],64)}}});var Fs=H(Ps,[["__scopeId","data-v-3da88bf8"]]);const ge=x(),$e=x([]),ot=x([]);function Es(){var e;((e=ge.value)==null?void 0:e.loggedIn)===!0&&($e.value.length>0||ge.value.getSaveList().then(Bn).then(t=>{ot.value=t.map(n=>n.content.id)}).catch(console.error))}ar({supportsSaving:!0,supportsSaveManager:!0,onLoggedInChanged:_n}).then(e=>{ge.value=e,_n(e)}).catch(console.error);function _n(e){e.loggedIn===!0&&($e.value.length>0||(e.getSaveList().then(t=>{const n=Bn(t);if(ot.value=n.map(r=>r.content.id),F.timePlayed<120*1e3&&n.length>0){const r=n.reduce((i,a)=>i.content.timea)),r=Object.keys(e).map(i=>{var c;const{label:a,content:s}=e[i];try{return{slot:parseInt(i),label:a,content:JSON.parse((c=qe(s))!=null?c:"")}}catch{return null}}).filter(i=>i!=null&&typeof i.content.id=="string"&&typeof i.content.time=="number"&&typeof i.content.timePlayed=="number").filter(i=>{var s,c,d,f,b,v;i.label!=null&&(i.content.name=i.label),n.delete(i.slot);const a=G.saves.find(w=>w===i.content.id);if(a==null)G.saves.push(i.content.id),ae(xe(i.content));else{t.delete(a);try{const w=JSON.parse((c=qe((s=localStorage.getItem(a))!=null?s:""))!=null?c:"");if(w==null)return!1;w.id=a,w.time=(d=w.time)!=null?d:0,w.timePlayed=(f=w.timePlayed)!=null?f:0;const k=Math.abs(w.timePlayed-i.content.timePlayed),_=Math.abs(w.time-i.content.time);k<120*1e3&&_<120*1e3?w.time{var a,s,c;try{if(n.size>0){const d=(a=localStorage.getItem(i))!=null?a:"",f=JSON.parse((s=qe(d))!=null?s:""),b=n.values().next().value;(c=ge.value)==null||c.save(b,d,f.name).then(()=>ot.value.push(f.id)).catch(console.error),n.delete(b)}}catch{}}),r}function ue(e,t="span"){return typeof e=="function"?q({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}`),q({template:e})):q({render:()=>({})}):e}function wt(e){if(At(e))return typeof e=="function"?e():ue(e);const t=e[Be];return y(t,e[Ue](),null)}function $t(e){if(At(e))return typeof e=="function"?e():typeof e=="string"?y(W,null,[e]):y(e,null,null);const t=e[Be];return y(t,e[Ue](),null)}function At(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[vt]===!0}function Un(e,t){const n=x(null),r=x(void 0);function i(c){n.value||(n.value=setInterval(s,250)),r.value=c}function a(){n.value&&(clearInterval(n.value),n.value=null)}function s(){t&&t.value?t.value():e&&e.value&&e.value(r.value)}return Cn(a),{start:i,stop:a,handleHolding:s}}function Os(e,t="div"){const n=_e();return Ae(()=>{n.value=ue(we(e),t)}),n}function lt(e,t="div"){const n=_e(null);return Ae(()=>{const r=we(e);n.value=r===""||r==null?null:ue(r,t)}),n}function we(e){return l(l(e))}function z(...e){return e.includes(Object)||e.push(Object),e}function Vs(e){return Object.keys(e).reduce((t,n)=>(t[Di(n)]=e[n],t),{})}var Ls=q({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:r}=de(e),i=x(!1),a=E(()=>(we(r)||i.value)&&s.value),s=lt(n),c=_e(ue(ee(()=>{const b=we(t);return b==null?"":$t(b)})));function d(b){const v=r;b.shiftKey&&v&&(v.value=!v.value,b.stopPropagation(),b.preventDefault())}const f=E(()=>we(r)&&Qt[G.theme].showPin);return{Direction:K,isHovered:i,isShown:a,comp:s,elementComp:c,unref:l,togglePinned:d,showPin:f}}});const Ds={key:0,class:"material-icons pinned"};function Rs(e,t,n,r,i,a){return h(),N("div",{class:te(["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?(h(),R(se(e.elementComp),{key:0})):$("",!0),y(Nn,{name:"fade"},{default:O(()=>{var s;return[e.isShown?(h(),N("div",{key:0,class:te(["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:me([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(s=e.unref(e.style))!=null?s:{}])},[e.showPin?(h(),N("span",Ds,"push_pin")):$("",!0),e.comp?(h(),R(se(e.comp),{key:1})):$("",!0)],6)):$("",!0)]}),_:1})],34)}var Q=H(Ls,[["render",Rs],["__scopeId","data-v-6102fa3a"]]);const As={key:0},qs=["onClick","disabled"],Bs={key:0},Us=["onClick"],zs=q({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const r=de(e),i=x(!1);he(i,c=>{t("confirmingChanged",c)});function a(){if(l(r.skipConfirm)){t("click");return}i.value&&t("click"),i.value=!i.value}function s(){i.value=!1}return(c,d)=>(h(),N("span",{class:te(["container",{confirming:i.value}])},[i.value?(h(),N("span",As,"Are you sure?")):$("",!0),g("button",{onClick:gt(a,["stop"]),class:"button danger",disabled:e.disabled},[i.value?(h(),N("span",Bs,"Yes")):Re(c.$slots,"default",{key:1},void 0,!0)],8,qs),i.value?(h(),N("button",{key:1,class:"button",onClick:gt(s,["stop"])},"No",8,Us)):$("",!0)],2))}});var Gs=H(zs,[["__scopeId","data-v-2f8ef34c"]]);const Hs=["onSubmit"],js={class:"field"},Ws={key:0,class:"field-title"},Js=["placeholder"],Ks=q({__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,r=lt(Fe(n,"title"),"span"),i=_e(null);yt(()=>{var d;(d=i.value)==null||d.focus()});const a=E({get(){var d;return(d=l(n.modelValue))!=null?d:""},set(d){t("update:modelValue",d)}});function s(){t("submit")}function c(){n.submitOnBlur!==!1?t("submit"):t("cancel")}return(d,f)=>(h(),N("form",{onSubmit:gt(s,["prevent"])},[g("div",js,[l(r)?(h(),N("span",Ws,[(h(),R(se(l(r))))])):$("",!0),e.textArea?(h(),R(l(sr),{key:1,modelValue:l(a),"onUpdate:modelValue":f[0]||(f[0]=b=>re(a)?a.value=b:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:c,ref_key:"field",ref:i},null,8,["modelValue","placeholder","maxHeight"])):Yt((h(),N("input",{key:2,type:"text","onUpdate:modelValue":f[1]||(f[1]=b=>re(a)?a.value=b:null),placeholder:e.placeholder,class:te({fullWidth:!e.title}),onBlur:c,ref_key:"field",ref:i},null,42,Js)),[[er,l(a)]])])],40,Hs))}});var zn=H(Ks,[["__scopeId","data-v-90bd4994"]]);const Oe=e=>(Ce("data-v-d1147dc6"),e=e(),ke(),e),Ys={key:0,class:"handle material-icons"},Zs={key:1,class:"actions"},Xs=Oe(()=>g("span",{class:"material-icons"},"content_paste",-1)),Qs=Oe(()=>g("span",{class:"material-icons"},"content_copy",-1)),eo=Oe(()=>g("span",{class:"material-icons"},"edit",-1)),to=Oe(()=>g("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),no={key:2,class:"actions"},ro=Oe(()=>g("span",{class:"material-icons"},"check",-1)),io=Oe(()=>g("span",{class:"material-icons"},"close",-1)),ao={key:3,class:"details"},so=Oe(()=>g("span",{class:"material-icons synced"},"cloud",-1)),oo=["disabled"],lo={class:"save-version"},uo=Oe(()=>g("br",null,null,-1)),co={key:1,class:"time"},fo={key:4,class:"details"},go={key:5,class:"details error"},mo=Oe(()=>g("br",null,null,-1)),ho=q({__name:"Save",props:{save:null,readonly:{type:Boolean}},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const n=e,{save:r,readonly:i}=de(n),a=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),s=x(!1),c=x(!1),d=x("");he(s,()=>{var k;return d.value=(k=r.value.name)!=null?k:""});const f=E(()=>r.value!=null&&r.value.id===F.id&&!l(i)),b=E(()=>{var k;return f.value?F.time:(k=r.value!=null&&r.value.time)!=null?k:0}),v=E(()=>{var k;return!l(i)&&((k=ge.value)==null?void 0:k.loggedIn)===!0&&ot.value.includes(r.value.id)});function w(){t("editName",d.value),s.value=!1}return(k,_)=>(h(),N("div",{class:te(["save",{active:l(f),readonly:l(i)}])},[l(i)!==!0?(h(),N("div",Ys,"drag_handle")):$("",!0),!s.value&&l(i)!==!0?(h(),N("div",Zs,[l(r).error==null&&!c.value?(h(),R(Zt,{key:0,onClick:_[0]||(_[0]=S=>t("export")),class:"button",left:""},{default:O(()=>[y(Q,{display:"Export",direction:l(K).Left,class:"info"},{default:O(()=>[Xs]),_:1},8,["direction"])]),_:1})):$("",!0),l(r).error==null&&!c.value?(h(),N("button",{key:1,onClick:_[1]||(_[1]=S=>t("duplicate")),class:"button"},[y(Q,{display:"Duplicate",direction:l(K).Left,class:"info"},{default:O(()=>[Qs]),_:1},8,["direction"])])):$("",!0),l(r).error==null&&!c.value?(h(),N("button",{key:2,onClick:_[2]||(_[2]=S=>s.value=!s.value),class:"button"},[y(Q,{display:"Edit Name",direction:l(K).Left,class:"info"},{default:O(()=>[eo]),_:1},8,["direction"])])):$("",!0),y(Gs,{disabled:l(f),onClick:_[3]||(_[3]=S=>t("delete")),onConfirmingChanged:_[4]||(_[4]=S=>c.value=S)},{default:O(()=>[y(Q,{display:"Delete",direction:l(K).Left,class:"info"},{default:O(()=>[to]),_:1},8,["direction"])]),_:1},8,["disabled"])])):l(i)!==!0?(h(),N("div",no,[g("button",{onClick:w,class:"button"},[y(Q,{display:"Save",direction:l(K).Left,class:"info"},{default:O(()=>[ro]),_:1},8,["direction"])]),g("button",{onClick:_[5]||(_[5]=S=>s.value=!s.value),class:"button"},[y(Q,{display:"Cancel",direction:l(K).Left,class:"info"},{default:O(()=>[io]),_:1},8,["direction"])])])):$("",!0),l(r).error==null&&!s.value?(h(),N("div",ao,[l(v)?(h(),R(Q,{key:0,display:"Synced!",direction:l(K).Right},{default:O(()=>[so]),_:1},8,["direction"])):$("",!0),g("button",{class:"button open",onClick:_[6]||(_[6]=S=>t("open")),disabled:l(i)},[g("h3",null,V(l(r).name),1)],8,oo),g("span",lo,"v"+V(l(r).modVersion),1),uo,l(b)?(h(),N("div",co," Last played "+V(l(a).format(l(b))),1)):$("",!0)])):l(r).error==null&&s.value?(h(),N("div",fo,[y(zn,{modelValue:d.value,"onUpdate:modelValue":_[7]||(_[7]=S=>d.value=S),class:"editname",onSubmit:w},null,8,["modelValue"])])):(h(),N("div",go,[T(" Error: Failed to load save with id "+V(l(r).id),1),mo,T(V(l(r).error),1)]))],2))}});var Kt=H(ho,[["__scopeId","data-v-d1147dc6"]]);const on=e=>(Ce("data-v-0bf31c81"),e=e(),ke(),e),po={class:"cloud-saves-modal-header"},vo=on(()=>g("br",null,null,-1)),bo=["onClick"],yo={key:0,class:"note"},_o={key:1,class:"note"},wo=["onClick"],No={key:0,class:"note"},Co={key:1,class:"note"},ko=["onClick"],So=on(()=>g("h2",null,"Both",-1)),Io=on(()=>g("div",{class:"save"},"Keep Both",-1)),$o=[So,Io],Mo=q({__name:"CloudSaveResolver",setup(e){const t=x(!1),n=x([]),r=E(()=>$e.value.length>1?"saves":"save"),i=x(null);he(()=>$e.value.length>0,f=>{f&&(n.value=$e.value.map(({local:b,cloud:v})=>{var w,k;return((w=b.time)!=null?w:0)<((k=v.time)!=null?k:0)?"cloud":"local"}),t.value=!0)},{immediate:!0}),he(()=>{var f;return(f=i.value)==null?void 0:f.isOpen},f=>{f===!1&&($e.value=[])});function a(f){n.value[f]="local"}function s(f){n.value[f]="cloud"}function c(f){n.value[f]="both"}function d(){var f,b;for(let v=0;v(h(),R(Ee,{modelValue:t.value,"onUpdate:modelValue":b[0]||(b[0]=v=>t.value=v),width:"960px",ref_key:"modal",ref:i,"prevent-closing":!0},{header:O(()=>[g("div",po,[g("h2",null,"Cloud "+V(l(r))+" loaded!",1)])]),body:O(()=>[g("div",null," Upon loading, your cloud "+V(l(r))+" "+V(l($e).length>1?"appear":"appears")+" to be out of sync with your local "+V(l(r))+". Which "+V(l(r))+" do you want to keep? ",1),vo,(h(!0),N(W,null,Le(l(l($e)),(v,w)=>{var k,_,S,P,I,M,A,ie;return h(),N("div",{key:v.id,class:"conflict-container"},[g("div",{onClick:fe=>s(w),class:te({selected:n.value[w]==="cloud"})},[g("h2",null,[T(" Cloud "),((k=v.cloud.time)!=null?k:0)>((_=v.local.time)!=null?_:0)?(h(),N("span",yo,"(more recent)")):$("",!0),((S=v.cloud.timePlayed)!=null?S:0)>((P=v.local.timePlayed)!=null?P:0)?(h(),N("span",_o,"(more playtime)")):$("",!0)]),y(Kt,{save:v.cloud,readonly:!0},null,8,["save"])],10,bo),g("div",{onClick:fe=>a(w),class:te({selected:n.value[w]==="local"})},[g("h2",null,[T(" Local "),((I=v.cloud.time)!=null?I:0)<=((M=v.local.time)!=null?M:0)?(h(),N("span",No,"(more recent)")):$("",!0),((A=v.cloud.timePlayed)!=null?A:0)<=((ie=v.local.timePlayed)!=null?ie:0)?(h(),N("span",Co,"(more playtime)")):$("",!0)]),y(Kt,{save:v.local,readonly:!0},null,8,["save"])],10,wo),g("div",{onClick:fe=>c(w),class:te({selected:n.value[w]==="both"}),style:{"flex-basis":"30%"}},$o,10,ko)])}),128))]),footer:O(()=>[g("div",{class:"cloud-saves-footer"},[g("button",{onClick:d,class:"button"},"Confirm")])]),_:1},8,["modelValue"]))}});var xo=H(Mo,[["__scopeId","data-v-0bf31c81"]]);const To=q({__name:"Node",props:{id:null},setup(e){const n=de(e),r=Mt(tn,()=>{}),i=Mt(nn,()=>{}),a=_e(null),s=E(()=>a.value&&a.value.parentElement);return he([s,n.id],([c,d],[f,b])=>{f&&i(l(b)),c&&r(d,c)}),Cn(()=>i(l(n.id))),(c,d)=>(h(),N("div",{class:"node",ref_key:"node",ref:a},null,512))}});var Qe=H(To,[["__scopeId","data-v-a48cb382"]]);const Po=q({__name:"Spacer",props:{width:{default:"8px"},height:{default:"17px"}},setup(e){return(t,n)=>(h(),N("div",{style:me({width:e.width,height:e.height})},null,4))}});function Gn(e,t="points",n=0,r=void 0){const i=re(e)?e:_t(e);if(i.displayName=t,i.precision=n,i.small=r,!re(e)){const a=i[De];a.displayName=t,a.precision=n,a.small=r}return i}function Fo(e){const t=_t(e.value);return he(e,n=>{en.value||u.gt(n,t.value)&&(t.value=n)}),t}function Eo(e){const t=_t(e.value);return he(e,(n,r)=>{en.value||u.gt(n,r)&&(t.value=u.add(t.value,u.sub(n,r)))}),t}const Oo=new u("10^^8"),Vo=new u("1e100");function Lo(e,t){const n=x(0),r=x(0),i=x(0);return oe.on("update",s=>{if(r.value=0,u.lte(e.value,Vo)){i.value=e.value;return}let c=e.value,d=i.value;if(i.value=c,u.gt(c,d))if(u.gte(c,Oo))c=u.slog(c,1e10),d=u.slog(d,1e10),n.value=c.sub(d).div(s),r.value=-1;else for(;u.div(c,d).log(10).div(s).gte("100")&&r.value<=5&&u.gt(d,0);)c=u.log10(c),d=u.log10(d),n.value=c.sub(d).div(s),r.value++}),E(()=>r.value===0?t?Ne(t.value,e.precision,e.small)+" "+e.displayName+"/s":"":Ne(n.value)+" OOM"+(r.value<0?"^OOM":"^"+r.value)+"s/sec")}function Pt(e,t){const n=t!=null?t:e.value;return u.eq(e.precision,0)?pt(e.small?n:u.floor(n)):Ne(n,e.precision,e.small)}const Do=["x1","y1","x2","y2"],Ro=q({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const t=e,n=de(t),r=E(()=>{const s=n.startNode.value.rect,c=n.boundingRect.value,d=c?{x:s.x+s.width/2-c.x,y:s.y+s.height/2-c.y}:{x:0,y:0};return n.link.value.offsetStart&&(d.x+=n.link.value.offsetStart.x,d.y+=n.link.value.offsetStart.y),d}),i=E(()=>{const s=n.endNode.value.rect,c=n.boundingRect.value,d=c?{x:s.x+s.width/2-c.x,y:s.y+s.height/2-c.y}:{x:0,y:0};return n.link.value.offsetEnd&&(d.x+=n.link.value.offsetEnd.x,d.y+=n.link.value.offsetEnd.y),d}),a=E(()=>Vs(t.link));return(s,c)=>(h(),N("line",Pe({"stroke-width":"15px",stroke:"white"},l(a),{x1:l(r).x,y1:l(r).y,x2:l(i).x,y2:l(i).y}),null,16,Do))}});const Ao=q({__name:"Links",props:{links:null},setup(e){var d;const n=Fe(e,"links"),r=x(null),i=Mt(rn,x({})),a=Mt(an,x(void 0)),s=x((d=r.value)==null?void 0:d.getBoundingClientRect());he(a,()=>{var f;return s.value=(f=r.value)==null?void 0:f.getBoundingClientRect()}),yt(()=>{var f;return s.value=(f=r.value)==null?void 0:f.getBoundingClientRect()});const c=E(()=>{var b,v;const f=i.value;return(v=(b=n.value)==null?void 0:b.filter(w=>{var k,_;return((k=f[w.startNode.id])==null?void 0:k.rect)&&((_=f[w.startNode.id])==null?void 0:_.rect)}))!=null?v:[]});return(f,b)=>(h(),N(W,null,[l(c)?(h(),N("svg",tr(Pe({key:0},f.$attrs)),[(h(!0),N(W,null,Le(l(c),(v,w)=>(h(),R(Ro,{key:w,link:v,boundingRect:s.value,startNode:l(i)[v.startNode.id],endNode:l(i)[v.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):$("",!0),g("div",{ref_key:"resizeListener",ref:r,class:"resize-listener"},null,512)],64))}});var qo=H(Ao,[["__scopeId","data-v-063f6d6b"]]),Bo=q({props:{nodes:{type:z(Array),required:!0},leftSideNodes:z(Array),rightSideNodes:z(Array),branches:z(Array)},components:{Links:qo},setup(e){const{nodes:t,leftSideNodes:n,rightSideNodes:r}=de(e),i=_e();Ae(()=>{const c=we(t);i.value=ue(ee(()=>y(W,null,[c.map(d=>y("span",{class:"row tree-row",style:"margin: 50px auto;"},[d.map($t)]))])))});const a=_e();Ae(()=>{const c=we(n);a.value=c?ue(ee(()=>y("span",{class:"left-side-nodes small"},[c.map($t)]))):""});const s=_e();return Ae(()=>{const c=we(r);s.value=c?ue(ee(()=>y("span",{class:"side-nodes small"},[c.map($t)]))):""}),{unref:l,nodesComp:i,leftNodesComp:a,rightNodesComp:s}}});function Uo(e,t,n,r,i,a){const s=ze("Links");return h(),N(W,null,[(h(),R(se(e.nodesComp))),e.leftNodesComp?(h(),R(se(e.leftNodesComp),{key:0})):$("",!0),e.rightNodesComp?(h(),R(se(e.rightNodesComp),{key:1})):$("",!0),e.branches?(h(),R(s,{key:2,links:e.unref(e.branches)},null,8,["links"])):$("",!0)],64)}var zo=H(Bo,[["render",Uo],["__scopeId","data-v-39ca96d0"]]);const Go={key:0},Ho={key:0,class:"mark star"},jo=["src"],Wo=q({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,n)=>e.mark?(h(),N("div",Go,[e.mark===!0?(h(),N("div",Ho)):(h(),N("img",{key:1,class:"mark",src:e.mark},null,8,jo))])):$("",!0)}});var Hn=H(Wo,[["__scopeId","data-v-2207999f"]]);const Jo=q({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:Hn,Node:Qe},setup(e){const{onClick:t,onHold:n,display:r}=de(e),i=lt(r),{start:a,stop:s}=Un(t,n);return{start:a,stop:s,comp:i,unref:l,Visibility:at,isCoercableComponent:At,isVisible:On,isHidden:Vn}}});function Ko(e,t,n,r,i,a){var d;const s=ze("MarkNode"),c=ze("Node");return e.isVisible(e.visibility)?(h(),N("div",{key:0,style:me({visibility:e.isHidden(e.visibility)?"hidden":void 0}),class:te({treeNode:!0,can:e.unref(e.canClick),...e.unref(e.classes)}),onClick:t[0]||(t[0]=(...f)=>e.onClick&&e.onClick(...f)),onMousedown:t[1]||(t[1]=(...f)=>e.start&&e.start(...f)),onMouseleave:t[2]||(t[2]=(...f)=>e.stop&&e.stop(...f)),onMouseup:t[3]||(t[3]=(...f)=>e.stop&&e.stop(...f)),onTouchstartPassive:t[4]||(t[4]=(...f)=>e.start&&e.start(...f)),onTouchendPassive:t[5]||(t[5]=(...f)=>e.stop&&e.stop(...f)),onTouchcancelPassive:t[6]||(t[6]=(...f)=>e.stop&&e.stop(...f))},[g("div",{style:me([{backgroundColor:e.unref(e.color),boxShadow:`-4px -4px 4px rgba(0, 0, 0, 0.25) inset, 0 0 20px ${e.unref(e.glowColor)}`},(d=e.unref(e.style))!=null?d:[]])},[(h(),R(se(e.unref(e.comp))))],4),y(s,{mark:e.unref(e.mark)},null,8,["mark"]),y(c,{id:e.id},null,8,["id"])],38)):$("",!0)}var Yo=H(Jo,[["render",Ko],["__scopeId","data-v-727230a6"]]);const Zo=Symbol("TreeNode"),Xo=Symbol("Tree");function Qo(e,...t){const n=t.reduce((r,i)=>{var a;return Object.assign(r,(a=i.getPersistentData)==null?void 0:a.call(i))},{});return Ze(r=>{var s,c,d;const i=(s=e==null?void 0:e.call(r,r))!=null?s:{};i.id=Dt("treeNode-"),i.type=Zo,i[Be]=Yo;for(const f of t)(c=f.preConstruct)==null||c.call(f,i);Object.assign(n),L(i,"visibility"),ce(i,"visibility",at.Visible),L(i,"canClick"),ce(i,"canClick",!0),L(i,"color"),L(i,"display"),L(i,"glowColor"),L(i,"classes"),L(i,"style"),L(i,"mark");for(const f of t)(d=f.postConstruct)==null||d.call(f,i);if(i.onClick){const f=i.onClick.bind(i);i.onClick=function(b){l(i.canClick)!==!1&&f(b)}}if(i.onHold){const f=i.onHold.bind(i);i.onHold=function(){l(i.canClick)!==!1&&f()}}const a=t.reduce((f,b)=>{var v;return Object.assign(f,(v=b.getGatheredProps)==null?void 0:v.call(b,i))},{});return i[Ue]=function(){const{display:f,visibility:b,style:v,classes:w,onClick:k,onHold:_,color:S,glowColor:P,canClick:I,mark:M,id:A}=this;return{display:f,visibility:b,style:v,classes:w,onClick:k,onHold:_,color:S,glowColor:P,canClick:I,mark:M,id:A,...a}},i})}function el(e){return Ze(t=>{const n=e.call(t,t);return n.id=Dt("tree-"),n.type=Xo,n[Be]=zo,n.isResetting=x(!1),n.resettingNode=_e(null),n.reset=function(r){var a,s;const i=n;i.isResetting.value=!0,i.resettingNode.value=r,(a=i.resetPropagation)==null||a.call(i,i,r),(s=i.onReset)==null||s.call(i,r),i.isResetting.value=!1,i.resettingNode.value=null},n.links=E(()=>{var i;return(i=l(n.branches))!=null?i:[]}),L(n,"visibility"),ce(n,"visibility",at.Visible),L(n,"nodes"),L(n,"leftSideNodes"),L(n,"rightSideNodes"),L(n,"branches"),n[Ue]=function(){const{nodes:r,leftSideNodes:i,rightSideNodes:a,branches:s}=this;return{nodes:r,leftSideNodes:i,rightSideNodes:a,branches:s}},n})}const tl=function(e,t){var a;const n=l(e.branches);if(n==null)return;const r=[];let i=[t];for(;i.length!==0;){const s=[];for(const c of i)for(const d of n.filter(f=>f.startNode===c))[...r,...i].includes(d.endNode)||(s.push(d.endNode),(a=d.endNode.reset)==null||a.reset());r.push(...i),i=s}};function nl(e,t=null,n=0){const r=jt(n);return E(()=>t==null||u.gte(e.value,l(r))?Pt(e)+" "+e.displayName:`Reach ${u.eq(t.precision,0)?pt(l(r)):Ne(l(r),t.precision)} ${t.displayName} to unlock (You have ${u.eq(t.precision,0)?pt(t.value):Ne(t.value,t.precision)})`)}function rl(e,...t){return Ze(n=>{var i,a;const r=e.call(n,n);for(const s of t)(i=s.preConstruct)==null||i.call(s,r);r.formula=r.formula(o.variable(r.baseResource)),r.currentGain==null&&(r.currentGain=E(()=>{let s=u.floor(r.formula.evaluate(r.baseResource.value)).max(0);return l(r.buyMax)===!1&&(s=s.min(1)),s})),r.actualGain==null&&(r.actualGain=r.currentGain),r.currentAt==null&&(r.currentAt=E(()=>r.formula.invert(u.floor(l(r.currentGain))))),r.nextAt==null&&(r.nextAt=E(()=>r.formula.invert(u.floor(l(r.currentGain)).add(1)))),r.convert==null&&(r.convert=function(){var c;const s=l(r.currentGain);r.gainResource.value=u.add(r.gainResource.value,s),r.spend(s),(c=r.onConvert)==null||c.call(r,s)}),r.spend==null&&(r.spend=function(){r.baseResource.value=0}),L(r,"currentGain"),L(r,"actualGain"),L(r,"currentAt"),L(r,"nextAt"),L(r,"buyMax"),ce(r,"buyMax",!0);for(const s of t)(a=s.postConstruct)==null||a.call(s,r);return r})}function il(e){return rl(e)}const jn=e=>(Ce("data-v-5e2d38ce"),e=e(),ke(),e),al=jn(()=>g("div",{class:"key"},"Ctrl",-1)),sl=jn(()=>g("div",{class:"key"},"Shift",-1)),ol={class:"key"},ll=q({__name:"Hotkey",props:{hotkey:null},setup(e){const t=e;let n="",r=!1,i=!1,a=!1;return Ae(()=>{n=t.hotkey.key,r=n.startsWith("ctrl+"),r&&(n=n.slice(5)),i=n.startsWith("shift+"),i&&(n=n.slice(6)),a=n.length==1&&n.toLowerCase()!=n.toUpperCase(),a&&(n=n.toUpperCase())}),(s,c)=>(h(),N(W,null,[l(r)?(h(),N(W,{key:0},[al,T("+")],64)):$("",!0),l(i)?(h(),N(W,{key:1},[sl,T("+")],64)):$("",!0),g("div",ol,V(l(n)),1)],64))}});var ul=H(ll,[["__scopeId","data-v-5e2d38ce"]]);const bt=Ot({}),ln=Symbol("Hotkey"),ct=[")","!","@","#","$","%","^","&","*","("];function cl(e){return Ze(t=>{const n=e.call(t,t);return n.type=ln,L(n,"enabled"),ce(n,"enabled",!0),L(n,"description"),n})}oe.on("addLayer",e=>{Ln(e,ln).forEach(t=>{bt[t.key]=t})});oe.on("removeLayer",e=>{Ln(e,ln).forEach(t=>{bt[t.key]=void 0})});document.onkeydown=function(e){var r,i;if(((r=e.target)==null?void 0:r.tagName)==="INPUT"||un.value&&!F.keepGoing)return;const t=[e.key];e.shiftKey&&e.ctrlKey?(t.splice(0,1),t.push("ctrl+shift+"+e.key.toUpperCase()),t.push("shift+ctrl+"+e.key.toUpperCase()),ct.includes(e.key)?(t.push("ctrl+shift+"+ct.indexOf(e.key)),t.push("shift+ctrl+"+ct.indexOf(e.key))):(t.push("ctrl+shift+"+e.key.toLowerCase()),t.push("shift+ctrl+"+e.key.toLowerCase()))):ct.includes(e.key)?(t.push("shift+"+e.key),t.push("shift+"+ct.indexOf(e.key))):e.shiftKey?(t.push("shift+"+e.key.toUpperCase()),t.push("shift+"+e.key.toLowerCase())):e.ctrlKey&&(t.splice(0,1),t.push("ctrl+"+e.key));const n=bt[(i=t.find(a=>a in bt))!=null?i:""];n&&l(n.enabled)&&(e.preventDefault(),n.onPress())};oi(ee(()=>{const e=Object.values(bt).filter(t=>l(t==null?void 0:t.enabled));return e.length===0?"":y("div",null,[y("br",null,null),y("h4",null,[T("Hotkeys")]),y("div",{style:"column-count: 2"},[e.map(t=>y("div",null,[y(ul,{hotkey:t},null),T(" "),t==null?void 0:t.description]))])])}));const dl=Symbol("Reset");function fl(e){return Ze(t=>{const n=e.call(t,t);return n.id=Dt("reset-"),n.type=dl,n.reset=function(){var i;const r=a=>{if(a!=null&&typeof a=="object"&&!(a instanceof u)&&!(a instanceof o)){if(Jt in a&&a[Jt]===!0)return;if(Ye in a){const s=a;s.value=s[Ye]}else!(a instanceof u)&&!re(a)&&Object.values(a).forEach(s=>r(s))}};l(n.thingsToReset).forEach(r),oe.emit("reset",n),(i=n.onReset)==null||i.call(n)},L(n,"thingsToReset"),n})}const St={};oe.on("removeLayer",e=>{var t;(t=St[e.id])==null||t.call(St),St[e.id]=void 0});const gl=q({__name:"Sticky",setup(e){const t=x("0"),n=new ResizeObserver(i),r=_e(null);function i(){let a=r.value;if(a==null)return;let s=0;for(;a.previousSibling;){const c=a.previousSibling;c.dataset&&"vSticky"in c.dataset&&(s+=c.offsetHeight),a=c}t.value=s+"px"}return Ke(i),document.fonts.ready.then(i),yt(()=>{var s;const a=(s=r.value)==null?void 0:s.parentElement;a&&n.observe(a)}),(a,s)=>(h(),N("div",{class:"sticky",style:me({top:t.value}),ref_key:"element",ref:r,"data-v-sticky":""},[Re(a.$slots,"default",{},void 0,!0)],4))}});var ml=H(gl,[["__scopeId","data-v-cccac690"]]);const hl=q({__name:"Resource",props:{resource:null,color:null},setup(e){const t=e,n=E(()=>Pt(t.resource));return(r,i)=>(h(),N("h2",{style:me({color:e.color,"text-shadow":"0px 0px 10px "+e.color})},V(l(n)),5))}});const pl={class:"main-display"},vl={key:0},bl={key:1},yl=q({__name:"MainDisplay",props:{resource:null,color:null,classes:null,style:null,effectDisplay:null},setup(e){const n=de(e),r=x(null),i=lt(n.effectDisplay),a=E(()=>u.lt(n.resource.value,"1e1000"));return(s,c)=>(h(),R(ml,null,{default:O(()=>{var d,f,b,v;return[g("div",{class:te(["main-display-container",(d=e.classes)!=null?d:{}]),style:me([{height:`${((b=(f=r.value)==null?void 0:f.$el.clientHeight)!=null?b:0)+50}px`},(v=e.style)!=null?v:{}])},[g("div",pl,[l(a)?(h(),N("span",vl,"You have ")):$("",!0),y(hl,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),T(" "+V(e.resource.displayName),1),l(i)?(h(),N("span",bl,[T(", "),(h(),R(se(l(i)),{ref_key:"effectRef",ref:r},null,512))])):$("",!0)])],6)]}),_:1}))}});function _l(e,t){return L(t,"display"),L(t,"classes"),L(t,"style"),L(t,"direction"),ce(t,"direction",K.Up),L(t,"xoffset"),L(t,"yoffset"),t.pinnable&&(t.pinned=_t(!1,!1)),Ke(()=>{const n=e[Be];e[Be]=Q;const r=e[Ue].bind(e);e[Ue]=function(){const{display:a,classes:s,style:c,direction:d,xoffset:f,yoffset:b,pinned:v}=this;return{element:{[Be]:n,[Ue]:r},display:a,classes:s,style:l(c),direction:d,xoffset:f,yoffset:b,pinned:v}}.bind(t)}),t}var wl=q({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:Qe,MarkNode:Hn},setup(e){const{display:t,onClick:n,onHold:r}=de(e),i=_e("");Ae(()=>{var b;const c=we(t);if(c==null){i.value="";return}if(At(c)){i.value=ue(c);return}const d=ue((b=c.title)!=null?b:"","h3"),f=ue(c.description,"div");i.value=ue(ee(()=>y("span",null,[c.title!=null?y("div",null,[y(d,null,null)]):null,y(f,null,null)])))});const{start:a,stop:s}=Un(n,r);return{start:a,stop:s,comp:i,Visibility:at,isVisible:On,isHidden:Vn,unref:l}}});function Nl(e,t,n,r,i,a){var d;const s=ze("MarkNode"),c=ze("Node");return e.isVisible(e.visibility)?(h(),N("button",{key:0,style:me([{visibility:e.isHidden(e.visibility)?"hidden":void 0},(d=e.unref(e.style))!=null?d:[]]),onClick:t[0]||(t[0]=(...f)=>e.onClick&&e.onClick(...f)),onMousedown:t[1]||(t[1]=(...f)=>e.start&&e.start(...f)),onMouseleave:t[2]||(t[2]=(...f)=>e.stop&&e.stop(...f)),onMouseup:t[3]||(t[3]=(...f)=>e.stop&&e.stop(...f)),onTouchstartPassive:t[4]||(t[4]=(...f)=>e.start&&e.start(...f)),onTouchendPassive:t[5]||(t[5]=(...f)=>e.stop&&e.stop(...f)),onTouchcancelPassive:t[6]||(t[6]=(...f)=>e.stop&&e.stop(...f)),class:te({feature:!0,clickable:!0,can:e.unref(e.canClick),locked:!e.unref(e.canClick),small:e.small,...e.unref(e.classes)})},[e.unref(e.comp)?(h(),R(se(e.unref(e.comp)),{key:0})):$("",!0),y(s,{mark:e.unref(e.mark)},null,8,["mark"]),y(c,{id:e.id},null,8,["id"])],38)):$("",!0)}var Cl=H(wl,[["render",Nl],["__scopeId","data-v-211328c0"]]);const kl=Symbol("Clickable");function Sl(e,...t){const n=t.reduce((r,i)=>{var a;return Object.assign(r,(a=i.getPersistentData)==null?void 0:a.call(i))},{});return Ze(r=>{var s,c,d;const i=(s=e==null?void 0:e.call(r,r))!=null?s:{};i.id=Dt("clickable-"),i.type=kl,i[Be]=Cl;for(const f of t)(c=f.preConstruct)==null||c.call(f,i);if(Object.assign(i,n),L(i,"visibility"),ce(i,"visibility",at.Visible),L(i,"canClick"),ce(i,"canClick",!0),L(i,"classes"),L(i,"style"),L(i,"mark"),L(i,"display"),i.onClick){const f=i.onClick.bind(i);i.onClick=function(b){l(i.canClick)!==!1&&f(b)}}if(i.onHold){const f=i.onHold.bind(i);i.onHold=function(){l(i.canClick)!==!1&&f()}}for(const f of t)(d=f.postConstruct)==null||d.call(f,i);const a=t.reduce((f,b)=>{var v;return Object.assign(f,(v=b.getGatheredProps)==null?void 0:v.call(b,i))},{});return i[Ue]=function(){const{display:f,visibility:b,style:v,classes:w,onClick:k,onHold:_,canClick:S,small:P,mark:I,id:M}=this;return{display:f,visibility:b,style:l(v),classes:w,onClick:k,onHold:_,canClick:S,small:P,mark:I,id:M,...a}},i})}function Il(e){return Sl(t=>{const n=e.call(t,t);L(n,"showNextAt"),ce(n,"showNextAt",!0),ce(n,"minimumGain",1),n.resetDescription==null?n.resetDescription=E(()=>u.lt(n.conversion.gainResource.value,1e3)?"Reset for ":""):L(n,"resetDescription"),n.display==null&&(n.display=ee(()=>y("span",null,[l(n.resetDescription),y("b",null,[Pt(n.conversion.gainResource,u.max(l(n.conversion.actualGain),l(n.minimumGain)))])," ",n.conversion.gainResource.displayName,l(n.showNextAt)!=null?y("div",null,[y("br",null,null),l(n.conversion.buyMax)?"Next:":"Req:"," ",Pt(n.conversion.baseResource,!l(n.conversion.buyMax)&&u.gte(l(n.conversion.actualGain),1)?l(n.conversion.currentAt):l(n.conversion.nextAt))," ",n.conversion.baseResource.displayName]):null]))),n.canClick==null&&(n.canClick=E(()=>u.gte(l(n.conversion.actualGain),l(n.minimumGain))));const r=n.onClick;return n.onClick=function(i){l(n.canClick)!==!1&&(n.conversion.convert(),n.tree.reset(n.treeNode),n.resetTime&&(n.resetTime.value=n.resetTime[Ye]),r==null||r(i))},n})}function $l(e){return Qo(t=>{const n=e.call(t,t);return ce(n,"display",En(n.layerID)),L(n,"append"),{...n,onClick:l(n.append)?function(){if(F.tabs.includes(n.layerID)){const r=F.tabs.lastIndexOf(n.layerID);F.tabs.splice(r,1)}else F.tabs.push(n.layerID)}:function(){F.tabs.splice(1,1,n.layerID)}}})}const wn="p",Ft=sn(wn,function(){const e="Prestige",t="#4BDC13",n=Gn(0,"prestige points"),r=il(()=>({formula:f=>f.div(10).sqrt(),baseResource:Et.points,gainResource:n})),i=fl(()=>({thingsToReset:()=>[Ft]})),a=$l(()=>({layerID:wn,color:t,reset:i})),s=_l(a,{display:nl(n),pinnable:!0}),c=Il(()=>({conversion:r,tree:Et.tree,treeNode:a})),d=cl(()=>({description:"Reset for prestige points",key:"p",onPress:c.onClick}));return{name:e,color:t,points:n,tooltip:s,display:ee(()=>y(W,null,[y(yl,{resource:n,color:t},null),wt(c)])),treeNode:a,hotkey:d}}),Et=sn("main",function(){const e=Gn(10),t=Fo(e),n=Eo(e),r=E(()=>new u(1));oe.on("update",s=>{e.value=u.add(e.value,u.times(r.value,s))});const i=Lo(e,r),a=el(()=>({nodes:[[Ft.treeNode]],branches:[],onReset(){e.value=gn(this.resettingNode.value)===gn(Ft.treeNode)?0:10,t.value=e.value,n.value=e.value},resetPropagation:tl}));return{name:"Tree",links:a.links,display:ee(()=>y(W,null,[F.devSpeed===0?y("div",null,[T("Game Paused"),y(Qe,{id:"paused"},null)]):null,F.devSpeed!=null&&F.devSpeed!==0&&F.devSpeed!==1?y("div",null,[T("Dev Speed: "),Ne(F.devSpeed),T("x"),y(Qe,{id:"devspeed"},null)]):null,F.offlineTime!=null&&F.offlineTime!==0?y("div",null,[T("Offline Time: "),Lt(F.offlineTime),y(Qe,{id:"offline"},null)]):null,y("div",null,[u.lt(e.value,"1e1000")?y("span",null,[T("You have ")]):null,y("h2",null,[Ne(e.value)]),u.lt(e.value,"1e1e6")?y("span",null,[T(" points")]):null]),u.gt(r.value,0)?y("div",null,[T("("),i.value,T(")"),y(Qe,{id:"oomps"},null)]):null,y(Po,null,null),wt(a)])),points:e,best:t,total:n,oomps:i,tree:a}}),Ml=e=>[Et,Ft],un=E(()=>!1);function xl(e,t){}var Tl=Object.freeze(Object.defineProperty({__proto__:null,main:Et,getInitialLayers:Ml,hasWon:un,fixOldSave:xl},Symbol.toStringTag,{value:"Module"}));const Pl={class:"field"},Fl=q({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=E(()=>{var a;return ue((a=l(n.title))!=null?a:"","span")}),i=E({get(){return!!n.modelValue},set(a){t("update:modelValue",a)}});return(a,s)=>(h(),N("label",Pl,[Yt(g("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":s[0]||(s[0]=c=>re(i)?i.value=c:null)},null,512),[[nr,l(i)]]),(h(),R(se(l(r))))]))}});var Me=H(Fl,[["__scopeId","data-v-11046116"]]);const Nt=e=>(Ce("data-v-06de52e9"),e=e(),ke(),e),El={class:"game-over-modal-header"},Ol=["src","alt"],Vl={class:"game-over-modal-title"},Ll=Nt(()=>g("h2",null,"Congratulations!",-1)),Dl={key:0},Rl=Nt(()=>g("br",null,null,-1)),Al=Nt(()=>g("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),ql=Nt(()=>g("br",null,null,-1)),Bl=["href"],Ul=Nt(()=>g("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),zl=q({__name:"GameOverScreen",setup(e){const{title:t,logo:n,discordName:r,discordLink:i,versionNumber:a,versionTitle:s}=U,c=E(()=>Lt(F.timePlayed)),d=E(()=>un.value&&!F.keepGoing),f=Fe(F,"autosave");function b(){F.keepGoing=!0}function v(){Te(et())}return(w,k)=>(h(),R(Ee,{"model-value":l(d)},{header:O(()=>[g("div",El,[l(n)?(h(),N("img",{key:0,class:"game-over-modal-logo",src:l(n),alt:l(t)},null,8,Ol)):$("",!0),g("div",Vl,[Ll,g("h4",null,"You've beaten "+V(l(t))+" v"+V(l(a))+": "+V(l(s)),1)])])]),body:O(({shown:_})=>[_?(h(),N("div",Dl,[g("div",null,"It took you "+V(l(c))+" to beat the game.",1),Rl,Al,ql,g("div",null,[g("a",{href:l(i),class:"game-over-modal-discord-link"},[Ul,T(" "+V(l(r)),1)],8,Bl)]),y(Me,{title:"Autosave",modelValue:l(f),"onUpdate:modelValue":k[0]||(k[0]=S=>re(f)?f.value=S:null)},null,8,["modelValue"])])):$("",!0)]),footer:O(()=>[g("div",{class:"game-over-footer"},[g("button",{onClick:b,class:"button"},"Keep Going"),g("button",{onClick:v,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var Gl=H(zl,[["__scopeId","data-v-06de52e9"]]);const Hl={class:"field"},jl={key:0,class:"field-title"},Wn=q({__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,r=lt(Fe(n,"title"),"span"),i=x((s=n.options.find(c=>c.value===n.modelValue))!=null?s:null);he(Fe(n,"modelValue"),c=>{var d;we(i)!==c&&(i.value=(d=n.options.find(f=>f.value===c))!=null?d:null)});function a(c){t("update:modelValue",c.value)}return(c,d)=>(h(),N("div",Hl,[l(r)?(h(),N("span",jl,[(h(),R(se(l(r))))])):$("",!0),y(l(lr),{options:e.options,modelValue:i.value,"onUpdate:modelValue":[d[0]||(d[0]=f=>i.value=f),a],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});const cn=e=>(Ce("data-v-a03820c0"),e=e(),ke(),e),Wl=cn(()=>g("h2",null,"Saves Manager",-1)),Jl={key:0,style:{color:"var(--danger)"}},Kl={class:"modal-footer"},Yl={class:"field"},Zl=cn(()=>g("span",{class:"field-title"},"Create Save",-1)),Xl={class:"field-buttons"},Ql={class:"footer"},eu=cn(()=>g("div",{style:{"flex-grow":"1"}},null,-1)),tu=q({__name:"SavesManager",setup(e,{expose:t}){const n=x(!1),r=x(null);t({open(){n.value=!0}});const i=x(!1),a=x(""),s=x(null);he(a,I=>{I?Ke(()=>{var M;try{if(I=(M=qe(I))!=null?M:"",I===""){console.warn("Unable to determine preset encoding",I),i.value=!0;return}const A=JSON.parse(I);if(typeof A!="object"){i.value=!0;return}const ie=ft();A.id=ie,ae(A),a.value="",i.value=!1,G.saves.push(ie)}catch{i.value=!0}}):i.value=!1});let c={},d=x(Object.keys(c).reduce((I,M)=>(I.push({label:M.split("/").slice(-1)[0].slice(0,-4),value:c[M]}),I),[]));he(n,I=>{I&&ri()});const f=E(()=>G.saves.reduce((I,M)=>(I[M]=ni(M),I),{})),b=E(()=>{var I;return((I=ge.value)==null?void 0:I.loggedIn)===!0&&G.saves.length{var fe;const ie=Object.keys(A).find(Bt=>{const Ut=A[Bt].content;try{if(JSON.parse(Ut).id===I)return!0}catch{return!1}});ie!=null&&((fe=ge.value)==null||fe.save(parseInt(ie),"","").catch(console.error))}),G.saves=G.saves.filter(A=>A!==I),localStorage.removeItem(I),kt(I)}function _(I){f.value[F.id].time=F.time,ae(),kt(F.id),Te(f.value[I]),kt(I)}function S(I){var A;if(s.value=I,Ke(()=>{s.value=null}),I=(A=qe(I))!=null?A:"",I===""){console.warn("Unable to determine preset encoding",I);return}const M=JSON.parse(I);M.id=ft(),ae(M),G.saves.push(M.id),_(M.id)}function P(I,M){const A=f.value[I];A!=null&&(A.name=M,F.id===I?(F.name=M,ae()):(ae(A),kt(I)))}return(I,M)=>(h(),R(Ee,{modelValue:n.value,"onUpdate:modelValue":M[4]||(M[4]=A=>n.value=A),ref_key:"modal",ref:r},{header:O(()=>[Wl]),body:O(({shown:A})=>[l(b)?(h(),N("div",Jl," Not all saves are synced! You may need to delete stale saves. ")):$("",!0),A?(h(),R(l(or),{key:1,list:l(G).saves,handle:".handle",itemKey:ie=>ie},{item:O(({element:ie})=>[y(Kt,{save:l(f)[ie],onOpen:fe=>_(ie),onExport:fe=>v(ie),onEditName:fe=>P(ie,fe),onDuplicate:fe=>w(ie),onDelete:fe=>k(ie)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):$("",!0)]),footer:O(()=>[g("div",Kl,[y(zn,{modelValue:a.value,"onUpdate:modelValue":M[0]||(M[0]=A=>a.value=A),title:"Import Save",placeholder:"Paste your save here!",class:te({importingFailed:i.value})},null,8,["modelValue","class"]),g("div",Yl,[Zl,g("div",Xl,[g("button",{class:"button",onClick:M[1]||(M[1]=A=>_(l(et)().id))},"New Game"),Object.keys(l(d)).length>0?(h(),R(Wn,{key:0,options:l(d),modelValue:s.value,"onUpdate:modelValue":M[2]||(M[2]=A=>S(A)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):$("",!0)])]),g("div",Ql,[eu,g("button",{class:"button modal-default-button",onClick:M[3]||(M[3]=A=>n.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var Jn=H(tu,[["__scopeId","data-v-a03820c0"]]);const qt=e=>(Ce("data-v-10d75940"),e=e(),ke(),e),nu=qt(()=>g("div",{class:"nan-modal-header"},[g("h2",null,"NaN value detected!")],-1)),ru={key:0},iu=qt(()=>g("br",null,null,-1)),au=["href"],su=qt(()=>g("span",{class:"material-icons nan-modal-discord"},"discord",-1)),ou=qt(()=>g("br",null,null,-1)),lu={class:"nan-footer"},uu=q({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:n}=U,r=x(!0),i=x(!0),a=Fe(j,"hasNaN"),s=x(null);he(a,w=>{w?(r.value=F.autosave,i.value=F.devSpeed===0):(F.autosave=r.value,F.devSpeed=i.value?0:null)});const c=E(()=>{var w;return(w=j.NaNPath)==null?void 0:w.join(".")}),d=E(()=>j.NaNPersistent!=null?j.NaNPersistent.value:null);function f(){j.NaNPersistent!=null&&(j.NaNPersistent.value=new u(0),j.hasNaN=!1)}function b(){j.NaNPersistent&&(j.NaNPersistent.value=new u(1),j.hasNaN=!1)}function v(){j.NaNPersistent&&(j.NaNPersistent.value=new u(NaN),j.hasNaN=!1)}return(w,k)=>(h(),N(W,null,[y(Ee,Pe({modelValue:l(a),"onUpdate:modelValue":k[4]||(k[4]=_=>re(a)?a.value=_:null)},w.$attrs),{header:O(()=>[nu]),body:O(()=>[g("div",null,[T(' Attempted to assign "'+V(l(c))+'" to NaN',1),l(d)?(h(),N("span",ru,V(" ")+"(previously "+V(l(Ne)(l(d)))+")",1)):$("",!0),T(". Auto-saving has been "+V(r.value?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),iu,g("div",null,[g("a",{href:l(n)||"https://discord.gg/yJ4fjnjU54",class:"nan-modal-discord-link"},[su,T(" "+V(l(t)||"Profectus & Friends"),1)],8,au)]),ou,y(Me,{title:"Autosave",modelValue:r.value,"onUpdate:modelValue":k[0]||(k[0]=_=>r.value=_)},null,8,["modelValue"]),l(U).enablePausing?(h(),R(Me,{key:0,title:"Pause game",modelValue:i.value,"onUpdate:modelValue":k[1]||(k[1]=_=>i.value=_)},null,8,["modelValue"])):$("",!0)]),footer:O(()=>[g("div",lu,[g("button",{onClick:k[2]||(k[2]=_=>{var S;return(S=s.value)==null?void 0:S.open()}),class:"button"},"Open Saves Manager"),g("button",{onClick:f,class:"button"},"Set to 0"),g("button",{onClick:b,class:"button"},"Set to 1"),l(d)&&l(u).neq(l(d),0)&&l(u).neq(l(d),1)?(h(),N("button",{key:0,onClick:k[3]||(k[3]=_=>a.value=!1),class:"button"}," Set to previous ")):$("",!0),g("button",{onClick:v,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),y(Jn,{ref_key:"savesManager",ref:s},null,512)],64))}});var cu=H(uu,[["__scopeId","data-v-10d75940"]]);const du=q({components:{Context:qn,ErrorVue:Sn},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:r,minimizedDisplay:i}=de(e),a=Os(t),s=lt(i),c=E(()=>U.allowGoBack&&n.value>0&&!we(r));function d(){F.tabs.splice(l(e.index),1/0)}function f(v){e.nodes.value=v}const b=x([]);return rr((v,w,k)=>(console.warn(`Error caught in "${e.name}" layer`,v,w,k),b.value.push(v instanceof Error?v:new Error(JSON.stringify(v))),!1)),{component:a,minimizedComponent:s,showGoBack:c,updateNodes:f,unref:l,goBack:d,errors:b}}}),fu={key:1};function gu(e,t,n,r,i,a){const s=ze("ErrorVue"),c=ze("Context");return e.errors.length>0?(h(),R(s,{key:0,errors:e.errors},null,8,["errors"])):(h(),N("div",Pe({key:1,class:"layer-container",style:{"--layer-color":e.unref(e.color)}},e.$attrs),[e.showGoBack?(h(),N("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...d)=>e.goBack&&e.goBack(...d))},"\u274C")):$("",!0),e.unref(e.minimized)?(h(),N("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=d=>e.$emit("setMinimized",!1))},[e.minimizedComponent?(h(),R(se(e.minimizedComponent),{key:0})):(h(),N("div",fu,V(e.unref(e.name)),1))])):(h(),N("div",{key:2,class:te(["layer-tab",{showGoBack:e.showGoBack}])},[y(c,{onUpdateNodes:e.updateNodes},{default:O(()=>[(h(),R(se(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(h(),N("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=d=>e.$emit("setMinimized",!0))}," \u25BC ")):$("",!0)],16))}var mu=H(du,[["render",gu],["__scopeId","data-v-a9f5b1da"]]);const Kn=e=>(Ce("data-v-45b73486"),e=e(),ke(),e),hu=Kn(()=>g("h2",null,"Changelog",-1)),pu=Kn(()=>g("details",{open:""},[g("summary",null,[T("v0.0 Initial Commit - "),g("time",null,"2021-09-04")]),T(" This is the first release :D "),g("ul",null,[g("li",{class:"feature"},"Did everything"),g("li",{class:"fix"},"Had some fun"),g("li",{class:"breaking"},"Removed everything"),g("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),vu=q({__name:"Changelog",setup(e,{expose:t}){const n=x(!1);return t({open(){n.value=!0}}),(r,i)=>(h(),R(Ee,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=a=>n.value=a)},{header:O(()=>[hu]),body:O(()=>[pu]),_:1},8,["modelValue"]))}});var bu=H(vu,[["__scopeId","data-v-45b73486"]]);const Xe=e=>(Ce("data-v-3e5d5ff9"),e=e(),ke(),e),yu={class:"info-modal-header"},_u=["src","alt"],wu={class:"info-modal-title"},Nu={key:0},Cu={key:0},ku={key:0},Su=Xe(()=>g("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1)),Iu=Xe(()=>g("br",null,null,-1)),$u=Xe(()=>g("br",null,null,-1)),Mu=["href"],xu=Xe(()=>g("span",{class:"material-icons info-modal-discord"},"discord",-1)),Tu=Xe(()=>g("div",null,[g("a",{href:"https://discord.gg/yJ4fjnjU54",class:"info-modal-discord-link",target:"_blank"},[g("span",{class:"material-icons info-modal-discord"},"discord"),T(" Profectus & Friends ")])],-1)),Pu=Xe(()=>g("div",null,[g("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link",target:"_blank"},[g("span",{class:"material-icons info-modal-discord"},"discord"),T(" The Modding Tree ")])],-1)),Fu=Xe(()=>g("br",null,null,-1));var Eu=q({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const n=e,{title:r,logo:i,author:a,discordName:s,discordLink:c,versionNumber:d,versionTitle:f}=U,b=de(n),v=x(!1),w=E(()=>Lt(F.timePlayed)),k=E(()=>ue(ee(()=>y(W,null,[In.map(wt)]))));t({open(){v.value=!0}});function _(){var S;(S=l(b.changelog))==null||S.open()}return(S,P)=>(h(),R(Ee,{modelValue:v.value,"onUpdate:modelValue":P[0]||(P[0]=I=>v.value=I)},{header:O(()=>[g("div",yu,[l(i)?(h(),N("img",{key:0,class:"info-modal-logo",src:l(i),alt:l(r)},null,8,_u)):$("",!0),g("div",wu,[g("h2",null,V(l(r)),1),g("h4",null,[T(" v"+V(l(d)),1),l(f)?(h(),N("span",Nu,": "+V(l(f)),1)):$("",!0)])])])]),body:O(({shown:I})=>[I?(h(),N("div",Cu,[l(a)?(h(),N("div",ku,"By "+V(l(a)),1)):$("",!0),Su,Iu,g("div",{class:"link",onClick:_},"Changelog"),$u,g("div",null,[l(c)?(h(),N("a",{key:0,href:l(c),class:"info-modal-discord-link",target:"_blank"},[xu,T(" "+V(l(s)),1)],8,Mu)):$("",!0)]),Tu,Pu,Fu,g("div",null,"Time Played: "+V(l(w)),1),(h(),R(se(l(k))))])):$("",!0)]),_:1},8,["modelValue"]))}});var Ou=H(Eu,[["__scopeId","data-v-3e5d5ff9"]]);const Vu={class:"header"},Lu=g("h2",null,"Settings",-1),Du={class:"option-tabs"},Ru={key:0},Au={key:1};var qu=q({__name:"Options",setup(e,{expose:t}){const n=x(!1),r=x("behaviour");function i(Ie){return Ie==r.value}function a(Ie){r.value=Ie}t({isTab:i,setTab:a,save:ae,open(){n.value=!0}});const s=Object.keys(Qt).map(Ie=>({label:En(Ie),value:Ie})),c=E(()=>ue(ee(()=>y(W,null,[si.map(wt)])))),{showTPS:d,theme:f,unthrottled:b,alignUnits:v,showHealthWarning:w}=de(G),{autosave:k,offlineProd:_}=de(F),S=E({get(){return F.devSpeed===0},set(Ie){F.devSpeed=Ie?0:null}}),P=ee(()=>y("span",{class:"option-title"},[T("Unthrottled"),y("desc",null,[T("Allow the game to run as fast as possible. Not battery friendly.")])])),I=ee(()=>y("span",{class:"option-title"},[T("Offline production"),y(Q,{display:"Save-specific",direction:K.Right},{default:()=>[T("*")]}),y("desc",null,[T("Simulate production that occurs while the game is closed.")])])),M=ee(()=>y("span",{class:"option-title"},[T("Show videogame addiction warning"),y("desc",null,[T("Show a helpful warning after playing for a long time about video game addiction and encouraging you to take a break.")])])),A=ee(()=>y("span",{class:"option-title"},[T("Autosave"),y(Q,{display:"Save-specific",direction:K.Right},{default:()=>[T("*")]}),y("desc",null,[T("Automatically save the game every second or when the game is closed.")])])),ie=ee(()=>y("span",{class:"option-title"},[T("Pause game"),y(Q,{display:"Save-specific",direction:K.Right},{default:()=>[T("*")]}),y("desc",null,[T("Stop everything from moving.")])])),fe=ee(()=>y("span",{class:"option-title"},[T("Theme"),y("desc",null,[T("How the game looks.")])])),Bt=ee(()=>y("span",{class:"option-title"},[T("Show TPS"),y("desc",null,[T("Show TPS meter at the bottom-left corner of the page.")])])),Ut=ee(()=>y("span",{class:"option-title"},[T("Align modifier units"),y("desc",null,[T("Align numbers to the beginning of the unit in modifier view.")])]));return(Ie,J)=>(h(),R(Ee,{modelValue:n.value,"onUpdate:modelValue":J[11]||(J[11]=ne=>n.value=ne)},{header:O(()=>[g("div",Vu,[Lu,g("div",Du,[g("button",{class:te({selected:i("behaviour")}),onClick:J[0]||(J[0]=ne=>a("behaviour"))},"Behaviour",2),g("button",{class:te({selected:i("appearance")}),onClick:J[1]||(J[1]=ne=>a("appearance"))},"Appearance",2)])])]),body:O(()=>[i("behaviour")?(h(),N("div",Ru,[y(Me,{title:l(P),modelValue:l(b),"onUpdate:modelValue":J[2]||(J[2]=ne=>re(b)?b.value=ne:null)},null,8,["title","modelValue"]),l(U).enablePausing?(h(),R(Me,{key:0,title:l(ie),modelValue:l(S),"onUpdate:modelValue":J[3]||(J[3]=ne=>re(S)?S.value=ne:null)},null,8,["title","modelValue"])):$("",!0),y(Me,{title:l(I),modelValue:l(_),"onUpdate:modelValue":J[4]||(J[4]=ne=>re(_)?_.value=ne:null)},null,8,["title","modelValue"]),l(U).disableHealthWarning?$("",!0):(h(),R(Me,{key:1,title:l(M),modelValue:l(w),"onUpdate:modelValue":J[5]||(J[5]=ne=>re(w)?w.value=ne:null)},null,8,["title","modelValue"])),y(Me,{title:l(A),modelValue:l(k),"onUpdate:modelValue":J[6]||(J[6]=ne=>re(k)?k.value=ne:null)},null,8,["title","modelValue"]),l(k)?$("",!0):(h(),R(Zt,{key:2,class:"button save-button",onClick:J[7]||(J[7]=ne=>l(ae)())},{default:O(()=>[T("Manually save")]),_:1}))])):$("",!0),i("appearance")?(h(),N("div",Au,[y(Wn,{title:l(fe),options:l(s),modelValue:l(f),"onUpdate:modelValue":J[8]||(J[8]=ne=>re(f)?f.value=ne:null)},null,8,["title","options","modelValue"]),(h(),R(se(l(c)))),y(Me,{title:l(Bt),modelValue:l(d),"onUpdate:modelValue":J[9]||(J[9]=ne=>re(d)?d.value=ne:null)},null,8,["title","modelValue"]),y(Me,{title:l(Ut),modelValue:l(v),"onUpdate:modelValue":J[10]||(J[10]=ne=>re(v)?v.value=ne:null)},null,8,["title","modelValue"])])):$("",!0)]),_:1},8,["modelValue"]))}});const Se=e=>(Ce("data-v-fae09efc"),e=e(),ke(),e),Bu=["src","alt"],Uu={key:1,class:"title"},zu=Se(()=>g("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),Gu={class:"discord"},Hu={class:"discord-links"},ju={key:0},Wu=["href"],Ju=Se(()=>g("li",null,[g("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"Profectus & Friends")],-1)),Ku=Se(()=>g("li",null,[g("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),Yu={href:"https://forums.moddingtree.com/",target:"_blank"},Zu=Se(()=>g("span",{class:"material-icons"},"forum",-1)),Xu=Se(()=>g("span",{class:"material-icons"},"info",-1)),Qu=Se(()=>g("span",{class:"material-icons"},"settings",-1)),ec=Se(()=>g("span",{class:"material-icons"},"settings",-1)),tc=Se(()=>g("span",{class:"material-icons"},"info",-1)),nc={href:"https://forums.moddingtree.com/",target:"_blank"},rc=Se(()=>g("span",{class:"material-icons"},"forum",-1)),ic={class:"discord"},ac={class:"discord-links"},sc={key:0},oc=["href"],lc=Se(()=>g("li",null,[g("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"Profectus & Friends")],-1)),uc=Se(()=>g("li",null,[g("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),cc=q({__name:"Nav",setup(e){const t=x(null),n=x(null),r=x(null),i=x(null),{useHeader:a,banner:s,title:c,discordName:d,discordLink:f,versionNumber:b}=U;function v(){window.open(f,"mywindow")}const w=E(()=>{var k;return((k=ge.value)==null?void 0:k.loggedIn)===!0&&!ot.value.includes(G.active)});return(k,_)=>(h(),N(W,null,[l(a)?(h(),N("div",Pe({key:0,class:"nav"},k.$attrs),[l(s)?(h(),N("img",{key:0,src:l(s),class:"banner",alt:l(c)},null,8,Bu)):(h(),N("div",Uu,V(l(c)),1)),g("div",{onClick:_[0]||(_[0]=S=>{var P;return(P=i.value)==null?void 0:P.open()}),class:"version-container"},[y(Q,{display:"Changelog",direction:l(K).Down,class:"version"},{default:O(()=>[g("span",null,"v"+V(l(b)),1)]),_:1},8,["direction"])]),zu,g("div",Gu,[g("span",{onClick:v,class:"material-icons"},"discord"),g("ul",Hu,[l(f)?(h(),N("li",ju,[g("a",{href:l(f),target:"_blank"},V(l(d)),9,Wu)])):$("",!0),Ju,Ku])]),g("div",null,[g("a",Yu,[y(Q,{display:"Forums",direction:l(K).Down,yoffset:"5px"},{default:O(()=>[Zu]),_:1},8,["direction"])])]),g("div",{onClick:_[1]||(_[1]=S=>{var P;return(P=t.value)==null?void 0:P.open()})},[y(Q,{display:"Info",direction:l(K).Down,class:"info"},{default:O(()=>[Xu]),_:1},8,["direction"])]),g("div",{onClick:_[2]||(_[2]=S=>{var P;return(P=n.value)==null?void 0:P.open()})},[y(Q,{display:"Saves",direction:l(K).Down,xoffset:"-20px"},{default:O(()=>[g("span",{class:te(["material-icons",{needsSync:l(w)}])},"library_books",2)]),_:1},8,["direction"])]),g("div",{onClick:_[3]||(_[3]=S=>{var P;return(P=r.value)==null?void 0:P.open()})},[y(Q,{display:"Settings",direction:l(K).Down,xoffset:"-66px"},{default:O(()=>[Qu]),_:1},8,["direction"])])],16)):(h(),N("div",Pe({key:1,class:"overlay-nav"},k.$attrs),[g("div",{onClick:_[4]||(_[4]=S=>{var P;return(P=i.value)==null?void 0:P.open()}),class:"version-container"},[y(Q,{display:"Changelog",direction:l(K).Right,xoffset:"25%",class:"version"},{default:O(()=>[g("span",null,"v"+V(l(b)),1)]),_:1},8,["direction"])]),g("div",{onClick:_[5]||(_[5]=S=>{var P;return(P=n.value)==null?void 0:P.open()})},[y(Q,{display:"Saves",direction:l(K).Right},{default:O(()=>[g("span",{class:te(["material-icons",{needsSync:l(w)}])},"library_books",2)]),_:1},8,["direction"])]),g("div",{onClick:_[6]||(_[6]=S=>{var P;return(P=r.value)==null?void 0:P.open()})},[y(Q,{display:"Settings",direction:l(K).Right},{default:O(()=>[ec]),_:1},8,["direction"])]),g("div",{onClick:_[7]||(_[7]=S=>{var P;return(P=t.value)==null?void 0:P.open()})},[y(Q,{display:"Info",direction:l(K).Right},{default:O(()=>[tc]),_:1},8,["direction"])]),g("div",null,[g("a",nc,[y(Q,{display:"Forums",direction:l(K).Right,xoffset:"7px"},{default:O(()=>[rc]),_:1},8,["direction"])])]),g("div",ic,[g("span",{onClick:v,class:"material-icons"},"discord"),g("ul",ac,[l(f)?(h(),N("li",sc,[g("a",{href:l(f),target:"_blank"},V(l(d)),9,oc)])):$("",!0),lc,uc])])],16)),y(Ou,{ref_key:"info",ref:t,changelog:i.value},null,8,["changelog"]),y(Jn,{ref_key:"savesManager",ref:n},null,512),y(qu,{ref_key:"options",ref:r},null,512),y(bu,{ref_key:"changelog",ref:i},null,512)],64))}});var Yn=H(cc,[["__scopeId","data-v-fae09efc"]]);const dc={class:"inner-tab"},fc=q({__name:"Game",setup(e){const t=Fe(F,"tabs"),n=E(()=>Object.keys(le)),r=U.useHeader;function i(a){const{display:s,minimized:c,name:d,color:f,minimizable:b,nodes:v,minimizedDisplay:w}=a;return{display:s,minimized:c,name:d,color:f,minimizable:b,nodes:v,minimizedDisplay:w}}return(a,s)=>(h(),N("div",{class:te(["tabs-container",{useHeader:l(r)}])},[(h(!0),N(W,null,Le(l(t),(c,d)=>{var f,b;return h(),N("div",{key:d,class:te(["tab",l((f=l(le)[c])==null?void 0:f.classes)]),style:me(l((b=l(le)[c])==null?void 0:b.style))},[d===0&&!l(r)?(h(),R(Yn,{key:0})):$("",!0),g("div",dc,[l(n).includes(c)?(h(),R(mu,Pe({key:0},i(l(le)[c]),{index:d,onSetMinimized:v=>l(le)[c].minimized.value=v}),null,16,["index","onSetMinimized"])):(h(),R(se(c),{key:1,index:d},null,8,["index"]))])],6)}),128))],2))}});var gc=H(fc,[["__scopeId","data-v-dcd207b4"]]);const mc={key:0,class:"tpsDisplay"},hc=q({__name:"TPS",setup(e){const t=E(()=>u.div(j.lastTenTicks.length,j.lastTenTicks.reduce((n,r)=>n+r,0)));return(n,r)=>l(t).isNan()?$("",!0):(h(),N("div",mc,"TPS: "+V(l(pt)(l(t))),1))}});var pc=H(hc,[["__scopeId","data-v-89b89152"]]);var vc=q({__name:"App",setup(e){const t=U.useHeader,n=E(()=>Qt[G.theme].variables),r=Fe(G,"showTPS"),i=Fe(j,"errors"),a=E(()=>ue(ee(()=>y(W,null,[li.map(wt)]))));return(s,c)=>l(i).length>0?(h(),N("div",{key:0,class:"error-container",style:me(l(n))},[y(Sn,{errors:l(i)},null,8,["errors"])],4)):(h(),N(W,{key:1},[g("div",{id:"modal-root",style:me(l(n))},null,4),g("div",{class:te(["app",{useHeader:l(t)}]),style:me(l(n))},[l(t)?(h(),R(Yn,{key:0})):$("",!0),y(gc),l(l(r))?(h(),R(pc,{key:1})):$("",!0),y(Fs),y(Gl),y(cu),y(xo),(h(),R(se(l(a))))],6)],64))}});var bc=H(vc,[["__scopeId","data-v-1ba599d8"]]);oe.on("setupVue",e=>e.use(ur));function yc(e={}){const{immediate:t=!1,onNeedRefresh:n,onOfflineReady:r,onRegistered:i,onRegisteredSW:a,onRegisterError:s}=e;let c,d,f,b;const v=async(k=!0)=>{await f,k&&(c==null||c.addEventListener("controlling",_=>{_.isUpdate&&window.location.reload()})),await(b==null?void 0:b())};async function w(){if("serviceWorker"in navigator){const{Workbox:k,messageSW:_}=await mt(()=>import("./workbox-window.4a8794bb.js"),[]);b=async()=>{d&&d.waiting&&await _(d.waiting,{type:"SKIP_WAITING"})},c=new k("./sw.js",{scope:"./",type:"classic"}),c.addEventListener("activated",S=>{S.isUpdate||r==null||r()});{const S=()=>{n==null||n()};c.addEventListener("waiting",S),c.addEventListener("externalwaiting",S)}c.register({immediate:t}).then(S=>{d=S,a?a("./sw.js",S):i==null||i(S)}).catch(S=>{s==null||s(S)})}}return f=w(),v}function _c(e={}){const{immediate:t=!0,onNeedRefresh:n,onOfflineReady:r,onRegistered:i,onRegisteredSW:a,onRegisterError:s}=e,c=x(!1),d=x(!1);return{updateServiceWorker:yc({immediate:t,onNeedRefresh(){c.value=!0,n==null||n()},onOfflineReady(){d.value=!0,r==null||r()},onRegistered:i,onRegisteredSW:a,onRegisterError:s}),offlineReady:d,needRefresh:c}}const dn=console.error;console.error=function(...e){dn(...e)};window.onerror=function(e,t,n,r,i){return j.errors.push(i instanceof Error?i:new Error(JSON.stringify(i))),dn(i),!0};window.onunhandledrejection=function(e){j.errors.push(e.reason instanceof Error?e.reason:new Error(JSON.stringify(e.reason))),dn(e.reason)};document.title=U.title;window.projInfo=U;U.id===""&&console.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 ti();const{globalBus:e}=await mt(()=>Promise.resolve().then(function(){return ei}),void 0),{startGameLoop:t}=await mt(()=>import("./gameLoop.f1588f5c.js"),["assets/gameLoop.f1588f5c.js","assets/@fontsource.f66d05e7.css","assets/vue.359c6955.js","assets/lz-string.bfbf8ec3.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/unofficial-galaxy-sdk.21372393.js","assets/vue-textarea-autosize.35804eaf.js","assets/vuedraggable.055200e5.js","assets/sortablejs.20039f18.js","assets/vue-next-select.68e0c605.js","assets/vue-next-select.9e6f4164.css","assets/vue-toastification.45d39007.js","assets/vue-toastification.4b5f8ac8.css"]),n=window.vue=ir(bc);n.config.errorHandler=function(r,i,a){console.error(r,a,i)},e.emit("setupVue",n),n.mount("#app"),Ke(()=>{const r=cr(),{updateServiceWorker:i}=_c({onNeedRefresh(){r.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(){i()}})},onOfflineReady(){r.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(a){a&&setInterval(()=>a.update(),60*60*1e3)}})}),t()});export{u as D,mt as _,j as a,U as b,Tl as c,oe as g,en as l,F as p,G as s}; +Trying to pop ${n.id}`);ye.pop(),L(n,"color"),L(n,"display"),L(n,"classes"),L(n,"style"),L(n,"name"),ce(n,"name",n.id),L(n,"minWidth"),ce(n,"minWidth",600),L(n,"minimizable"),ce(n,"minimizable",!0),L(n,"minimizedDisplay");const i=n.style;return n.style=E(()=>{var s,c;let a=l(n.minWidth);return(typeof a=="number"||!Number.isNaN(parseInt(a)))&&(a=a+"px"),[(s=l(i))!=null?s:"",(c=n.minimized)!=null&&c.value?{flexGrow:"0",flexShrink:"0",width:"60px",minWidth:"",flexBasis:"",margin:"0"}:{flexGrow:"",flexShrink:"",width:"",minWidth:a,flexBasis:a,margin:""}]}),n})}function Rn(e,t){if(console.info("Adding layer",e.id),le[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,le[e.id]);return}ce(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),le[e.id]=e,oe.emit("addLayer",e,t.layers[e.id])}function ms(e){return le[e]}function An(e){console.info("Removing layer",e.id),oe.emit("removeLayer",e),le[e.id]=void 0}function hs(e){An(e),Rn(e,F)}function ps(e){const t=x(!1);return{openModal:()=>t.value=!0,modal:ee(()=>y(Ee,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},{header:()=>y("h2",null,[l(e.name)]),body:l(e.display)}))}}oe.on("update",function(t){Object.values(le).forEach(n=>{n==null||n.emit("preUpdate",t)}),Object.values(le).forEach(n=>{n==null||n.emit("update",t)}),Object.values(le).forEach(n=>{n==null||n.emit("postUpdate",t)})});var vs=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:tn,UnregisterNodeInjectionKey:nn,NodesInjectionKey:rn,BoundsInjectionKey:an,layers:le,persistentRefs:nt,addingLayers:ye,createLayer:sn,addLayer:Rn,getLayer:ms,removeLayer:An,reloadLayer:hs,setupLayerModal:ps},Symbol.toStringTag,{value:"Module"}));const bs=q({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var b;const n=x({}),r=new ResizeObserver(c),i=x(null);yt(()=>{const v=i.value;v!=null&&r.observe(v)});let a=!0,s=x((b=i.value)==null?void 0:b.getBoundingClientRect());function c(){a&&(a=!1,Ke(()=>{var v;s.value=(v=i.value)==null?void 0:v.getBoundingClientRect(),Object.values(n.value).filter(w=>w).forEach(w=>w.rect=w.element.getBoundingClientRect()),t("updateNodes",n.value),a=!0}))}oe.on("fontsLoaded",c);const d={attributes:!1,childList:!0,subtree:!1};Ct(tn,(v,w)=>{const k=new MutationObserver(()=>f(v));k.observe(w,d),n.value[v]={element:w,observer:k,rect:w.getBoundingClientRect()},c()}),Ct(nn,v=>{var w;(w=n.value[v])==null||w.observer.disconnect(),n.value[v]=void 0,c()}),Ct(rn,n),Ct(an,s);function f(v){const w=n.value[v];w!=null&&(w.rect=w.element.getBoundingClientRect(),t("updateNodes",n.value))}return(v,w)=>(h(),N(W,null,[Re(v.$slots,"default",{},void 0,!0),g("div",{ref_key:"resizeListener",ref:i,class:"resize-listener"},null,512)],64))}});var qn=H(bs,[["__scopeId","data-v-2b1dc1bc"]]);const ys=["onPointerdown"],_s={class:"modal-wrapper"},ws=["width"],Ns={class:"modal-header"},Cs={class:"modal-body"},ks={class:"modal-footer"},Ss=g("div",{class:"modal-default-flex-grow"},null,-1),Ee=q({__name:"Modal",props:{modelValue:{type:Boolean},preventClosing:{type:Boolean},width:null},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const i=de(e),a=E(()=>l(i.modelValue)||c.value);function s(){l(i.preventClosing)!==!0&&n("update:modelValue",!1)}const c=x(!1),d=x(null),f=E(()=>{var b,v;return(v=(b=d.value)==null?void 0:b.nodes)!=null?v:null});return t({isOpen:a,nodes:f}),(b,v)=>(h(),R(Qn,{to:"#modal-root"},[y(Nn,{name:"modal",onBeforeEnter:v[0]||(v[0]=w=>c.value=!0),onAfterLeave:v[1]||(v[1]=w=>c.value=!1),appear:""},{default:O(()=>[Yt(g("div",Pe({class:"modal-mask",onPointerdown:gt(s,["self"])},b.$attrs),[g("div",_s,[g("div",{class:"modal-container",width:e.width},[g("div",Ns,[Re(b.$slots,"header",{shown:l(a)},()=>[T(" default header ")])]),g("div",Cs,[y(qn,{ref_key:"contextRef",ref:d},{default:O(()=>[Re(b.$slots,"body",{shown:l(a)},()=>[T(" default body ")])]),_:3},512)]),g("div",ks,[Re(b.$slots,"footer",{shown:l(a)},()=>[g("div",{class:"modal-default-footer"},[Ss,g("button",{class:"button modal-default-button",onClick:s}," Close ")])])])],8,ws)])],16,ys),[[Xn,e.modelValue]])]),_:3})]))}});const Rt=e=>(Ce("data-v-3da88bf8"),e=e(),ke(),e),Is=Rt(()=>g("div",{class:"vga-modal-header"},[g("h2",null,"Kindly consider taking a break.")],-1)),$s=Rt(()=>g("p",null," You've been actively enjoying this game for awhile recently - and it's great that you've been having a good time! That said, there are dangers to games like these that you should be aware of: ",-1)),Ms=Rt(()=>g("p",null," While incremental games can be fun and even healthy in certain contexts, they can exacerbate video game addiction even more than other genres. If you feel like playing incremental games is taking priority over other things in your life, or manipulating your sleep schedule, it may be prudent to seek help. ",-1)),xs=Rt(()=>g("p",null,[g("h4",null,"Resources:"),g("span",null,[g("a",{style:{display:"inline"},href:"https://www.samhsa.gov/",target:"_blank"}," SAMHSA "),T(" ("),g("a",{style:{display:"inline"},href:"tel:1-800-662-4357"},"1-800-662-HELP"),T(") ")]),g("br"),g("a",{href:"https://www.reddit.com/r/StopGaming/"},"r/StopGaming")],-1)),Ts={class:"vga-footer"},Ps=q({__name:"AddictionWarning",setup(e){const t=x(!1);Ae(()=>{U.disableHealthWarning===!1&&G.showHealthWarning&&j.mouseActivity.filter(r=>r).length>6&&(t.value=!0)});function n(){G.showHealthWarning=!1,t.value=!1}return(r,i)=>{const a=ze("SavesManager");return h(),N(W,null,[y(Ee,Pe({modelValue:t.value,"onUpdate:modelValue":i[1]||(i[1]=s=>t.value=s)},r.$attrs),{header:O(()=>[Is]),body:O(()=>[$s,Ms,xs]),footer:O(()=>[g("div",Ts,[g("button",{onClick:n,class:"button"},"Never show this again"),g("button",{onClick:i[0]||(i[0]=s=>t.value=!1),class:"button"},"Close")])]),_:1},16,["modelValue"]),y(a,{ref:"savesManager"},null,512)],64)}}});var Fs=H(Ps,[["__scopeId","data-v-3da88bf8"]]);const ge=x(),$e=x([]),ot=x([]);function Es(){var e;((e=ge.value)==null?void 0:e.loggedIn)===!0&&($e.value.length>0||ge.value.getSaveList().then(Bn).then(t=>{ot.value=t.map(n=>n.content.id)}).catch(console.error))}ar({supportsSaving:!0,supportsSaveManager:!0,onLoggedInChanged:_n}).then(e=>{ge.value=e,_n(e)}).catch(console.error);function _n(e){e.loggedIn===!0&&($e.value.length>0||(e.getSaveList().then(t=>{const n=Bn(t);if(ot.value=n.map(r=>r.content.id),F.timePlayed<120*1e3&&n.length>0){const r=n.reduce((i,a)=>i.content.timea)),r=Object.keys(e).map(i=>{var c;const{label:a,content:s}=e[i];try{return{slot:parseInt(i),label:a,content:JSON.parse((c=qe(s))!=null?c:"")}}catch{return null}}).filter(i=>i!=null&&typeof i.content.id=="string"&&typeof i.content.time=="number"&&typeof i.content.timePlayed=="number").filter(i=>{var s,c,d,f,b,v;i.label!=null&&(i.content.name=i.label),n.delete(i.slot);const a=G.saves.find(w=>w===i.content.id);if(a==null)G.saves.push(i.content.id),ae(xe(i.content));else{t.delete(a);try{const w=JSON.parse((c=qe((s=localStorage.getItem(a))!=null?s:""))!=null?c:"");if(w==null)return!1;w.id=a,w.time=(d=w.time)!=null?d:0,w.timePlayed=(f=w.timePlayed)!=null?f:0;const k=Math.abs(w.timePlayed-i.content.timePlayed),_=Math.abs(w.time-i.content.time);k<120*1e3&&_<120*1e3?w.time{var a,s,c;try{if(n.size>0){const d=(a=localStorage.getItem(i))!=null?a:"",f=JSON.parse((s=qe(d))!=null?s:""),b=n.values().next().value;(c=ge.value)==null||c.save(b,d,f.name).then(()=>ot.value.push(f.id)).catch(console.error),n.delete(b)}}catch{}}),r}function ue(e,t="span"){return typeof e=="function"?q({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}`),q({template:e})):q({render:()=>({})}):e}function wt(e){if(At(e))return typeof e=="function"?e():ue(e);const t=e[Be];return y(t,e[Ue](),null)}function $t(e){if(At(e))return typeof e=="function"?e():typeof e=="string"?y(W,null,[e]):y(e,null,null);const t=e[Be];return y(t,e[Ue](),null)}function At(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[vt]===!0}function Un(e,t){const n=x(null),r=x(void 0);function i(c){n.value||(n.value=setInterval(s,250)),r.value=c}function a(){n.value&&(clearInterval(n.value),n.value=null)}function s(){t&&t.value?t.value():e&&e.value&&e.value(r.value)}return Cn(a),{start:i,stop:a,handleHolding:s}}function Os(e,t="div"){const n=_e();return Ae(()=>{n.value=ue(we(e),t)}),n}function lt(e,t="div"){const n=_e(null);return Ae(()=>{const r=we(e);n.value=r===""||r==null?null:ue(r,t)}),n}function we(e){return l(l(e))}function z(...e){return e.includes(Object)||e.push(Object),e}function Vs(e){return Object.keys(e).reduce((t,n)=>(t[Di(n)]=e[n],t),{})}var Ls=q({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:r}=de(e),i=x(!1),a=E(()=>(we(r)||i.value)&&s.value),s=lt(n),c=_e(ue(ee(()=>{const b=we(t);return b==null?"":$t(b)})));function d(b){const v=r;b.shiftKey&&v&&(v.value=!v.value,b.stopPropagation(),b.preventDefault())}const f=E(()=>we(r)&&Qt[G.theme].showPin);return{Direction:K,isHovered:i,isShown:a,comp:s,elementComp:c,unref:l,togglePinned:d,showPin:f}}});const Ds={key:0,class:"material-icons pinned"};function Rs(e,t,n,r,i,a){return h(),N("div",{class:te(["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?(h(),R(se(e.elementComp),{key:0})):$("",!0),y(Nn,{name:"fade"},{default:O(()=>{var s;return[e.isShown?(h(),N("div",{key:0,class:te(["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:me([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(s=e.unref(e.style))!=null?s:{}])},[e.showPin?(h(),N("span",Ds,"push_pin")):$("",!0),e.comp?(h(),R(se(e.comp),{key:1})):$("",!0)],6)):$("",!0)]}),_:1})],34)}var Q=H(Ls,[["render",Rs],["__scopeId","data-v-6102fa3a"]]);const As={key:0},qs=["onClick","disabled"],Bs={key:0},Us=["onClick"],zs=q({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const r=de(e),i=x(!1);he(i,c=>{t("confirmingChanged",c)});function a(){if(l(r.skipConfirm)){t("click");return}i.value&&t("click"),i.value=!i.value}function s(){i.value=!1}return(c,d)=>(h(),N("span",{class:te(["container",{confirming:i.value}])},[i.value?(h(),N("span",As,"Are you sure?")):$("",!0),g("button",{onClick:gt(a,["stop"]),class:"button danger",disabled:e.disabled},[i.value?(h(),N("span",Bs,"Yes")):Re(c.$slots,"default",{key:1},void 0,!0)],8,qs),i.value?(h(),N("button",{key:1,class:"button",onClick:gt(s,["stop"])},"No",8,Us)):$("",!0)],2))}});var Gs=H(zs,[["__scopeId","data-v-2f8ef34c"]]);const Hs=["onSubmit"],js={class:"field"},Ws={key:0,class:"field-title"},Js=["placeholder"],Ks=q({__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,r=lt(Fe(n,"title"),"span"),i=_e(null);yt(()=>{var d;(d=i.value)==null||d.focus()});const a=E({get(){var d;return(d=l(n.modelValue))!=null?d:""},set(d){t("update:modelValue",d)}});function s(){t("submit")}function c(){n.submitOnBlur!==!1?t("submit"):t("cancel")}return(d,f)=>(h(),N("form",{onSubmit:gt(s,["prevent"])},[g("div",js,[l(r)?(h(),N("span",Ws,[(h(),R(se(l(r))))])):$("",!0),e.textArea?(h(),R(l(sr),{key:1,modelValue:l(a),"onUpdate:modelValue":f[0]||(f[0]=b=>re(a)?a.value=b:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:c,ref_key:"field",ref:i},null,8,["modelValue","placeholder","maxHeight"])):Yt((h(),N("input",{key:2,type:"text","onUpdate:modelValue":f[1]||(f[1]=b=>re(a)?a.value=b:null),placeholder:e.placeholder,class:te({fullWidth:!e.title}),onBlur:c,ref_key:"field",ref:i},null,42,Js)),[[er,l(a)]])])],40,Hs))}});var zn=H(Ks,[["__scopeId","data-v-90bd4994"]]);const Oe=e=>(Ce("data-v-d1147dc6"),e=e(),ke(),e),Ys={key:0,class:"handle material-icons"},Zs={key:1,class:"actions"},Xs=Oe(()=>g("span",{class:"material-icons"},"content_paste",-1)),Qs=Oe(()=>g("span",{class:"material-icons"},"content_copy",-1)),eo=Oe(()=>g("span",{class:"material-icons"},"edit",-1)),to=Oe(()=>g("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),no={key:2,class:"actions"},ro=Oe(()=>g("span",{class:"material-icons"},"check",-1)),io=Oe(()=>g("span",{class:"material-icons"},"close",-1)),ao={key:3,class:"details"},so=Oe(()=>g("span",{class:"material-icons synced"},"cloud",-1)),oo=["disabled"],lo={class:"save-version"},uo=Oe(()=>g("br",null,null,-1)),co={key:1,class:"time"},fo={key:4,class:"details"},go={key:5,class:"details error"},mo=Oe(()=>g("br",null,null,-1)),ho=q({__name:"Save",props:{save:null,readonly:{type:Boolean}},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const n=e,{save:r,readonly:i}=de(n),a=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),s=x(!1),c=x(!1),d=x("");he(s,()=>{var k;return d.value=(k=r.value.name)!=null?k:""});const f=E(()=>r.value!=null&&r.value.id===F.id&&!l(i)),b=E(()=>{var k;return f.value?F.time:(k=r.value!=null&&r.value.time)!=null?k:0}),v=E(()=>{var k;return!l(i)&&((k=ge.value)==null?void 0:k.loggedIn)===!0&&ot.value.includes(r.value.id)});function w(){t("editName",d.value),s.value=!1}return(k,_)=>(h(),N("div",{class:te(["save",{active:l(f),readonly:l(i)}])},[l(i)!==!0?(h(),N("div",Ys,"drag_handle")):$("",!0),!s.value&&l(i)!==!0?(h(),N("div",Zs,[l(r).error==null&&!c.value?(h(),R(Zt,{key:0,onClick:_[0]||(_[0]=S=>t("export")),class:"button",left:""},{default:O(()=>[y(Q,{display:"Export",direction:l(K).Left,class:"info"},{default:O(()=>[Xs]),_:1},8,["direction"])]),_:1})):$("",!0),l(r).error==null&&!c.value?(h(),N("button",{key:1,onClick:_[1]||(_[1]=S=>t("duplicate")),class:"button"},[y(Q,{display:"Duplicate",direction:l(K).Left,class:"info"},{default:O(()=>[Qs]),_:1},8,["direction"])])):$("",!0),l(r).error==null&&!c.value?(h(),N("button",{key:2,onClick:_[2]||(_[2]=S=>s.value=!s.value),class:"button"},[y(Q,{display:"Edit Name",direction:l(K).Left,class:"info"},{default:O(()=>[eo]),_:1},8,["direction"])])):$("",!0),y(Gs,{disabled:l(f),onClick:_[3]||(_[3]=S=>t("delete")),onConfirmingChanged:_[4]||(_[4]=S=>c.value=S)},{default:O(()=>[y(Q,{display:"Delete",direction:l(K).Left,class:"info"},{default:O(()=>[to]),_:1},8,["direction"])]),_:1},8,["disabled"])])):l(i)!==!0?(h(),N("div",no,[g("button",{onClick:w,class:"button"},[y(Q,{display:"Save",direction:l(K).Left,class:"info"},{default:O(()=>[ro]),_:1},8,["direction"])]),g("button",{onClick:_[5]||(_[5]=S=>s.value=!s.value),class:"button"},[y(Q,{display:"Cancel",direction:l(K).Left,class:"info"},{default:O(()=>[io]),_:1},8,["direction"])])])):$("",!0),l(r).error==null&&!s.value?(h(),N("div",ao,[l(v)?(h(),R(Q,{key:0,display:"Synced!",direction:l(K).Right},{default:O(()=>[so]),_:1},8,["direction"])):$("",!0),g("button",{class:"button open",onClick:_[6]||(_[6]=S=>t("open")),disabled:l(i)},[g("h3",null,V(l(r).name),1)],8,oo),g("span",lo,"v"+V(l(r).modVersion),1),uo,l(b)?(h(),N("div",co," Last played "+V(l(a).format(l(b))),1)):$("",!0)])):l(r).error==null&&s.value?(h(),N("div",fo,[y(zn,{modelValue:d.value,"onUpdate:modelValue":_[7]||(_[7]=S=>d.value=S),class:"editname",onSubmit:w},null,8,["modelValue"])])):(h(),N("div",go,[T(" Error: Failed to load save with id "+V(l(r).id),1),mo,T(V(l(r).error),1)]))],2))}});var Kt=H(ho,[["__scopeId","data-v-d1147dc6"]]);const on=e=>(Ce("data-v-0bf31c81"),e=e(),ke(),e),po={class:"cloud-saves-modal-header"},vo=on(()=>g("br",null,null,-1)),bo=["onClick"],yo={key:0,class:"note"},_o={key:1,class:"note"},wo=["onClick"],No={key:0,class:"note"},Co={key:1,class:"note"},ko=["onClick"],So=on(()=>g("h2",null,"Both",-1)),Io=on(()=>g("div",{class:"save"},"Keep Both",-1)),$o=[So,Io],Mo=q({__name:"CloudSaveResolver",setup(e){const t=x(!1),n=x([]),r=E(()=>$e.value.length>1?"saves":"save"),i=x(null);he(()=>$e.value.length>0,f=>{f&&(n.value=$e.value.map(({local:b,cloud:v})=>{var w,k;return((w=b.time)!=null?w:0)<((k=v.time)!=null?k:0)?"cloud":"local"}),t.value=!0)},{immediate:!0}),he(()=>{var f;return(f=i.value)==null?void 0:f.isOpen},f=>{f===!1&&($e.value=[])});function a(f){n.value[f]="local"}function s(f){n.value[f]="cloud"}function c(f){n.value[f]="both"}function d(){var f,b;for(let v=0;v(h(),R(Ee,{modelValue:t.value,"onUpdate:modelValue":b[0]||(b[0]=v=>t.value=v),width:"960px",ref_key:"modal",ref:i,"prevent-closing":!0},{header:O(()=>[g("div",po,[g("h2",null,"Cloud "+V(l(r))+" loaded!",1)])]),body:O(()=>[g("div",null," Upon loading, your cloud "+V(l(r))+" "+V(l($e).length>1?"appear":"appears")+" to be out of sync with your local "+V(l(r))+". Which "+V(l(r))+" do you want to keep? ",1),vo,(h(!0),N(W,null,Le(l(l($e)),(v,w)=>{var k,_,S,P,I,M,A,ie;return h(),N("div",{key:v.id,class:"conflict-container"},[g("div",{onClick:fe=>s(w),class:te({selected:n.value[w]==="cloud"})},[g("h2",null,[T(" Cloud "),((k=v.cloud.time)!=null?k:0)>((_=v.local.time)!=null?_:0)?(h(),N("span",yo,"(more recent)")):$("",!0),((S=v.cloud.timePlayed)!=null?S:0)>((P=v.local.timePlayed)!=null?P:0)?(h(),N("span",_o,"(more playtime)")):$("",!0)]),y(Kt,{save:v.cloud,readonly:!0},null,8,["save"])],10,bo),g("div",{onClick:fe=>a(w),class:te({selected:n.value[w]==="local"})},[g("h2",null,[T(" Local "),((I=v.cloud.time)!=null?I:0)<=((M=v.local.time)!=null?M:0)?(h(),N("span",No,"(more recent)")):$("",!0),((A=v.cloud.timePlayed)!=null?A:0)<=((ie=v.local.timePlayed)!=null?ie:0)?(h(),N("span",Co,"(more playtime)")):$("",!0)]),y(Kt,{save:v.local,readonly:!0},null,8,["save"])],10,wo),g("div",{onClick:fe=>c(w),class:te({selected:n.value[w]==="both"}),style:{"flex-basis":"30%"}},$o,10,ko)])}),128))]),footer:O(()=>[g("div",{class:"cloud-saves-footer"},[g("button",{onClick:d,class:"button"},"Confirm")])]),_:1},8,["modelValue"]))}});var xo=H(Mo,[["__scopeId","data-v-0bf31c81"]]);const To=q({__name:"Node",props:{id:null},setup(e){const n=de(e),r=Mt(tn,()=>{}),i=Mt(nn,()=>{}),a=_e(null),s=E(()=>a.value&&a.value.parentElement);return he([s,n.id],([c,d],[f,b])=>{f&&i(l(b)),c&&r(d,c)}),Cn(()=>i(l(n.id))),(c,d)=>(h(),N("div",{class:"node",ref_key:"node",ref:a},null,512))}});var Qe=H(To,[["__scopeId","data-v-a48cb382"]]);const Po=q({__name:"Spacer",props:{width:{default:"8px"},height:{default:"17px"}},setup(e){return(t,n)=>(h(),N("div",{style:me({width:e.width,height:e.height})},null,4))}});function Gn(e,t="points",n=0,r=void 0){const i=re(e)?e:_t(e);if(i.displayName=t,i.precision=n,i.small=r,!re(e)){const a=i[De];a.displayName=t,a.precision=n,a.small=r}return i}function Fo(e){const t=_t(e.value);return he(e,n=>{en.value||u.gt(n,t.value)&&(t.value=n)}),t}function Eo(e){const t=_t(e.value);return he(e,(n,r)=>{en.value||u.gt(n,r)&&(t.value=u.add(t.value,u.sub(n,r)))}),t}const Oo=new u("10^^8"),Vo=new u("1e100");function Lo(e,t){const n=x(0),r=x(0),i=x(0);return oe.on("update",s=>{if(r.value=0,u.lte(e.value,Vo)){i.value=e.value;return}let c=e.value,d=i.value;if(i.value=c,u.gt(c,d))if(u.gte(c,Oo))c=u.slog(c,1e10),d=u.slog(d,1e10),n.value=c.sub(d).div(s),r.value=-1;else for(;u.div(c,d).log(10).div(s).gte("100")&&r.value<=5&&u.gt(d,0);)c=u.log10(c),d=u.log10(d),n.value=c.sub(d).div(s),r.value++}),E(()=>r.value===0?t?Ne(t.value,e.precision,e.small)+" "+e.displayName+"/s":"":Ne(n.value)+" OOM"+(r.value<0?"^OOM":"^"+r.value)+"s/sec")}function Pt(e,t){const n=t!=null?t:e.value;return u.eq(e.precision,0)?pt(e.small?n:u.floor(n)):Ne(n,e.precision,e.small)}const Do=["x1","y1","x2","y2"],Ro=q({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const t=e,n=de(t),r=E(()=>{const s=n.startNode.value.rect,c=n.boundingRect.value,d=c?{x:s.x+s.width/2-c.x,y:s.y+s.height/2-c.y}:{x:0,y:0};return n.link.value.offsetStart&&(d.x+=n.link.value.offsetStart.x,d.y+=n.link.value.offsetStart.y),d}),i=E(()=>{const s=n.endNode.value.rect,c=n.boundingRect.value,d=c?{x:s.x+s.width/2-c.x,y:s.y+s.height/2-c.y}:{x:0,y:0};return n.link.value.offsetEnd&&(d.x+=n.link.value.offsetEnd.x,d.y+=n.link.value.offsetEnd.y),d}),a=E(()=>Vs(t.link));return(s,c)=>(h(),N("line",Pe({"stroke-width":"15px",stroke:"white"},l(a),{x1:l(r).x,y1:l(r).y,x2:l(i).x,y2:l(i).y}),null,16,Do))}});const Ao=q({__name:"Links",props:{links:null},setup(e){var d;const n=Fe(e,"links"),r=x(null),i=Mt(rn,x({})),a=Mt(an,x(void 0)),s=x((d=r.value)==null?void 0:d.getBoundingClientRect());he(a,()=>{var f;return s.value=(f=r.value)==null?void 0:f.getBoundingClientRect()}),yt(()=>{var f;return s.value=(f=r.value)==null?void 0:f.getBoundingClientRect()});const c=E(()=>{var b,v;const f=i.value;return(v=(b=n.value)==null?void 0:b.filter(w=>{var k,_;return((k=f[w.startNode.id])==null?void 0:k.rect)&&((_=f[w.startNode.id])==null?void 0:_.rect)}))!=null?v:[]});return(f,b)=>(h(),N(W,null,[l(c)?(h(),N("svg",tr(Pe({key:0},f.$attrs)),[(h(!0),N(W,null,Le(l(c),(v,w)=>(h(),R(Ro,{key:w,link:v,boundingRect:s.value,startNode:l(i)[v.startNode.id],endNode:l(i)[v.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):$("",!0),g("div",{ref_key:"resizeListener",ref:r,class:"resize-listener"},null,512)],64))}});var qo=H(Ao,[["__scopeId","data-v-063f6d6b"]]),Bo=q({props:{nodes:{type:z(Array),required:!0},leftSideNodes:z(Array),rightSideNodes:z(Array),branches:z(Array)},components:{Links:qo},setup(e){const{nodes:t,leftSideNodes:n,rightSideNodes:r}=de(e),i=_e();Ae(()=>{const c=we(t);i.value=ue(ee(()=>y(W,null,[c.map(d=>y("span",{class:"row tree-row",style:"margin: 50px auto;"},[d.map($t)]))])))});const a=_e();Ae(()=>{const c=we(n);a.value=c?ue(ee(()=>y("span",{class:"left-side-nodes small"},[c.map($t)]))):""});const s=_e();return Ae(()=>{const c=we(r);s.value=c?ue(ee(()=>y("span",{class:"side-nodes small"},[c.map($t)]))):""}),{unref:l,nodesComp:i,leftNodesComp:a,rightNodesComp:s}}});function Uo(e,t,n,r,i,a){const s=ze("Links");return h(),N(W,null,[(h(),R(se(e.nodesComp))),e.leftNodesComp?(h(),R(se(e.leftNodesComp),{key:0})):$("",!0),e.rightNodesComp?(h(),R(se(e.rightNodesComp),{key:1})):$("",!0),e.branches?(h(),R(s,{key:2,links:e.unref(e.branches)},null,8,["links"])):$("",!0)],64)}var zo=H(Bo,[["render",Uo],["__scopeId","data-v-39ca96d0"]]);const Go={key:0},Ho={key:0,class:"mark star"},jo=["src"],Wo=q({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,n)=>e.mark?(h(),N("div",Go,[e.mark===!0?(h(),N("div",Ho)):(h(),N("img",{key:1,class:"mark",src:e.mark},null,8,jo))])):$("",!0)}});var Hn=H(Wo,[["__scopeId","data-v-2207999f"]]);const Jo=q({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:Hn,Node:Qe},setup(e){const{onClick:t,onHold:n,display:r}=de(e),i=lt(r),{start:a,stop:s}=Un(t,n);return{start:a,stop:s,comp:i,unref:l,Visibility:at,isCoercableComponent:At,isVisible:On,isHidden:Vn}}});function Ko(e,t,n,r,i,a){var d;const s=ze("MarkNode"),c=ze("Node");return e.isVisible(e.visibility)?(h(),N("div",{key:0,style:me({visibility:e.isHidden(e.visibility)?"hidden":void 0}),class:te({treeNode:!0,can:e.unref(e.canClick),...e.unref(e.classes)}),onClick:t[0]||(t[0]=(...f)=>e.onClick&&e.onClick(...f)),onMousedown:t[1]||(t[1]=(...f)=>e.start&&e.start(...f)),onMouseleave:t[2]||(t[2]=(...f)=>e.stop&&e.stop(...f)),onMouseup:t[3]||(t[3]=(...f)=>e.stop&&e.stop(...f)),onTouchstartPassive:t[4]||(t[4]=(...f)=>e.start&&e.start(...f)),onTouchendPassive:t[5]||(t[5]=(...f)=>e.stop&&e.stop(...f)),onTouchcancelPassive:t[6]||(t[6]=(...f)=>e.stop&&e.stop(...f))},[g("div",{style:me([{backgroundColor:e.unref(e.color),boxShadow:`-4px -4px 4px rgba(0, 0, 0, 0.25) inset, 0 0 20px ${e.unref(e.glowColor)}`},(d=e.unref(e.style))!=null?d:[]])},[(h(),R(se(e.unref(e.comp))))],4),y(s,{mark:e.unref(e.mark)},null,8,["mark"]),y(c,{id:e.id},null,8,["id"])],38)):$("",!0)}var Yo=H(Jo,[["render",Ko],["__scopeId","data-v-727230a6"]]);const Zo=Symbol("TreeNode"),Xo=Symbol("Tree");function Qo(e,...t){const n=t.reduce((r,i)=>{var a;return Object.assign(r,(a=i.getPersistentData)==null?void 0:a.call(i))},{});return Ze(r=>{var s,c,d;const i=(s=e==null?void 0:e.call(r,r))!=null?s:{};i.id=Dt("treeNode-"),i.type=Zo,i[Be]=Yo;for(const f of t)(c=f.preConstruct)==null||c.call(f,i);Object.assign(n),L(i,"visibility"),ce(i,"visibility",at.Visible),L(i,"canClick"),ce(i,"canClick",!0),L(i,"color"),L(i,"display"),L(i,"glowColor"),L(i,"classes"),L(i,"style"),L(i,"mark");for(const f of t)(d=f.postConstruct)==null||d.call(f,i);if(i.onClick){const f=i.onClick.bind(i);i.onClick=function(b){l(i.canClick)!==!1&&f(b)}}if(i.onHold){const f=i.onHold.bind(i);i.onHold=function(){l(i.canClick)!==!1&&f()}}const a=t.reduce((f,b)=>{var v;return Object.assign(f,(v=b.getGatheredProps)==null?void 0:v.call(b,i))},{});return i[Ue]=function(){const{display:f,visibility:b,style:v,classes:w,onClick:k,onHold:_,color:S,glowColor:P,canClick:I,mark:M,id:A}=this;return{display:f,visibility:b,style:v,classes:w,onClick:k,onHold:_,color:S,glowColor:P,canClick:I,mark:M,id:A,...a}},i})}function el(e){return Ze(t=>{const n=e.call(t,t);return n.id=Dt("tree-"),n.type=Xo,n[Be]=zo,n.isResetting=x(!1),n.resettingNode=_e(null),n.reset=function(r){var a,s;const i=n;i.isResetting.value=!0,i.resettingNode.value=r,(a=i.resetPropagation)==null||a.call(i,i,r),(s=i.onReset)==null||s.call(i,r),i.isResetting.value=!1,i.resettingNode.value=null},n.links=E(()=>{var i;return(i=l(n.branches))!=null?i:[]}),L(n,"visibility"),ce(n,"visibility",at.Visible),L(n,"nodes"),L(n,"leftSideNodes"),L(n,"rightSideNodes"),L(n,"branches"),n[Ue]=function(){const{nodes:r,leftSideNodes:i,rightSideNodes:a,branches:s}=this;return{nodes:r,leftSideNodes:i,rightSideNodes:a,branches:s}},n})}const tl=function(e,t){var a;const n=l(e.branches);if(n==null)return;const r=[];let i=[t];for(;i.length!==0;){const s=[];for(const c of i)for(const d of n.filter(f=>f.startNode===c))[...r,...i].includes(d.endNode)||(s.push(d.endNode),(a=d.endNode.reset)==null||a.reset());r.push(...i),i=s}};function nl(e,t=null,n=0){const r=jt(n);return E(()=>t==null||u.gte(e.value,l(r))?Pt(e)+" "+e.displayName:`Reach ${u.eq(t.precision,0)?pt(l(r)):Ne(l(r),t.precision)} ${t.displayName} to unlock (You have ${u.eq(t.precision,0)?pt(t.value):Ne(t.value,t.precision)})`)}function rl(e,...t){return Ze(n=>{var i,a;const r=e.call(n,n);for(const s of t)(i=s.preConstruct)==null||i.call(s,r);r.formula=r.formula(o.variable(r.baseResource)),r.currentGain==null&&(r.currentGain=E(()=>{let s=u.floor(r.formula.evaluate(r.baseResource.value)).max(0);return l(r.buyMax)===!1&&(s=s.min(1)),s})),r.actualGain==null&&(r.actualGain=r.currentGain),r.currentAt==null&&(r.currentAt=E(()=>r.formula.invert(u.floor(l(r.currentGain))))),r.nextAt==null&&(r.nextAt=E(()=>r.formula.invert(u.floor(l(r.currentGain)).add(1)))),r.convert==null&&(r.convert=function(){var c;const s=l(r.currentGain);r.gainResource.value=u.add(r.gainResource.value,s),r.spend(s),(c=r.onConvert)==null||c.call(r,s)}),r.spend==null&&(r.spend=function(){r.baseResource.value=0}),L(r,"currentGain"),L(r,"actualGain"),L(r,"currentAt"),L(r,"nextAt"),L(r,"buyMax"),ce(r,"buyMax",!0);for(const s of t)(a=s.postConstruct)==null||a.call(s,r);return r})}function il(e){return rl(e)}const jn=e=>(Ce("data-v-5e2d38ce"),e=e(),ke(),e),al=jn(()=>g("div",{class:"key"},"Ctrl",-1)),sl=jn(()=>g("div",{class:"key"},"Shift",-1)),ol={class:"key"},ll=q({__name:"Hotkey",props:{hotkey:null},setup(e){const t=e;let n="",r=!1,i=!1,a=!1;return Ae(()=>{n=t.hotkey.key,r=n.startsWith("ctrl+"),r&&(n=n.slice(5)),i=n.startsWith("shift+"),i&&(n=n.slice(6)),a=n.length==1&&n.toLowerCase()!=n.toUpperCase(),a&&(n=n.toUpperCase())}),(s,c)=>(h(),N(W,null,[l(r)?(h(),N(W,{key:0},[al,T("+")],64)):$("",!0),l(i)?(h(),N(W,{key:1},[sl,T("+")],64)):$("",!0),g("div",ol,V(l(n)),1)],64))}});var ul=H(ll,[["__scopeId","data-v-5e2d38ce"]]);const bt=Ot({}),ln=Symbol("Hotkey"),ct=[")","!","@","#","$","%","^","&","*","("];function cl(e){return Ze(t=>{const n=e.call(t,t);return n.type=ln,L(n,"enabled"),ce(n,"enabled",!0),L(n,"description"),n})}oe.on("addLayer",e=>{Ln(e,ln).forEach(t=>{bt[t.key]=t})});oe.on("removeLayer",e=>{Ln(e,ln).forEach(t=>{bt[t.key]=void 0})});document.onkeydown=function(e){var r,i;if(((r=e.target)==null?void 0:r.tagName)==="INPUT"||un.value&&!F.keepGoing)return;const t=[e.key];e.shiftKey&&e.ctrlKey?(t.splice(0,1),t.push("ctrl+shift+"+e.key.toUpperCase()),t.push("shift+ctrl+"+e.key.toUpperCase()),ct.includes(e.key)?(t.push("ctrl+shift+"+ct.indexOf(e.key)),t.push("shift+ctrl+"+ct.indexOf(e.key))):(t.push("ctrl+shift+"+e.key.toLowerCase()),t.push("shift+ctrl+"+e.key.toLowerCase()))):ct.includes(e.key)?(t.push("shift+"+e.key),t.push("shift+"+ct.indexOf(e.key))):e.shiftKey?(t.push("shift+"+e.key.toUpperCase()),t.push("shift+"+e.key.toLowerCase())):e.ctrlKey&&(t.splice(0,1),t.push("ctrl+"+e.key));const n=bt[(i=t.find(a=>a in bt))!=null?i:""];n&&l(n.enabled)&&(e.preventDefault(),n.onPress())};oi(ee(()=>{const e=Object.values(bt).filter(t=>l(t==null?void 0:t.enabled));return e.length===0?"":y("div",null,[y("br",null,null),y("h4",null,[T("Hotkeys")]),y("div",{style:"column-count: 2"},[e.map(t=>y("div",null,[y(ul,{hotkey:t},null),T(" "),l(t==null?void 0:t.description)]))])])}));const dl=Symbol("Reset");function fl(e){return Ze(t=>{const n=e.call(t,t);return n.id=Dt("reset-"),n.type=dl,n.reset=function(){var i;const r=a=>{if(a!=null&&typeof a=="object"&&!(a instanceof u)&&!(a instanceof o)){if(Jt in a&&a[Jt]===!0)return;if(Ye in a){const s=a;s.value=s[Ye]}else!(a instanceof u)&&!re(a)&&Object.values(a).forEach(s=>r(s))}};l(n.thingsToReset).forEach(r),oe.emit("reset",n),(i=n.onReset)==null||i.call(n)},L(n,"thingsToReset"),n})}const St={};oe.on("removeLayer",e=>{var t;(t=St[e.id])==null||t.call(St),St[e.id]=void 0});const gl=q({__name:"Sticky",setup(e){const t=x("0"),n=new ResizeObserver(i),r=_e(null);function i(){let a=r.value;if(a==null)return;let s=0;for(;a.previousSibling;){const c=a.previousSibling;c.dataset&&"vSticky"in c.dataset&&(s+=c.offsetHeight),a=c}t.value=s+"px"}return Ke(i),document.fonts.ready.then(i),yt(()=>{var s;const a=(s=r.value)==null?void 0:s.parentElement;a&&n.observe(a)}),(a,s)=>(h(),N("div",{class:"sticky",style:me({top:t.value}),ref_key:"element",ref:r,"data-v-sticky":""},[Re(a.$slots,"default",{},void 0,!0)],4))}});var ml=H(gl,[["__scopeId","data-v-cccac690"]]);const hl=q({__name:"Resource",props:{resource:null,color:null},setup(e){const t=e,n=E(()=>Pt(t.resource));return(r,i)=>(h(),N("h2",{style:me({color:e.color,"text-shadow":"0px 0px 10px "+e.color})},V(l(n)),5))}});const pl={class:"main-display"},vl={key:0},bl={key:1},yl=q({__name:"MainDisplay",props:{resource:null,color:null,classes:null,style:null,effectDisplay:null},setup(e){const n=de(e),r=x(null),i=lt(n.effectDisplay),a=E(()=>u.lt(n.resource.value,"1e1000"));return(s,c)=>(h(),R(ml,null,{default:O(()=>{var d,f,b,v;return[g("div",{class:te(["main-display-container",(d=e.classes)!=null?d:{}]),style:me([{height:`${((b=(f=r.value)==null?void 0:f.$el.clientHeight)!=null?b:0)+50}px`},(v=e.style)!=null?v:{}])},[g("div",pl,[l(a)?(h(),N("span",vl,"You have ")):$("",!0),y(hl,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),T(" "+V(e.resource.displayName),1),l(i)?(h(),N("span",bl,[T(", "),(h(),R(se(l(i)),{ref_key:"effectRef",ref:r},null,512))])):$("",!0)])],6)]}),_:1}))}});function _l(e,t){return L(t,"display"),L(t,"classes"),L(t,"style"),L(t,"direction"),ce(t,"direction",K.Up),L(t,"xoffset"),L(t,"yoffset"),t.pinnable&&(t.pinned=_t(!1,!1)),Ke(()=>{const n=e[Be];e[Be]=Q;const r=e[Ue].bind(e);e[Ue]=function(){const{display:a,classes:s,style:c,direction:d,xoffset:f,yoffset:b,pinned:v}=this;return{element:{[Be]:n,[Ue]:r},display:a,classes:s,style:l(c),direction:d,xoffset:f,yoffset:b,pinned:v}}.bind(t)}),t}var wl=q({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:Qe,MarkNode:Hn},setup(e){const{display:t,onClick:n,onHold:r}=de(e),i=_e("");Ae(()=>{var b;const c=we(t);if(c==null){i.value="";return}if(At(c)){i.value=ue(c);return}const d=ue((b=c.title)!=null?b:"","h3"),f=ue(c.description,"div");i.value=ue(ee(()=>y("span",null,[c.title!=null?y("div",null,[y(d,null,null)]):null,y(f,null,null)])))});const{start:a,stop:s}=Un(n,r);return{start:a,stop:s,comp:i,Visibility:at,isVisible:On,isHidden:Vn,unref:l}}});function Nl(e,t,n,r,i,a){var d;const s=ze("MarkNode"),c=ze("Node");return e.isVisible(e.visibility)?(h(),N("button",{key:0,style:me([{visibility:e.isHidden(e.visibility)?"hidden":void 0},(d=e.unref(e.style))!=null?d:[]]),onClick:t[0]||(t[0]=(...f)=>e.onClick&&e.onClick(...f)),onMousedown:t[1]||(t[1]=(...f)=>e.start&&e.start(...f)),onMouseleave:t[2]||(t[2]=(...f)=>e.stop&&e.stop(...f)),onMouseup:t[3]||(t[3]=(...f)=>e.stop&&e.stop(...f)),onTouchstartPassive:t[4]||(t[4]=(...f)=>e.start&&e.start(...f)),onTouchendPassive:t[5]||(t[5]=(...f)=>e.stop&&e.stop(...f)),onTouchcancelPassive:t[6]||(t[6]=(...f)=>e.stop&&e.stop(...f)),class:te({feature:!0,clickable:!0,can:e.unref(e.canClick),locked:!e.unref(e.canClick),small:e.small,...e.unref(e.classes)})},[e.unref(e.comp)?(h(),R(se(e.unref(e.comp)),{key:0})):$("",!0),y(s,{mark:e.unref(e.mark)},null,8,["mark"]),y(c,{id:e.id},null,8,["id"])],38)):$("",!0)}var Cl=H(wl,[["render",Nl],["__scopeId","data-v-211328c0"]]);const kl=Symbol("Clickable");function Sl(e,...t){const n=t.reduce((r,i)=>{var a;return Object.assign(r,(a=i.getPersistentData)==null?void 0:a.call(i))},{});return Ze(r=>{var s,c,d;const i=(s=e==null?void 0:e.call(r,r))!=null?s:{};i.id=Dt("clickable-"),i.type=kl,i[Be]=Cl;for(const f of t)(c=f.preConstruct)==null||c.call(f,i);if(Object.assign(i,n),L(i,"visibility"),ce(i,"visibility",at.Visible),L(i,"canClick"),ce(i,"canClick",!0),L(i,"classes"),L(i,"style"),L(i,"mark"),L(i,"display"),i.onClick){const f=i.onClick.bind(i);i.onClick=function(b){l(i.canClick)!==!1&&f(b)}}if(i.onHold){const f=i.onHold.bind(i);i.onHold=function(){l(i.canClick)!==!1&&f()}}for(const f of t)(d=f.postConstruct)==null||d.call(f,i);const a=t.reduce((f,b)=>{var v;return Object.assign(f,(v=b.getGatheredProps)==null?void 0:v.call(b,i))},{});return i[Ue]=function(){const{display:f,visibility:b,style:v,classes:w,onClick:k,onHold:_,canClick:S,small:P,mark:I,id:M}=this;return{display:f,visibility:b,style:l(v),classes:w,onClick:k,onHold:_,canClick:S,small:P,mark:I,id:M,...a}},i})}function Il(e){return Sl(t=>{const n=e.call(t,t);L(n,"showNextAt"),ce(n,"showNextAt",!0),ce(n,"minimumGain",1),n.resetDescription==null?n.resetDescription=E(()=>u.lt(n.conversion.gainResource.value,1e3)?"Reset for ":""):L(n,"resetDescription"),n.display==null&&(n.display=ee(()=>y("span",null,[l(n.resetDescription),y("b",null,[Pt(n.conversion.gainResource,u.max(l(n.conversion.actualGain),l(n.minimumGain)))])," ",n.conversion.gainResource.displayName,l(n.showNextAt)!=null?y("div",null,[y("br",null,null),l(n.conversion.buyMax)?"Next:":"Req:"," ",Pt(n.conversion.baseResource,!l(n.conversion.buyMax)&&u.gte(l(n.conversion.actualGain),1)?l(n.conversion.currentAt):l(n.conversion.nextAt))," ",n.conversion.baseResource.displayName]):null]))),n.canClick==null&&(n.canClick=E(()=>u.gte(l(n.conversion.actualGain),l(n.minimumGain))));const r=n.onClick;return n.onClick=function(i){l(n.canClick)!==!1&&(n.conversion.convert(),n.tree.reset(n.treeNode),n.resetTime&&(n.resetTime.value=n.resetTime[Ye]),r==null||r(i))},n})}function $l(e){return Qo(t=>{const n=e.call(t,t);return ce(n,"display",En(n.layerID)),L(n,"append"),{...n,onClick:l(n.append)?function(){if(F.tabs.includes(n.layerID)){const r=F.tabs.lastIndexOf(n.layerID);F.tabs.splice(r,1)}else F.tabs.push(n.layerID)}:function(){F.tabs.splice(1,1,n.layerID)}}})}const wn="p",Ft=sn(wn,function(){const e="Prestige",t="#4BDC13",n=Gn(0,"prestige points"),r=il(()=>({formula:f=>f.div(10).sqrt(),baseResource:Et.points,gainResource:n})),i=fl(()=>({thingsToReset:()=>[Ft]})),a=$l(()=>({layerID:wn,color:t,reset:i})),s=_l(a,{display:nl(n),pinnable:!0}),c=Il(()=>({conversion:r,tree:Et.tree,treeNode:a})),d=cl(()=>({description:"Reset for prestige points",key:"p",onPress:c.onClick}));return{name:e,color:t,points:n,tooltip:s,display:ee(()=>y(W,null,[y(yl,{resource:n,color:t},null),wt(c)])),treeNode:a,hotkey:d}}),Et=sn("main",function(){const e=Gn(10),t=Fo(e),n=Eo(e),r=E(()=>new u(1));oe.on("update",s=>{e.value=u.add(e.value,u.times(r.value,s))});const i=Lo(e,r),a=el(()=>({nodes:[[Ft.treeNode]],branches:[],onReset(){e.value=gn(this.resettingNode.value)===gn(Ft.treeNode)?0:10,t.value=e.value,n.value=e.value},resetPropagation:tl}));return{name:"Tree",links:a.links,display:ee(()=>y(W,null,[F.devSpeed===0?y("div",null,[T("Game Paused"),y(Qe,{id:"paused"},null)]):null,F.devSpeed!=null&&F.devSpeed!==0&&F.devSpeed!==1?y("div",null,[T("Dev Speed: "),Ne(F.devSpeed),T("x"),y(Qe,{id:"devspeed"},null)]):null,F.offlineTime!=null&&F.offlineTime!==0?y("div",null,[T("Offline Time: "),Lt(F.offlineTime),y(Qe,{id:"offline"},null)]):null,y("div",null,[u.lt(e.value,"1e1000")?y("span",null,[T("You have ")]):null,y("h2",null,[Ne(e.value)]),u.lt(e.value,"1e1e6")?y("span",null,[T(" points")]):null]),u.gt(r.value,0)?y("div",null,[T("("),i.value,T(")"),y(Qe,{id:"oomps"},null)]):null,y(Po,null,null),wt(a)])),points:e,best:t,total:n,oomps:i,tree:a}}),Ml=e=>[Et,Ft],un=E(()=>!1);function xl(e,t){}var Tl=Object.freeze(Object.defineProperty({__proto__:null,main:Et,getInitialLayers:Ml,hasWon:un,fixOldSave:xl},Symbol.toStringTag,{value:"Module"}));const Pl={class:"field"},Fl=q({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=E(()=>{var a;return ue((a=l(n.title))!=null?a:"","span")}),i=E({get(){return!!n.modelValue},set(a){t("update:modelValue",a)}});return(a,s)=>(h(),N("label",Pl,[Yt(g("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":s[0]||(s[0]=c=>re(i)?i.value=c:null)},null,512),[[nr,l(i)]]),(h(),R(se(l(r))))]))}});var Me=H(Fl,[["__scopeId","data-v-11046116"]]);const Nt=e=>(Ce("data-v-06de52e9"),e=e(),ke(),e),El={class:"game-over-modal-header"},Ol=["src","alt"],Vl={class:"game-over-modal-title"},Ll=Nt(()=>g("h2",null,"Congratulations!",-1)),Dl={key:0},Rl=Nt(()=>g("br",null,null,-1)),Al=Nt(()=>g("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),ql=Nt(()=>g("br",null,null,-1)),Bl=["href"],Ul=Nt(()=>g("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),zl=q({__name:"GameOverScreen",setup(e){const{title:t,logo:n,discordName:r,discordLink:i,versionNumber:a,versionTitle:s}=U,c=E(()=>Lt(F.timePlayed)),d=E(()=>un.value&&!F.keepGoing),f=Fe(F,"autosave");function b(){F.keepGoing=!0}function v(){Te(et())}return(w,k)=>(h(),R(Ee,{"model-value":l(d)},{header:O(()=>[g("div",El,[l(n)?(h(),N("img",{key:0,class:"game-over-modal-logo",src:l(n),alt:l(t)},null,8,Ol)):$("",!0),g("div",Vl,[Ll,g("h4",null,"You've beaten "+V(l(t))+" v"+V(l(a))+": "+V(l(s)),1)])])]),body:O(({shown:_})=>[_?(h(),N("div",Dl,[g("div",null,"It took you "+V(l(c))+" to beat the game.",1),Rl,Al,ql,g("div",null,[g("a",{href:l(i),class:"game-over-modal-discord-link"},[Ul,T(" "+V(l(r)),1)],8,Bl)]),y(Me,{title:"Autosave",modelValue:l(f),"onUpdate:modelValue":k[0]||(k[0]=S=>re(f)?f.value=S:null)},null,8,["modelValue"])])):$("",!0)]),footer:O(()=>[g("div",{class:"game-over-footer"},[g("button",{onClick:b,class:"button"},"Keep Going"),g("button",{onClick:v,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var Gl=H(zl,[["__scopeId","data-v-06de52e9"]]);const Hl={class:"field"},jl={key:0,class:"field-title"},Wn=q({__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,r=lt(Fe(n,"title"),"span"),i=x((s=n.options.find(c=>c.value===n.modelValue))!=null?s:null);he(Fe(n,"modelValue"),c=>{var d;we(i)!==c&&(i.value=(d=n.options.find(f=>f.value===c))!=null?d:null)});function a(c){t("update:modelValue",c.value)}return(c,d)=>(h(),N("div",Hl,[l(r)?(h(),N("span",jl,[(h(),R(se(l(r))))])):$("",!0),y(l(lr),{options:e.options,modelValue:i.value,"onUpdate:modelValue":[d[0]||(d[0]=f=>i.value=f),a],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});const cn=e=>(Ce("data-v-a03820c0"),e=e(),ke(),e),Wl=cn(()=>g("h2",null,"Saves Manager",-1)),Jl={key:0,style:{color:"var(--danger)"}},Kl={class:"modal-footer"},Yl={class:"field"},Zl=cn(()=>g("span",{class:"field-title"},"Create Save",-1)),Xl={class:"field-buttons"},Ql={class:"footer"},eu=cn(()=>g("div",{style:{"flex-grow":"1"}},null,-1)),tu=q({__name:"SavesManager",setup(e,{expose:t}){const n=x(!1),r=x(null);t({open(){n.value=!0}});const i=x(!1),a=x(""),s=x(null);he(a,I=>{I?Ke(()=>{var M;try{if(I=(M=qe(I))!=null?M:"",I===""){console.warn("Unable to determine preset encoding",I),i.value=!0;return}const A=JSON.parse(I);if(typeof A!="object"){i.value=!0;return}const ie=ft();A.id=ie,ae(A),a.value="",i.value=!1,G.saves.push(ie)}catch{i.value=!0}}):i.value=!1});let c={},d=x(Object.keys(c).reduce((I,M)=>(I.push({label:M.split("/").slice(-1)[0].slice(0,-4),value:c[M]}),I),[]));he(n,I=>{I&&ri()});const f=E(()=>G.saves.reduce((I,M)=>(I[M]=ni(M),I),{})),b=E(()=>{var I;return((I=ge.value)==null?void 0:I.loggedIn)===!0&&G.saves.length{var fe;const ie=Object.keys(A).find(Bt=>{const Ut=A[Bt].content;try{if(JSON.parse(Ut).id===I)return!0}catch{return!1}});ie!=null&&((fe=ge.value)==null||fe.save(parseInt(ie),"","").catch(console.error))}),G.saves=G.saves.filter(A=>A!==I),localStorage.removeItem(I),kt(I)}function _(I){f.value[F.id].time=F.time,ae(),kt(F.id),Te(f.value[I]),kt(I)}function S(I){var A;if(s.value=I,Ke(()=>{s.value=null}),I=(A=qe(I))!=null?A:"",I===""){console.warn("Unable to determine preset encoding",I);return}const M=JSON.parse(I);M.id=ft(),ae(M),G.saves.push(M.id),_(M.id)}function P(I,M){const A=f.value[I];A!=null&&(A.name=M,F.id===I?(F.name=M,ae()):(ae(A),kt(I)))}return(I,M)=>(h(),R(Ee,{modelValue:n.value,"onUpdate:modelValue":M[4]||(M[4]=A=>n.value=A),ref_key:"modal",ref:r},{header:O(()=>[Wl]),body:O(({shown:A})=>[l(b)?(h(),N("div",Jl," Not all saves are synced! You may need to delete stale saves. ")):$("",!0),A?(h(),R(l(or),{key:1,list:l(G).saves,handle:".handle",itemKey:ie=>ie},{item:O(({element:ie})=>[y(Kt,{save:l(f)[ie],onOpen:fe=>_(ie),onExport:fe=>v(ie),onEditName:fe=>P(ie,fe),onDuplicate:fe=>w(ie),onDelete:fe=>k(ie)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):$("",!0)]),footer:O(()=>[g("div",Kl,[y(zn,{modelValue:a.value,"onUpdate:modelValue":M[0]||(M[0]=A=>a.value=A),title:"Import Save",placeholder:"Paste your save here!",class:te({importingFailed:i.value})},null,8,["modelValue","class"]),g("div",Yl,[Zl,g("div",Xl,[g("button",{class:"button",onClick:M[1]||(M[1]=A=>_(l(et)().id))},"New Game"),Object.keys(l(d)).length>0?(h(),R(Wn,{key:0,options:l(d),modelValue:s.value,"onUpdate:modelValue":M[2]||(M[2]=A=>S(A)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):$("",!0)])]),g("div",Ql,[eu,g("button",{class:"button modal-default-button",onClick:M[3]||(M[3]=A=>n.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var Jn=H(tu,[["__scopeId","data-v-a03820c0"]]);const qt=e=>(Ce("data-v-10d75940"),e=e(),ke(),e),nu=qt(()=>g("div",{class:"nan-modal-header"},[g("h2",null,"NaN value detected!")],-1)),ru={key:0},iu=qt(()=>g("br",null,null,-1)),au=["href"],su=qt(()=>g("span",{class:"material-icons nan-modal-discord"},"discord",-1)),ou=qt(()=>g("br",null,null,-1)),lu={class:"nan-footer"},uu=q({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:n}=U,r=x(!0),i=x(!0),a=Fe(j,"hasNaN"),s=x(null);he(a,w=>{w?(r.value=F.autosave,i.value=F.devSpeed===0):(F.autosave=r.value,F.devSpeed=i.value?0:null)});const c=E(()=>{var w;return(w=j.NaNPath)==null?void 0:w.join(".")}),d=E(()=>j.NaNPersistent!=null?j.NaNPersistent.value:null);function f(){j.NaNPersistent!=null&&(j.NaNPersistent.value=new u(0),j.hasNaN=!1)}function b(){j.NaNPersistent&&(j.NaNPersistent.value=new u(1),j.hasNaN=!1)}function v(){j.NaNPersistent&&(j.NaNPersistent.value=new u(NaN),j.hasNaN=!1)}return(w,k)=>(h(),N(W,null,[y(Ee,Pe({modelValue:l(a),"onUpdate:modelValue":k[4]||(k[4]=_=>re(a)?a.value=_:null)},w.$attrs),{header:O(()=>[nu]),body:O(()=>[g("div",null,[T(' Attempted to assign "'+V(l(c))+'" to NaN',1),l(d)?(h(),N("span",ru,V(" ")+"(previously "+V(l(Ne)(l(d)))+")",1)):$("",!0),T(". Auto-saving has been "+V(r.value?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),iu,g("div",null,[g("a",{href:l(n)||"https://discord.gg/yJ4fjnjU54",class:"nan-modal-discord-link"},[su,T(" "+V(l(t)||"Profectus & Friends"),1)],8,au)]),ou,y(Me,{title:"Autosave",modelValue:r.value,"onUpdate:modelValue":k[0]||(k[0]=_=>r.value=_)},null,8,["modelValue"]),l(U).enablePausing?(h(),R(Me,{key:0,title:"Pause game",modelValue:i.value,"onUpdate:modelValue":k[1]||(k[1]=_=>i.value=_)},null,8,["modelValue"])):$("",!0)]),footer:O(()=>[g("div",lu,[g("button",{onClick:k[2]||(k[2]=_=>{var S;return(S=s.value)==null?void 0:S.open()}),class:"button"},"Open Saves Manager"),g("button",{onClick:f,class:"button"},"Set to 0"),g("button",{onClick:b,class:"button"},"Set to 1"),l(d)&&l(u).neq(l(d),0)&&l(u).neq(l(d),1)?(h(),N("button",{key:0,onClick:k[3]||(k[3]=_=>a.value=!1),class:"button"}," Set to previous ")):$("",!0),g("button",{onClick:v,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),y(Jn,{ref_key:"savesManager",ref:s},null,512)],64))}});var cu=H(uu,[["__scopeId","data-v-10d75940"]]);const du=q({components:{Context:qn,ErrorVue:Sn},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:r,minimizedDisplay:i}=de(e),a=Os(t),s=lt(i),c=E(()=>U.allowGoBack&&n.value>0&&!we(r));function d(){F.tabs.splice(l(e.index),1/0)}function f(v){e.nodes.value=v}const b=x([]);return rr((v,w,k)=>(console.warn(`Error caught in "${e.name}" layer`,v,w,k),b.value.push(v instanceof Error?v:new Error(JSON.stringify(v))),!1)),{component:a,minimizedComponent:s,showGoBack:c,updateNodes:f,unref:l,goBack:d,errors:b}}}),fu={key:1};function gu(e,t,n,r,i,a){const s=ze("ErrorVue"),c=ze("Context");return e.errors.length>0?(h(),R(s,{key:0,errors:e.errors},null,8,["errors"])):(h(),N("div",Pe({key:1,class:"layer-container",style:{"--layer-color":e.unref(e.color)}},e.$attrs),[e.showGoBack?(h(),N("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...d)=>e.goBack&&e.goBack(...d))},"\u274C")):$("",!0),e.unref(e.minimized)?(h(),N("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=d=>e.$emit("setMinimized",!1))},[e.minimizedComponent?(h(),R(se(e.minimizedComponent),{key:0})):(h(),N("div",fu,V(e.unref(e.name)),1))])):(h(),N("div",{key:2,class:te(["layer-tab",{showGoBack:e.showGoBack}])},[y(c,{onUpdateNodes:e.updateNodes},{default:O(()=>[(h(),R(se(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(h(),N("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=d=>e.$emit("setMinimized",!0))}," \u25BC ")):$("",!0)],16))}var mu=H(du,[["render",gu],["__scopeId","data-v-a9f5b1da"]]);const Kn=e=>(Ce("data-v-45b73486"),e=e(),ke(),e),hu=Kn(()=>g("h2",null,"Changelog",-1)),pu=Kn(()=>g("details",{open:""},[g("summary",null,[T("v0.0 Initial Commit - "),g("time",null,"2021-09-04")]),T(" This is the first release :D "),g("ul",null,[g("li",{class:"feature"},"Did everything"),g("li",{class:"fix"},"Had some fun"),g("li",{class:"breaking"},"Removed everything"),g("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),vu=q({__name:"Changelog",setup(e,{expose:t}){const n=x(!1);return t({open(){n.value=!0}}),(r,i)=>(h(),R(Ee,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=a=>n.value=a)},{header:O(()=>[hu]),body:O(()=>[pu]),_:1},8,["modelValue"]))}});var bu=H(vu,[["__scopeId","data-v-45b73486"]]);const Xe=e=>(Ce("data-v-3e5d5ff9"),e=e(),ke(),e),yu={class:"info-modal-header"},_u=["src","alt"],wu={class:"info-modal-title"},Nu={key:0},Cu={key:0},ku={key:0},Su=Xe(()=>g("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1)),Iu=Xe(()=>g("br",null,null,-1)),$u=Xe(()=>g("br",null,null,-1)),Mu=["href"],xu=Xe(()=>g("span",{class:"material-icons info-modal-discord"},"discord",-1)),Tu=Xe(()=>g("div",null,[g("a",{href:"https://discord.gg/yJ4fjnjU54",class:"info-modal-discord-link",target:"_blank"},[g("span",{class:"material-icons info-modal-discord"},"discord"),T(" Profectus & Friends ")])],-1)),Pu=Xe(()=>g("div",null,[g("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link",target:"_blank"},[g("span",{class:"material-icons info-modal-discord"},"discord"),T(" The Modding Tree ")])],-1)),Fu=Xe(()=>g("br",null,null,-1));var Eu=q({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const n=e,{title:r,logo:i,author:a,discordName:s,discordLink:c,versionNumber:d,versionTitle:f}=U,b=de(n),v=x(!1),w=E(()=>Lt(F.timePlayed)),k=E(()=>ue(ee(()=>y(W,null,[In.map(wt)]))));t({open(){v.value=!0}});function _(){var S;(S=l(b.changelog))==null||S.open()}return(S,P)=>(h(),R(Ee,{modelValue:v.value,"onUpdate:modelValue":P[0]||(P[0]=I=>v.value=I)},{header:O(()=>[g("div",yu,[l(i)?(h(),N("img",{key:0,class:"info-modal-logo",src:l(i),alt:l(r)},null,8,_u)):$("",!0),g("div",wu,[g("h2",null,V(l(r)),1),g("h4",null,[T(" v"+V(l(d)),1),l(f)?(h(),N("span",Nu,": "+V(l(f)),1)):$("",!0)])])])]),body:O(({shown:I})=>[I?(h(),N("div",Cu,[l(a)?(h(),N("div",ku,"By "+V(l(a)),1)):$("",!0),Su,Iu,g("div",{class:"link",onClick:_},"Changelog"),$u,g("div",null,[l(c)?(h(),N("a",{key:0,href:l(c),class:"info-modal-discord-link",target:"_blank"},[xu,T(" "+V(l(s)),1)],8,Mu)):$("",!0)]),Tu,Pu,Fu,g("div",null,"Time Played: "+V(l(w)),1),(h(),R(se(l(k))))])):$("",!0)]),_:1},8,["modelValue"]))}});var Ou=H(Eu,[["__scopeId","data-v-3e5d5ff9"]]);const Vu={class:"header"},Lu=g("h2",null,"Settings",-1),Du={class:"option-tabs"},Ru={key:0},Au={key:1};var qu=q({__name:"Options",setup(e,{expose:t}){const n=x(!1),r=x("behaviour");function i(Ie){return Ie==r.value}function a(Ie){r.value=Ie}t({isTab:i,setTab:a,save:ae,open(){n.value=!0}});const s=Object.keys(Qt).map(Ie=>({label:En(Ie),value:Ie})),c=E(()=>ue(ee(()=>y(W,null,[si.map(wt)])))),{showTPS:d,theme:f,unthrottled:b,alignUnits:v,showHealthWarning:w}=de(G),{autosave:k,offlineProd:_}=de(F),S=E({get(){return F.devSpeed===0},set(Ie){F.devSpeed=Ie?0:null}}),P=ee(()=>y("span",{class:"option-title"},[T("Unthrottled"),y("desc",null,[T("Allow the game to run as fast as possible. Not battery friendly.")])])),I=ee(()=>y("span",{class:"option-title"},[T("Offline production"),y(Q,{display:"Save-specific",direction:K.Right},{default:()=>[T("*")]}),y("desc",null,[T("Simulate production that occurs while the game is closed.")])])),M=ee(()=>y("span",{class:"option-title"},[T("Show videogame addiction warning"),y("desc",null,[T("Show a helpful warning after playing for a long time about video game addiction and encouraging you to take a break.")])])),A=ee(()=>y("span",{class:"option-title"},[T("Autosave"),y(Q,{display:"Save-specific",direction:K.Right},{default:()=>[T("*")]}),y("desc",null,[T("Automatically save the game every second or when the game is closed.")])])),ie=ee(()=>y("span",{class:"option-title"},[T("Pause game"),y(Q,{display:"Save-specific",direction:K.Right},{default:()=>[T("*")]}),y("desc",null,[T("Stop everything from moving.")])])),fe=ee(()=>y("span",{class:"option-title"},[T("Theme"),y("desc",null,[T("How the game looks.")])])),Bt=ee(()=>y("span",{class:"option-title"},[T("Show TPS"),y("desc",null,[T("Show TPS meter at the bottom-left corner of the page.")])])),Ut=ee(()=>y("span",{class:"option-title"},[T("Align modifier units"),y("desc",null,[T("Align numbers to the beginning of the unit in modifier view.")])]));return(Ie,J)=>(h(),R(Ee,{modelValue:n.value,"onUpdate:modelValue":J[11]||(J[11]=ne=>n.value=ne)},{header:O(()=>[g("div",Vu,[Lu,g("div",Du,[g("button",{class:te({selected:i("behaviour")}),onClick:J[0]||(J[0]=ne=>a("behaviour"))},"Behaviour",2),g("button",{class:te({selected:i("appearance")}),onClick:J[1]||(J[1]=ne=>a("appearance"))},"Appearance",2)])])]),body:O(()=>[i("behaviour")?(h(),N("div",Ru,[y(Me,{title:l(P),modelValue:l(b),"onUpdate:modelValue":J[2]||(J[2]=ne=>re(b)?b.value=ne:null)},null,8,["title","modelValue"]),l(U).enablePausing?(h(),R(Me,{key:0,title:l(ie),modelValue:l(S),"onUpdate:modelValue":J[3]||(J[3]=ne=>re(S)?S.value=ne:null)},null,8,["title","modelValue"])):$("",!0),y(Me,{title:l(I),modelValue:l(_),"onUpdate:modelValue":J[4]||(J[4]=ne=>re(_)?_.value=ne:null)},null,8,["title","modelValue"]),l(U).disableHealthWarning?$("",!0):(h(),R(Me,{key:1,title:l(M),modelValue:l(w),"onUpdate:modelValue":J[5]||(J[5]=ne=>re(w)?w.value=ne:null)},null,8,["title","modelValue"])),y(Me,{title:l(A),modelValue:l(k),"onUpdate:modelValue":J[6]||(J[6]=ne=>re(k)?k.value=ne:null)},null,8,["title","modelValue"]),l(k)?$("",!0):(h(),R(Zt,{key:2,class:"button save-button",onClick:J[7]||(J[7]=ne=>l(ae)())},{default:O(()=>[T("Manually save")]),_:1}))])):$("",!0),i("appearance")?(h(),N("div",Au,[y(Wn,{title:l(fe),options:l(s),modelValue:l(f),"onUpdate:modelValue":J[8]||(J[8]=ne=>re(f)?f.value=ne:null)},null,8,["title","options","modelValue"]),(h(),R(se(l(c)))),y(Me,{title:l(Bt),modelValue:l(d),"onUpdate:modelValue":J[9]||(J[9]=ne=>re(d)?d.value=ne:null)},null,8,["title","modelValue"]),y(Me,{title:l(Ut),modelValue:l(v),"onUpdate:modelValue":J[10]||(J[10]=ne=>re(v)?v.value=ne:null)},null,8,["title","modelValue"])])):$("",!0)]),_:1},8,["modelValue"]))}});const Se=e=>(Ce("data-v-fae09efc"),e=e(),ke(),e),Bu=["src","alt"],Uu={key:1,class:"title"},zu=Se(()=>g("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),Gu={class:"discord"},Hu={class:"discord-links"},ju={key:0},Wu=["href"],Ju=Se(()=>g("li",null,[g("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"Profectus & Friends")],-1)),Ku=Se(()=>g("li",null,[g("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),Yu={href:"https://forums.moddingtree.com/",target:"_blank"},Zu=Se(()=>g("span",{class:"material-icons"},"forum",-1)),Xu=Se(()=>g("span",{class:"material-icons"},"info",-1)),Qu=Se(()=>g("span",{class:"material-icons"},"settings",-1)),ec=Se(()=>g("span",{class:"material-icons"},"settings",-1)),tc=Se(()=>g("span",{class:"material-icons"},"info",-1)),nc={href:"https://forums.moddingtree.com/",target:"_blank"},rc=Se(()=>g("span",{class:"material-icons"},"forum",-1)),ic={class:"discord"},ac={class:"discord-links"},sc={key:0},oc=["href"],lc=Se(()=>g("li",null,[g("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"Profectus & Friends")],-1)),uc=Se(()=>g("li",null,[g("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),cc=q({__name:"Nav",setup(e){const t=x(null),n=x(null),r=x(null),i=x(null),{useHeader:a,banner:s,title:c,discordName:d,discordLink:f,versionNumber:b}=U;function v(){window.open(f,"mywindow")}const w=E(()=>{var k;return((k=ge.value)==null?void 0:k.loggedIn)===!0&&!ot.value.includes(G.active)});return(k,_)=>(h(),N(W,null,[l(a)?(h(),N("div",Pe({key:0,class:"nav"},k.$attrs),[l(s)?(h(),N("img",{key:0,src:l(s),class:"banner",alt:l(c)},null,8,Bu)):(h(),N("div",Uu,V(l(c)),1)),g("div",{onClick:_[0]||(_[0]=S=>{var P;return(P=i.value)==null?void 0:P.open()}),class:"version-container"},[y(Q,{display:"Changelog",direction:l(K).Down,class:"version"},{default:O(()=>[g("span",null,"v"+V(l(b)),1)]),_:1},8,["direction"])]),zu,g("div",Gu,[g("span",{onClick:v,class:"material-icons"},"discord"),g("ul",Hu,[l(f)?(h(),N("li",ju,[g("a",{href:l(f),target:"_blank"},V(l(d)),9,Wu)])):$("",!0),Ju,Ku])]),g("div",null,[g("a",Yu,[y(Q,{display:"Forums",direction:l(K).Down,yoffset:"5px"},{default:O(()=>[Zu]),_:1},8,["direction"])])]),g("div",{onClick:_[1]||(_[1]=S=>{var P;return(P=t.value)==null?void 0:P.open()})},[y(Q,{display:"Info",direction:l(K).Down,class:"info"},{default:O(()=>[Xu]),_:1},8,["direction"])]),g("div",{onClick:_[2]||(_[2]=S=>{var P;return(P=n.value)==null?void 0:P.open()})},[y(Q,{display:"Saves",direction:l(K).Down,xoffset:"-20px"},{default:O(()=>[g("span",{class:te(["material-icons",{needsSync:l(w)}])},"library_books",2)]),_:1},8,["direction"])]),g("div",{onClick:_[3]||(_[3]=S=>{var P;return(P=r.value)==null?void 0:P.open()})},[y(Q,{display:"Settings",direction:l(K).Down,xoffset:"-66px"},{default:O(()=>[Qu]),_:1},8,["direction"])])],16)):(h(),N("div",Pe({key:1,class:"overlay-nav"},k.$attrs),[g("div",{onClick:_[4]||(_[4]=S=>{var P;return(P=i.value)==null?void 0:P.open()}),class:"version-container"},[y(Q,{display:"Changelog",direction:l(K).Right,xoffset:"25%",class:"version"},{default:O(()=>[g("span",null,"v"+V(l(b)),1)]),_:1},8,["direction"])]),g("div",{onClick:_[5]||(_[5]=S=>{var P;return(P=n.value)==null?void 0:P.open()})},[y(Q,{display:"Saves",direction:l(K).Right},{default:O(()=>[g("span",{class:te(["material-icons",{needsSync:l(w)}])},"library_books",2)]),_:1},8,["direction"])]),g("div",{onClick:_[6]||(_[6]=S=>{var P;return(P=r.value)==null?void 0:P.open()})},[y(Q,{display:"Settings",direction:l(K).Right},{default:O(()=>[ec]),_:1},8,["direction"])]),g("div",{onClick:_[7]||(_[7]=S=>{var P;return(P=t.value)==null?void 0:P.open()})},[y(Q,{display:"Info",direction:l(K).Right},{default:O(()=>[tc]),_:1},8,["direction"])]),g("div",null,[g("a",nc,[y(Q,{display:"Forums",direction:l(K).Right,xoffset:"7px"},{default:O(()=>[rc]),_:1},8,["direction"])])]),g("div",ic,[g("span",{onClick:v,class:"material-icons"},"discord"),g("ul",ac,[l(f)?(h(),N("li",sc,[g("a",{href:l(f),target:"_blank"},V(l(d)),9,oc)])):$("",!0),lc,uc])])],16)),y(Ou,{ref_key:"info",ref:t,changelog:i.value},null,8,["changelog"]),y(Jn,{ref_key:"savesManager",ref:n},null,512),y(qu,{ref_key:"options",ref:r},null,512),y(bu,{ref_key:"changelog",ref:i},null,512)],64))}});var Yn=H(cc,[["__scopeId","data-v-fae09efc"]]);const dc={class:"inner-tab"},fc=q({__name:"Game",setup(e){const t=Fe(F,"tabs"),n=E(()=>Object.keys(le)),r=U.useHeader;function i(a){const{display:s,minimized:c,name:d,color:f,minimizable:b,nodes:v,minimizedDisplay:w}=a;return{display:s,minimized:c,name:d,color:f,minimizable:b,nodes:v,minimizedDisplay:w}}return(a,s)=>(h(),N("div",{class:te(["tabs-container",{useHeader:l(r)}])},[(h(!0),N(W,null,Le(l(t),(c,d)=>{var f,b;return h(),N("div",{key:d,class:te(["tab",l((f=l(le)[c])==null?void 0:f.classes)]),style:me(l((b=l(le)[c])==null?void 0:b.style))},[d===0&&!l(r)?(h(),R(Yn,{key:0})):$("",!0),g("div",dc,[l(n).includes(c)?(h(),R(mu,Pe({key:0},i(l(le)[c]),{index:d,onSetMinimized:v=>l(le)[c].minimized.value=v}),null,16,["index","onSetMinimized"])):(h(),R(se(c),{key:1,index:d},null,8,["index"]))])],6)}),128))],2))}});var gc=H(fc,[["__scopeId","data-v-dcd207b4"]]);const mc={key:0,class:"tpsDisplay"},hc=q({__name:"TPS",setup(e){const t=E(()=>u.div(j.lastTenTicks.length,j.lastTenTicks.reduce((n,r)=>n+r,0)));return(n,r)=>l(t).isNan()?$("",!0):(h(),N("div",mc,"TPS: "+V(l(pt)(l(t))),1))}});var pc=H(hc,[["__scopeId","data-v-89b89152"]]);var vc=q({__name:"App",setup(e){const t=U.useHeader,n=E(()=>Qt[G.theme].variables),r=Fe(G,"showTPS"),i=Fe(j,"errors"),a=E(()=>ue(ee(()=>y(W,null,[li.map(wt)]))));return(s,c)=>l(i).length>0?(h(),N("div",{key:0,class:"error-container",style:me(l(n))},[y(Sn,{errors:l(i)},null,8,["errors"])],4)):(h(),N(W,{key:1},[g("div",{id:"modal-root",style:me(l(n))},null,4),g("div",{class:te(["app",{useHeader:l(t)}]),style:me(l(n))},[l(t)?(h(),R(Yn,{key:0})):$("",!0),y(gc),l(l(r))?(h(),R(pc,{key:1})):$("",!0),y(Fs),y(Gl),y(cu),y(xo),(h(),R(se(l(a))))],6)],64))}});var bc=H(vc,[["__scopeId","data-v-1ba599d8"]]);oe.on("setupVue",e=>e.use(ur));function yc(e={}){const{immediate:t=!1,onNeedRefresh:n,onOfflineReady:r,onRegistered:i,onRegisteredSW:a,onRegisterError:s}=e;let c,d,f,b;const v=async(k=!0)=>{await f,k&&(c==null||c.addEventListener("controlling",_=>{_.isUpdate&&window.location.reload()})),await(b==null?void 0:b())};async function w(){if("serviceWorker"in navigator){const{Workbox:k,messageSW:_}=await mt(()=>import("./workbox-window.4a8794bb.js"),[]);b=async()=>{d&&d.waiting&&await _(d.waiting,{type:"SKIP_WAITING"})},c=new k("./sw.js",{scope:"./",type:"classic"}),c.addEventListener("activated",S=>{S.isUpdate||r==null||r()});{const S=()=>{n==null||n()};c.addEventListener("waiting",S),c.addEventListener("externalwaiting",S)}c.register({immediate:t}).then(S=>{d=S,a?a("./sw.js",S):i==null||i(S)}).catch(S=>{s==null||s(S)})}}return f=w(),v}function _c(e={}){const{immediate:t=!0,onNeedRefresh:n,onOfflineReady:r,onRegistered:i,onRegisteredSW:a,onRegisterError:s}=e,c=x(!1),d=x(!1);return{updateServiceWorker:yc({immediate:t,onNeedRefresh(){c.value=!0,n==null||n()},onOfflineReady(){d.value=!0,r==null||r()},onRegistered:i,onRegisteredSW:a,onRegisterError:s}),offlineReady:d,needRefresh:c}}const dn=console.error;console.error=function(...e){dn(...e)};window.onerror=function(e,t,n,r,i){return j.errors.push(i instanceof Error?i:new Error(JSON.stringify(i))),dn(i),!0};window.onunhandledrejection=function(e){j.errors.push(e.reason instanceof Error?e.reason:new Error(JSON.stringify(e.reason))),dn(e.reason)};document.title=U.title;window.projInfo=U;U.id===""&&console.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 ti();const{globalBus:e}=await mt(()=>Promise.resolve().then(function(){return ei}),void 0),{startGameLoop:t}=await mt(()=>import("./gameLoop.94f0e4f9.js"),["assets/gameLoop.94f0e4f9.js","assets/@fontsource.f66d05e7.css","assets/vue.359c6955.js","assets/lz-string.bfbf8ec3.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/unofficial-galaxy-sdk.21372393.js","assets/vue-textarea-autosize.35804eaf.js","assets/vuedraggable.055200e5.js","assets/sortablejs.20039f18.js","assets/vue-next-select.68e0c605.js","assets/vue-next-select.9e6f4164.css","assets/vue-toastification.45d39007.js","assets/vue-toastification.4b5f8ac8.css"]),n=window.vue=ir(bc);n.config.errorHandler=function(r,i,a){console.error(r,a,i)},e.emit("setupVue",n),n.mount("#app"),Ke(()=>{const r=cr(),{updateServiceWorker:i}=_c({onNeedRefresh(){r.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(){i()}})},onOfflineReady(){r.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(a){a&&setInterval(()=>a.update(),60*60*1e3)}})}),t()});export{u as D,mt as _,j as a,U as b,Tl as c,oe as g,en as l,F as p,G as s}; diff --git a/index.html b/index.html index af7a34b..9fbc6e0 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ Profectus - + diff --git a/sw.js b/sw.js index fbac29a..dfe33cf 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 u=e=>i(e,r),a={module:{uri:r},exports:o,require:u};s[r]=Promise.all(n.map((e=>a[e]||u(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/gameLoop.f1588f5c.js",revision:null},{url:"assets/index.af069480.css",revision:null},{url:"assets/index.d9989fa0.js",revision:null},{url:"assets/lz-string.bfbf8ec3.js",revision:null},{url:"assets/nanoevents.1080beb7.js",revision:null},{url:"assets/sortablejs.20039f18.js",revision:null},{url:"assets/unofficial-galaxy-sdk.21372393.js",revision:null},{url:"assets/vue-next-select.68e0c605.js",revision:null},{url:"assets/vue-next-select.9e6f4164.css",revision:null},{url:"assets/vue-textarea-autosize.35804eaf.js",revision:null},{url:"assets/vue-toastification.45d39007.js",revision:null},{url:"assets/vue-toastification.4b5f8ac8.css",revision:null},{url:"assets/vue.359c6955.js",revision:null},{url:"assets/vuedraggable.055200e5.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:"7179e39b5099e6dcbb9373592658cd51"},{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:"49b9cd04ee2139bfe785f8100ba3f74f"}],{}),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/gameLoop.94f0e4f9.js",revision:null},{url:"assets/index.9b24a867.js",revision:null},{url:"assets/index.af069480.css",revision:null},{url:"assets/lz-string.bfbf8ec3.js",revision:null},{url:"assets/nanoevents.1080beb7.js",revision:null},{url:"assets/sortablejs.20039f18.js",revision:null},{url:"assets/unofficial-galaxy-sdk.21372393.js",revision:null},{url:"assets/vue-next-select.68e0c605.js",revision:null},{url:"assets/vue-next-select.9e6f4164.css",revision:null},{url:"assets/vue-textarea-autosize.35804eaf.js",revision:null},{url:"assets/vue-toastification.45d39007.js",revision:null},{url:"assets/vue-toastification.4b5f8ac8.css",revision:null},{url:"assets/vue.359c6955.js",revision:null},{url:"assets/vuedraggable.055200e5.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:"300606f0d8ffbe80f0d3ab01cd855821"},{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:"49b9cd04ee2139bfe785f8100ba3f74f"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))}));