From 632e56640e58fff882d0756c82658cf37eaeaadf Mon Sep 17 00:00:00 2001 From: circle-gon <97845741+circle-gon@users.noreply.github.com> Date: Mon, 12 Dec 2022 00:00:47 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20thepaper?= =?UTF-8?q?pilot/Advent-Incremental@f3007eb942bbdc94a4cb20da8aeeed5f293812?= =?UTF-8?q?2c=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eLoop.75f55d3b.js => gameLoop.af7f9c40.js} | 2 +- ...{index.110d8017.css => index.734848bb.css} | 2 +- assets/index.d358461b.js | 19 ------------------- assets/index.e090fffb.js | 19 +++++++++++++++++++ index.html | 4 ++-- sw.js | 2 +- 6 files changed, 24 insertions(+), 24 deletions(-) rename assets/{gameLoop.75f55d3b.js => gameLoop.af7f9c40.js} (88%) rename assets/{index.110d8017.css => index.734848bb.css} (83%) delete mode 100644 assets/index.d358461b.js create mode 100644 assets/index.e090fffb.js diff --git a/assets/gameLoop.75f55d3b.js b/assets/gameLoop.af7f9c40.js similarity index 88% rename from assets/gameLoop.75f55d3b.js rename to assets/gameLoop.af7f9c40.js index 43e999a..f3d4efd 100644 --- a/assets/gameLoop.75f55d3b.js +++ b/assets/gameLoop.af7f9c40.js @@ -1 +1 @@ -import{_ as T,s as d,p as e,a as l,l as c,D as m,b as s,g as u}from"./index.d358461b.js";import"./vue.92681fcb.js";import{b1 as v}from"./@vue.4ce677c2.js";/* empty css */import"./nanoevents.1080beb7.js";import"./lz-string.731cedc5.js";import"./is-plain-object.906d88e8.js";import"./vue-next-select.a2bfab1d.js";import"./vue-toastification.6f567382.js";import"./vuedraggable.7949458c.js";import"./sortablejs.29100d8a.js";import"./vue-textarea-autosize.35804eaf.js";import"./workbox-window.8d14e8b7.js";let n=null,f=null;function r(){const t=Date.now();let i=(t-e.time)/1e3;e.time=t;const o=i;if(l.lastTenTicks.push(o),l.lastTenTicks.length>10&&(l.lastTenTicks=l.lastTenTicks.slice(1)),(f==null?void 0:f.value)&&!e.keepGoing||l.hasNaN||(i=Math.max(i,0),e.devSpeed===0))return;if(c.value=!1,e.offlineTime!=null){if(m.gt(e.offlineTime,s.offlineLimit*3600)&&(e.offlineTime=s.offlineLimit*3600),m.gt(e.offlineTime,0)&&e.devSpeed!==0){const p=Math.max(e.offlineTime/10,i);e.offlineTime=e.offlineTime-p,i+=p}else e.devSpeed===0&&(e.offlineTime+=i);(!e.offlineProd||m.lt(e.offlineTime,0))&&(e.offlineTime=null)}if(i=Math.min(i,s.maxTickLength),e.devSpeed!=null&&(i*=e.devSpeed),Number.isFinite(i)||(i=1e308),m.eq(i,0))return;e.timePlayed+=i,Number.isFinite(e.timePlayed)||(e.timePlayed=1e308);let a=o;for(;a>1;)u.emit("update",i/o,1),a--;u.emit("update",i*a/o,a),d.unthrottled?(requestAnimationFrame(r),n!=null&&(clearInterval(n),n=null)):n==null&&(n=setInterval(r,50))}async function F(){f=(await T(()=>import("./index.d358461b.js").then(function(t){return t.c}),["assets/index.d358461b.js","assets/index.110d8017.css","assets/@fontsource.c175eac8.css","assets/vue.92681fcb.js","assets/lz-string.731cedc5.js","assets/@vue.4ce677c2.js","assets/nanoevents.1080beb7.js","assets/is-plain-object.906d88e8.js","assets/vue-next-select.a2bfab1d.js","assets/vue-next-select.9e6f4164.css","assets/vue-toastification.6f567382.js","assets/vue-toastification.4b5f8ac8.css","assets/vuedraggable.7949458c.js","assets/sortablejs.29100d8a.js","assets/vue-textarea-autosize.35804eaf.js","assets/workbox-window.8d14e8b7.js"])).hasWon,v(f,t=>{t&&u.emit("gameWon")}),d.unthrottled?requestAnimationFrame(r):n=setInterval(r,50)}export{F as startGameLoop}; +import{_ as T,s as d,p as e,a as l,l as c,D as m,b as s,g as u}from"./index.e090fffb.js";import"./vue.92681fcb.js";import{b1 as v}from"./@vue.4ce677c2.js";/* empty css */import"./nanoevents.1080beb7.js";import"./lz-string.731cedc5.js";import"./is-plain-object.906d88e8.js";import"./vue-next-select.a2bfab1d.js";import"./vue-toastification.6f567382.js";import"./vuedraggable.7949458c.js";import"./sortablejs.29100d8a.js";import"./vue-textarea-autosize.35804eaf.js";import"./workbox-window.8d14e8b7.js";let n=null,f=null;function r(){const t=Date.now();let i=(t-e.time)/1e3;e.time=t;const o=i;if(l.lastTenTicks.push(o),l.lastTenTicks.length>10&&(l.lastTenTicks=l.lastTenTicks.slice(1)),(f==null?void 0:f.value)&&!e.keepGoing||l.hasNaN||(i=Math.max(i,0),e.devSpeed===0))return;if(c.value=!1,e.offlineTime!=null){if(m.gt(e.offlineTime,s.offlineLimit*3600)&&(e.offlineTime=s.offlineLimit*3600),m.gt(e.offlineTime,0)&&e.devSpeed!==0){const p=Math.max(e.offlineTime/10,i);e.offlineTime=e.offlineTime-p,i+=p}else e.devSpeed===0&&(e.offlineTime+=i);(!e.offlineProd||m.lt(e.offlineTime,0))&&(e.offlineTime=null)}if(i=Math.min(i,s.maxTickLength),e.devSpeed!=null&&(i*=e.devSpeed),Number.isFinite(i)||(i=1e308),m.eq(i,0))return;e.timePlayed+=i,Number.isFinite(e.timePlayed)||(e.timePlayed=1e308);let a=o;for(;a>1;)u.emit("update",i/o,1),a--;u.emit("update",i*a/o,a),d.unthrottled?(requestAnimationFrame(r),n!=null&&(clearInterval(n),n=null)):n==null&&(n=setInterval(r,50))}async function F(){f=(await T(()=>import("./index.e090fffb.js").then(function(t){return t.c}),["assets/index.e090fffb.js","assets/index.734848bb.css","assets/@fontsource.c175eac8.css","assets/vue.92681fcb.js","assets/lz-string.731cedc5.js","assets/@vue.4ce677c2.js","assets/nanoevents.1080beb7.js","assets/is-plain-object.906d88e8.js","assets/vue-next-select.a2bfab1d.js","assets/vue-next-select.9e6f4164.css","assets/vue-toastification.6f567382.js","assets/vue-toastification.4b5f8ac8.css","assets/vuedraggable.7949458c.js","assets/sortablejs.29100d8a.js","assets/vue-textarea-autosize.35804eaf.js","assets/workbox-window.8d14e8b7.js"])).hasWon,v(f,t=>{t&&u.emit("gameWon")}),d.unthrottled?requestAnimationFrame(r):n=setInterval(r,50)}export{F as startGameLoop}; diff --git a/assets/index.110d8017.css b/assets/index.734848bb.css similarity index 83% rename from assets/index.110d8017.css rename to assets/index.734848bb.css index 8eb1153..3373971 100644 --- a/assets/index.110d8017.css +++ b/assets/index.734848bb.css @@ -1 +1 @@ -.table{display:flex;flex-flow:column wrap;justify-content:center;align-items:center;max-width:100%;margin:0 auto}.table-grid{display:flex;flex-flow:column}.table+.table{margin-top:10px}.row{display:flex;flex-flow:row wrap;justify-content:center;align-items:stretch;max-width:100%;margin:0 10px}.row>:not(.feature){margin:0;display:flex}.col{display:flex;flex-flow:column wrap;justify-content:center;align-items:center;height:100%;margin:10px 0}.row.mergeAdjacent>.feature:not(.dontMerge),.row.mergeAdjacent>.tooltip-container>.feature:not(.dontMerge){margin-left:0;margin-right:0;border-radius:0}.row.mergeAdjacent>.feature:not(.dontMerge):first-child,.row.mergeAdjacent>.tooltip-container:first-child>.feature:not(.dontMerge){border-radius:var(--border-radius) 0 0 var(--border-radius)}.row.mergeAdjacent>.feature:not(.dontMerge):last-child,.row.mergeAdjacent>.tooltip-container:last-child>.feature:not(.dontMerge){border-radius:0 var(--border-radius) var(--border-radius) 0}.row.mergeAdjacent>.feature:not(.dontMerge):first-child:last-child,.row.mergeAdjacent>.tooltip-container:first-child:last-child>.feature:not(.dontMerge){border-radius:var(--border-radius)}.row-grid{display:flex}.row-grid.mergeAdjacent>.feature:not(.dontMerge),.row-grid.mergeAdjacent>.tooltip-container>.feature:not(.dontMerge){margin:0;border-radius:0}.row-grid.mergeAdjacent>.feature:not(.dontMerge):last-child,.row-grid.mergeAdjacent>.tooltip-container:last-child>.feature:not(.dontMerge){border-radius:0}.row-grid.mergeAdjacent>.feature:not(.dontMerge):first-child,.row-grid.mergeAdjacent>.tooltip-container:first-child>.feature:not(.dontMerge){border-radius:0}.table-grid>.row-grid.mergeAdjacent:last-child>.feature:not(.dontMerge):first-child{border-bottom-left-radius:var(--border-radius)}.table-grid>.row-grid.mergeAdjacent:first-child>.feature:not(.dontMerge):last-child{border-top-right-radius:var(--border-radius)}.table-grid>.row-grid.mergeAdjacent:first-child>.feature:not(.dontMerge):first-child{border-top-left-radius:var(--border-radius)}.table-grid>.row-grid.mergeAdjacent:last-child>.feature:not(.dontMerge):last-child{border-bottom-right-radius:var(--border-radius)}.col.mergeAdjacent .feature:not(.dontMerge){margin-top:0;margin-bottom:0;border-radius:0}.col.mergeAdjacent .feature:not(.dontMerge):first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}.col.mergeAdjacent .feature:not(.dontMerge):last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}.col.mergeAdjacent .feature:not(.dontMerge):first-child:last-child{border-radius:var(--border-radius)}.resize-listener[data-v-2b1dc1bc]{position:absolute;top:0px;left:0;right:-4px;bottom:5px;z-index:-10;pointer-events:none}.modal-mask{position:fixed;z-index:9998;top:0;left:0;bottom:0;right:0;background-color:#00000080;transition:opacity .3s ease}.modal-wrapper{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.modal-container{width:640px;max-width:95vw;max-height:calc(95vh - 20px);background-color:var(--background);padding:20px;margin-top:20px;border-radius:5px;transition:all .3s ease;text-align:left;border:var(--modal-border);box-sizing:border-box;display:flex;flex-direction:column}.modal-header{width:100%;margin-top:-50px;text-align:center}.modal-header>h2{font-family:Great Vibes,cursive;font-weight:400;font-size:64px}.modal-body{margin:20px 0;width:100%;overflow-y:auto;overflow-x:hidden}.modal-footer{width:100%}.modal-default-footer{display:flex}.modal-default-flex-grow{flex-grow:1}.modal-enter-from,.modal-leave-active{opacity:0}.modal-enter-from .modal-container,.modal-leave-active .modal-container{-webkit-transform:scale(1.1);transform:scale(1.1)}.advent{width:80%;max-width:700px;background:url(./adventCalendarGameJamCalandar.0fdeb6b8.png);background-size:contain;display:flex;flex-direction:column;padding-top:28%;padding-left:10%;padding-right:10%;background-repeat:no-repeat;aspect-ratio:3151 / 4190}.advent>.table{width:100%}.advent>.table>.row{width:100%;margin:0 0 -5%;justify-content:space-around}.notif[data-v-66323fd4]{position:absolute;top:0;left:5px;z-index:10;pointer-events:none;user-select:none;color:var(--accent3);font-size:x-large;animation:1s linear infinite bounce-66323fd4;border-radius:var(--border-radius);background:var(--locked)}@keyframes bounce-66323fd4{0%{animation-timing-function:cubic-bezier(.1361,.2514,.2175,.8786);transform:translate(0) scaleY(1)}37%{animation-timing-function:cubic-bezier(.7674,.1844,.8382,.7157);transform:translateY(-20px) scaleY(1)}72%{animation-timing-function:cubic-bezier(.1118,.2149,.2172,.941);transform:translate(0) scaleY(1)}87%{animation-timing-function:cubic-bezier(.7494,.2259,.8209,.6963);transform:translateY(10px) scaleY(.602)}to{transform:translate(0) scaleY(1)}}.day[data-v-9de19f28]{flex:13% 0 0;position:relative;display:flex;background-color:var(--raised-background);aspect-ratio:1;margin:5%}.door-enter-from[data-v-9de19f28]:before,.door-enter-from[data-v-9de19f28]:after,.door-leave-to[data-v-9de19f28]:before,.door-leave-to[data-v-9de19f28]:after{transform:perspective(150px) rotateY(0)!important}.door-enter-from .date[data-v-9de19f28],.door-leave-to .date[data-v-9de19f28]{transform:translate(-50%,-50%) perspective(150px) rotateY(0)!important}.door-enter-active[data-v-9de19f28]:before,.door-enter-active[data-v-9de19f28]:after,.door-leave-active[data-v-9de19f28]:before,.door-leave-active[data-v-9de19f28]:after{z-index:2}.door-enter-active .date[data-v-9de19f28],.door-leave-active .date[data-v-9de19f28]{z-index:3}.day.opened .doors[data-v-9de19f28]:before,.day.opened .doors[data-v-9de19f28]:after,.day.opened .doors .date[data-v-9de19f28]{transition:1s}.day.opened .doors[data-v-9de19f28]:before{transform-origin:left;transform:perspective(150px) rotateY(-135deg)}.day.opened .doors[data-v-9de19f28]:after{transform-origin:right;transform:perspective(150px) rotateY(135deg)}.day.opened .doors .date[data-v-9de19f28]:first-child{transform-origin:left;transform:translate(-50%,-50%) perspective(150px) rotateY(-135deg);clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}.day.opened .doors .date[data-v-9de19f28]:last-child{transform-origin:right;transform:translate(-50%,-50%) perspective(150px) rotateY(135deg);clip-path:polygon(100% 0,50% 0,50% 100%,100% 100%)}.doors[data-v-9de19f28]{position:absolute;width:100%;height:100%;top:0;left:0}.day.opened .doors[data-v-9de19f28]{cursor:pointer}.doors[data-v-9de19f28]:before,.doors[data-v-9de19f28]:after{content:"";position:absolute;background-color:var(--locked);width:50%;height:100%;pointer-events:none}.doors[data-v-9de19f28]:before{top:0;left:0}.doors[data-v-9de19f28]:after{top:0;right:0}.date[data-v-9de19f28]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;font-size:large;pointer-events:none;user-select:none;backface-visibility:hidden;width:100%}.timer[data-v-9de19f28]{position:absolute;bottom:-12px;left:50%;padding:0 3px;transform:translate(-50%);z-index:3;pointer-events:none;user-select:none;white-space:nowrap;font-size:small;border:2px solid rgba(0,0,0,.125);border-radius:var(--border-radius);background:var(--locked)}.icon[data-v-9de19f28]{pointer-events:none;background-size:contain;width:100%;height:100%}.lore[data-v-9de19f28]{position:absolute;top:5px;right:5px;width:20px;height:20px;z-index:1;border-radius:50%;cursor:pointer;background-color:var(--highlighted);user-select:none}.lore[data-v-9de19f28]:hover{box-shadow:0 0 10px var(--points)}.lock[data-v-9de19f28]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.2;font-size:400%}.collapsible-container[data-v-a72c16aa]{width:calc(100% - 10px)}.collapsible-toggle[data-v-a72c16aa]{max-width:unset;width:calc(100% + 0px);margin:0 0 0 -5px;background:var(--raised-background);padding:var(--feature-margin);color:var(--foreground);cursor:pointer;transition-duration:0s}.collapsible-toggle[data-v-a72c16aa]:last-child{margin-left:unset}[data-v-a72c16aa] .collapsible-toggle+.table{max-width:unset;width:calc(100% + 10px);margin-left:-5px}[data-v-a72c16aa] .col{margin-top:0;margin-bottom:0;width:100%}.mergeAdjacent .collapsible-toggle[data-v-a72c16aa]{border:0;border-top-left-radius:0!important;border-top-right-radius:0!important}[data-v-a72c16aa] .mergeAdjacent .feature:not(.dontMerge):first-child{border-top-left-radius:0!important;border-top-right-radius:0!important}.mark[data-v-2207999f]{position:absolute;left:-25px;top:-10px;width:30px;height:30px;z-index:1;pointer-events:none;margin-left:.9em;margin-right:.9em;margin-bottom:1.2em;border-right:.3em solid transparent;border-bottom:.7em solid transparent;border-left:.3em solid transparent;font-size:10px}.star[data-v-2207999f]{left:-10px;width:0;height:0;margin-left:.9em;margin-right:.9em;margin-bottom:1.2em;border-right:.3em solid transparent;border-bottom:.7em solid #ffcc00;border-left:.3em solid transparent;font-size:10px;pointer-events:none}.star[data-v-2207999f]:before,.star[data-v-2207999f]:after{content:"";width:0;height:0;position:absolute;top:.6em;left:-1em;border-right:1em solid transparent;border-bottom:.7em solid #ffcc00;border-left:1em solid transparent;transform:rotate(-35deg)}.star[data-v-2207999f]:after{transform:rotate(35deg)}.node[data-v-a48cb382]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.bar[data-v-730cc7a0]{position:relative;display:table;overflow:hidden;border-radius:10px}.overlayTextContainer[data-v-730cc7a0]{position:absolute;border-radius:10px;vertical-align:middle;display:flex;justify-content:center;z-index:3}.overlayText[data-v-730cc7a0]{z-index:6}.border[data-v-730cc7a0]{border:2px solid;border-radius:10px;border-color:var(--foreground);overflow:hidden;margin:0}.fill[data-v-730cc7a0]{position:absolute;background-color:var(--foreground);overflow:hidden;margin-left:-.5px;transition-duration:.2s;z-index:2}.feature:not(li),.feature:not(li) button{position:relative;padding:5px;border-radius:var(--border-radius);border:2px solid rgba(0,0,0,.125);margin:var(--feature-margin);box-sizing:border-box;color:var(--feature-foreground);z-index:0;transition:all .5s,z-index 0s .5s}.can,.can button{background-color:var(--layer-color);cursor:pointer}.can:hover,.can:hover button{transform:scale(1.15);box-shadow:0 0 20px var(--points);z-index:1;transition:all .5s,z-index 0s}.locked,.locked button{background-color:var(--locked);cursor:not-allowed}.bought,.bought button{background-color:var(--bought);cursor:default}.clickable[data-v-8cedd7da]{min-height:120px;width:120px;font-size:10px}.clickable.small[data-v-8cedd7da]{min-height:unset}.clickable>*[data-v-8cedd7da]{pointer-events:none}.resize-listener[data-v-063f6d6b]{position:absolute;top:0px;left:0;right:-4px;bottom:5px;z-index:-10;pointer-events:none}svg[data-v-063f6d6b]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-10;pointer-events:none}.left-side-nodes[data-v-39ca96d0]{position:absolute;left:15px;top:65px}.side-nodes[data-v-39ca96d0]{position:absolute;right:15px;top:65px}.left-side-nodes[data-v-39ca96d0] .treeNode,.side-nodes[data-v-39ca96d0] .treeNode{margin:20px auto}.small[data-v-39ca96d0] .treeNode{height:60px;width:60px}.small[data-v-39ca96d0] .treeNode>*:first-child{font-size:30px}.treeNode[data-v-1c0c107d]{height:100px;width:100px;border-radius:50%;padding:0;margin:0 10px}.treeNode>*[data-v-1c0c107d]:first-child{width:100%;height:100%;border:2px solid rgba(0,0,0,.125);border-radius:inherit;font-size:40px;color:#00000080;text-shadow:2px 2px 4px rgba(0,0,0,.25);box-shadow:-4px -4px 4px #00000040 inset,0 0 20px var(--background);text-transform:capitalize;display:flex}.treeNode>*:first-child>*[data-v-1c0c107d]{pointer-events:none}.modifier-toggle{padding-right:10px;transform:translateY(-1px);display:inline-block}.modifier-toggle.collapsed{transform:translate(-5px,-5px) rotate(-90deg)}.sticky[data-v-cccac690]{position:sticky;background:var(--background);width:calc(100% - 2px);z-index:3}.main-display-container{vertical-align:middle;margin-bottom:20px;display:flex;transition-duration:0s}.upgrade[data-v-7f411ac8]{min-height:120px;width:120px;font-size:10px}.upgrade>*[data-v-7f411ac8]{pointer-events:none}.modifier-container{display:flex;padding:1px 8px}.modifier-container:nth-child(2n){background:var(--raised-background)}.modifier-amount{flex-basis:100px;flex-shrink:0;text-align:right}.modifier-description{flex-grow:1}.field{display:flex;position:relative;min-height:2em;margin:10px 0;user-select:none;justify-content:space-between;align-items:center}.field>*{margin:0}.field[data-v-33d57459]{cursor:pointer;pointer-events:all}input[data-v-33d57459]{appearance:none;pointer-events:none}span[data-v-33d57459]{width:100%;position:relative}input+span[data-v-33d57459]:before{content:"";float:right;margin:5px 0 5px 10px;border-radius:7px;width:36px;height:14px;background-color:var(--outline);opacity:.38;vertical-align:top;transition:background-color .2s,opacity .2s;border:solid 1px var(--feature-foreground)}input+span[data-v-33d57459]:after{content:"";position:absolute;top:2px;right:16px;border-radius:50%;width:20px;height:20px;background-color:var(--locked);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;transition:background-color .2s,transform .2s;border:solid 1px var(--feature-foreground)}input:checked+span[data-v-33d57459]:before{background-color:var(--link);opacity:.6}input:checked+span[data-v-33d57459]:after{background-color:var(--link);transform:translate(16px)}input:active+span[data-v-33d57459]:before{background-color:var(--link);opacity:.6}input:checked:active+span[data-v-33d57459]:before{background-color:var(--outline);opacity:.38}input:disabled+span[data-v-33d57459]{color:#000;opacity:.38;cursor:default}input:disabled+span[data-v-33d57459]:before{background-color:var(--outline);opacity:.38}input:checked:disabled+span[data-v-33d57459]:before{background-color:var(--link);opacity:.6}.vue-select{width:50%;border-radius:var(--border-radius)}.field-buttons .vue-select{width:unset}.vue-select,.vue-dropdown{border-color:var(--outline)}.vue-dropdown{background:var(--raised-background)}.vue-dropdown-item{color:var(--foreground)}.vue-dropdown-item,.vue-dropdown-item *{transition-duration:0s}.vue-dropdown-item.highlighted{background-color:var(--highlighted)}.vue-dropdown-item.selected,.vue-dropdown-item.highlighted.selected{background-color:var(--bought)}.vue-input input::placeholder{color:var(--link)}.milestone[data-v-f4e8794e]{width:calc(100% - 10px);min-width:120px;padding-left:5px;padding-right:5px;background-color:var(--locked);border-width:4px;border-radius:5px;color:#00000080}.milestone.done[data-v-f4e8794e]{background-color:var(--bought);cursor:default}.milestone[data-v-f4e8794e] .equal-spaced{display:flex;justify-content:center}.milestone[data-v-f4e8794e] .equal-spaced>*{margin:auto}.tabButton[data-v-610a2549]{background-color:transparent;color:var(--foreground);font-size:20px;cursor:pointer;padding:5px 20px;margin:5px;border-radius:5px;border:2px solid;flex-shrink:0;border-color:var(--layer-color)}.tabButton[data-v-610a2549]:hover{transform:scale(1.1);text-shadow:0 0 7px var(--foreground)}:not(.floating)>.tabButton[data-v-610a2549]{height:50px;margin:0;border-left:none;border-right:none;border-top:none;border-bottom-width:4px;border-radius:0;transform:unset}:not(.floating) .tabButton[data-v-610a2549]:not(.active){border-bottom-color:transparent}.tabButton>*[data-v-610a2549]{pointer-events:none}.tab-family-container[data-v-11575f45]{margin:calc(50px + var(--feature-margin)) 20px var(--feature-margin) 20px;position:relative;border:solid 4px;border-color:var(--outline)}.layer-tab>.tab-family-container[data-v-11575f45]:first-child{margin:-4px -11px var(--feature-margin) -11px}.layer-tab>.tab-family-container[data-v-11575f45]:first-child:nth-last-child(3){border-bottom-style:none;border-left-style:none;border-right-style:none;height:calc(100% + 50px)}.modal-body>.tab-family-container[data-v-11575f45]:first-child{margin:calc(10px + var(--feature-margin)) 10px 0 10px;border:none}.tab-family-container[data-v-11575f45]>:nth-child(2){margin-top:20px}.modal-body>.tab-family-container[data-v-11575f45]>:nth-child(2){margin-top:50px}.tab-family-container[data-v-f18896fc][data-v-11575f45]>:last-child{margin-bottom:20px}.tab-buttons-container[data-v-11575f45]{z-index:4}.tab-buttons-container[data-v-11575f45]:not(.floating){border-bottom:solid 4px;border-color:inherit}:not(.layer-tab):not(.modal-body)>.tab-family-container>.tab-buttons-container[data-v-11575f45]:not(.floating){width:calc(100% + 6px);margin-left:-3px}.tab-buttons-container:not(.floating) .tab-buttons[data-v-11575f45]{text-align:left;margin-bottom:-4px}.tab-buttons-container.floating .tab-buttons[data-v-11575f45]{justify-content:center;margin-top:-25px}.tab-buttons[data-v-11575f45]{margin-bottom:24px;display:flex;flex-flow:wrap;z-index:4}.layer-tab>.tab-family-container:first-child:nth-last-child(3)>.tab-buttons-container>.tab-buttons[data-v-11575f45]{padding-right:60px}.tab-buttons[data-v-11575f45]:not(.floating){text-align:left;border-bottom:inherit;border-width:4px;box-sizing:border-box;height:50px}.modal-body .tab-buttons[data-v-11575f45]{width:100%;margin-left:0;margin-right:0;padding-left:0}.showGoBack>.tab-family-container>.tab-buttons-container:not(.floating):first-child .tab-buttons[data-v-11575f45]{padding-left:70px}:not(.showGoBack)>.tab-family-container>.tab-buttons-container:not(.floating):first-child .tab-buttons[data-v-11575f45]{padding-left:0}.minimizable>.tab-buttons-container[data-v-11575f45]:not(.floating):first-child{padding-right:50px}.tab-buttons-container:not(.floating):first-child .tab-buttons[data-v-11575f45]{margin-top:-50px}.tab-buttons-container+*[data-v-11575f45]{margin-top:20px}.scene[data-v-47b4d886]{width:600px;height:300px;position:relative}.scene[data-v-47b4d886]:after{content:"";position:absolute;width:100%;height:20%;border-radius:50% 50% 0 0/100% 100% 0 0;bottom:0;background:white}.scene-item[data-v-47b4d886]{width:80px;height:80px;position:absolute;z-index:1}.scene-bubble[data-v-47b4d886]{position:absolute;background:white;height:60px;padding:5px;border-radius:10px}.scene-bubble[data-v-47b4d886]:after{content:"";position:absolute;width:0;height:0;top:100%;left:20px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:15px solid white}.scene-bubble .scene-item[data-v-47b4d886]{height:60px;width:60px;position:static}.layer-container[data-v-0158bec3]{min-width:100%;min-height:100%;margin:0;flex-grow:1;display:flex;isolation:isolate}.layer-tab[data-v-0158bec3]:not(.minimized){padding-top:20px;padding-bottom:20px;min-height:100%;flex-grow:1;text-align:center;position:relative}.inner-tab>.layer-container>.layer-tab[data-v-0158bec3]:not(.minimized){padding-top:50px}.layer-tab.minimized[data-v-0158bec3]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;padding:55px 0 0;margin:0;cursor:pointer;font-size:40px;color:var(--foreground);border:none;background-color:transparent}.layer-tab.minimized div[data-v-0158bec3]{margin:0;writing-mode:vertical-rl;padding-left:10px;width:50px}.inner-tab>.layer-container>.layer-tab[data-v-0158bec3]:not(.minimized){margin:-50px -10px;padding:50px 10px}.modal-body .layer-tab[data-v-0158bec3]{padding-bottom:0}.modal-body .layer-tab[data-v-0158bec3]:not(.hasSubtabs){padding-top:0}.minimize[data-v-0158bec3]{position:sticky;top:6px;right:9px;z-index:7;line-height:30px;border:none;background:var(--background);box-shadow:var(--background) 0 2px 3px 5px;border-radius:50%;color:var(--foreground);font-size:40px;cursor:pointer;margin-top:-44px;margin-right:-30px}.minimized+.minimize[data-v-0158bec3]{transform:rotate(-90deg);top:10px;right:18px;pointer-events:none}.goBack[data-v-0158bec3]{position:sticky;top:10px;left:10px;line-height:30px;margin-top:-50px;margin-left:-35px;border:none;background:var(--background);box-shadow:var(--background) 0 2px 3px 5px;border-radius:50%;color:var(--foreground);font-size:30px;cursor:pointer;z-index:7}.goBack[data-v-0158bec3]:hover{transform:scale(1.1);text-shadow:0 0 7px var(--foreground)}details[data-v-4b4bda40]{margin:10px 0;padding-left:18px}summary[data-v-4b4bda40]{cursor:pointer;margin-bottom:10px;margin-left:-18px}ul[data-v-4b4bda40]{margin:var(--feature-margin) 0;background:var(--raised-background);border:2px solid rgba(0,0,0,.125);padding:5px 5px 5px 15px;list-style:inside}li[data-v-4b4bda40]{margin:8px 0}li[data-v-4b4bda40]:before{padding:2px 8px;margin-right:8px;border-radius:var(--border-radius)}.feature[data-v-4b4bda40]:before{content:"Feature";background:var(--accent1)}.fix[data-v-4b4bda40]:before{content:"Fix";background:var(--accent2)}.balancing[data-v-4b4bda40]:before{content:"Balancing";background:var(--accent3)}.breaking[data-v-4b4bda40]:before{content:"Breaking";background:var(--danger)}.tooltip-container[data-v-6102fa3a]{position:relative;--xoffset: 0px;--yoffset: 0px;text-shadow:none!important}.tooltip[data-v-6102fa3a],.tooltip[data-v-6102fa3a]:after{pointer-events:none;position:absolute}.tooltip[data-v-6102fa3a]{text-align:center;width:150px;font-size:14px;line-height:1.2;bottom:calc(100% + var(--yoffset));left:calc(50% + var(--xoffset));margin-bottom:5px;transform:translate(-50%);padding:7px;border-radius:3px;background-color:var(--tooltip-background);color:var(--points);z-index:100!important;word-break:break-word}.tooltip[data-v-6102fa3a] hr{margin:var(--feature-margin) 0}.shown[data-v-6102fa3a]{z-index:10}.fade-enter-from[data-v-6102fa3a],.fade-leave-to[data-v-6102fa3a]{opacity:0}.tooltip[data-v-6102fa3a]:after{content:" ";position:absolute;top:100%;bottom:100%;left:calc(50% - var(--xoffset));width:0;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--tooltip-background) transparent transparent transparent}.tooltip.left[data-v-6102fa3a],.side-nodes .tooltip[data-v-6102fa3a]:not(.right):not(.bottom):not(.top){bottom:calc(50% + var(--yoffset));left:unset;right:calc(100% + var(--xoffset));margin-bottom:unset;margin-right:5px;transform:translateY(50%)}.tooltip.left[data-v-6102fa3a]:after,.side-nodes .tooltip[data-v-6102fa3a]:not(.right):not(.bottom):not(.top):after{top:calc(50% + var(--yoffset));bottom:unset;left:100%;right:100%;margin-left:unset;margin-top:-5px;border-color:transparent transparent transparent var(--tooltip-background)}.tooltip.right[data-v-6102fa3a]{bottom:calc(50% + var(--yoffset));left:calc(100% + var(--xoffset));margin-bottom:unset;margin-left:5px;transform:translateY(50%)}.tooltip.right[data-v-6102fa3a]:after{top:calc(50% + var(--yoffset));left:0;right:100%;margin-left:-10px;margin-top:-5px;border-color:transparent var(--tooltip-background) transparent transparent}.tooltip.bottom[data-v-6102fa3a]{top:calc(100% + var(--yoffset));bottom:unset;left:calc(50% + var(--xoffset));margin-bottom:unset;margin-top:5px;transform:translate(-50%)}.tooltip.bottom[data-v-6102fa3a]:after{top:0;margin-top:-10px;border-color:transparent transparent var(--tooltip-background) transparent}.pinned[data-v-6102fa3a]{position:absolute;right:-5px;top:-5px;transform:rotate(45deg)}.info-modal .modal-header{font-family:unset;font-weight:unset;font-size:unset;margin-top:unset}.info-modal-header{display:flex;margin:-20px -20px 0;background:var(--raised-background);align-items:center}.info-modal-header *{margin:0}.info-modal-logo{height:4em;width:4em}.info-modal-title{display:flex;flex-grow:1;flex-direction:column;padding:10px 0;text-align:center}.info-modal-title h2{font-family:Great Vibes,cursive;font-weight:400;font-size:64px;margin-top:-40px}.info-modal-discord-link{display:flex;align-items:center}.info-modal-discord{margin:0 4px 0 0}*[data-v-0d685451] .tooltip-container{display:inline;margin-left:5px}form[data-v-67b44a54]{margin:0;width:100%}.field>*[data-v-67b44a54]{margin:0}input[data-v-67b44a54]{width:50%;outline:none;border:solid 1px var(--outline);background-color:unset;border-radius:var(--border-radius)}.fullWidth[data-v-67b44a54]{width:100%}.container[data-v-2f8ef34c]{display:flex;align-items:center;background:var(--raised-background);box-shadow:var(--raised-background) 0 2px 3px 5px}.container.confirming button[data-v-2f8ef34c]{font-size:1em}.container>*[data-v-2f8ef34c]{margin:0 4px}.danger,.button.danger{position:relative;border:solid 2px var(--danger);border-right-width:16px}.danger:after{position:absolute;content:"!";color:#fff;right:-13px}.feedback[data-v-01a1b95c]{position:relative}.feedback[data-v-01a1b95c]:after{position:absolute;left:calc(100% + 5px);top:50%;transform:translateY(-50%);content:"\2714";opacity:0;pointer-events:none;box-shadow:inset 0 0 0 35px #6f94b600;text-shadow:none}.feedback.left[data-v-01a1b95c]:after{left:unset;right:calc(100% + 5px)}.feedback.activated[data-v-01a1b95c]:after{animation:feedback-01a1b95c .5s ease-out forwards}@keyframes feedback-01a1b95c{0%{opacity:1;transform:scale3d(.4,.4,1),translateY(-50%)}80%{opacity:.1}to{opacity:0;transform:scale3d(1.2,1.2,1),translateY(-50%)}}.save[data-v-5285ac49]{position:relative;border:solid 4px var(--outline);padding:4px;background:var(--raised-background);margin:var(--feature-margin);display:flex;align-items:center;min-height:30px}.save.active[data-v-5285ac49]{border-color:var(--bought)}.open[data-v-5285ac49]{display:inline;margin:0;padding-left:0}.handle[data-v-5285ac49]{flex-grow:0;margin-right:8px;margin-left:0;cursor:pointer}.details[data-v-5285ac49]{margin:0 80px 0 0;flex-grow:1}.error[data-v-5285ac49]{font-size:.8em;color:var(--danger)}.save-version[data-v-5285ac49]{margin-left:4px;font-size:.7em;opacity:.7}.actions[data-v-5285ac49]{position:absolute;top:0;bottom:0;right:4px;display:flex;padding:4px;z-index:1}.editname[data-v-5285ac49]{margin:0}.save button{transition-duration:0s}.save .actions button{display:flex;font-size:1.2em}.save .actions button .material-icons{font-size:unset}.save .button.danger{display:flex;align-items:center;padding:4px}.save .field,.field form[data-v-3b9991aa],.field .field-title[data-v-3b9991aa],.field .field-buttons[data-v-3b9991aa]{margin:0}.field-buttons[data-v-3b9991aa]{display:flex}.field-buttons .field[data-v-3b9991aa]{margin:0 0 0 8px}.modal-footer[data-v-3b9991aa]{margin-top:-20px}.footer[data-v-3b9991aa]{display:flex;margin-top:20px}.importingFailed input{color:red}.field-buttons .v-select{width:220px}.presets .vue-select[aria-expanded=true] vue-dropdown{visibility:hidden}.nav[data-v-8495e562]{background-color:var(--raised-background);display:flex;left:0;right:0;top:0;height:46px;width:100%;border-bottom:4px solid var(--outline)}.nav>*[data-v-8495e562]{height:46px;width:46px;display:flex;cursor:pointer;flex-shrink:0}.nav>.banner[data-v-8495e562]{height:100%;width:unset}.overlay-nav[data-v-8495e562]{position:fixed;top:10px;left:10px;display:flex;flex-direction:column;z-index:2}.overlay-nav>*[data-v-8495e562]{height:50px;width:50px;display:flex;cursor:pointer;margin:0;align-items:center;justify-content:center}.title[data-v-8495e562]{font-family:Great Vibes,cursive;font-size:46px;text-align:left;margin-left:12px;cursor:unset}.nav>.title[data-v-8495e562]{width:unset;flex-shrink:1;padding-right:8px;overflow:hidden;white-space:nowrap}.nav .saves[data-v-8495e562],.nav .info[data-v-8495e562]{display:flex}.tooltip-container[data-v-8495e562]{width:100%;height:100%;display:flex}.overlay-nav .discord[data-v-8495e562]{position:relative}.discord img[data-v-8495e562]{width:100%;height:100%}.discord-links[data-v-8495e562]{position:fixed;top:45px;padding:20px;right:-280px;width:200px;transition:right .25s ease;background:var(--raised-background);z-index:10}.overlay-nav .discord-links[data-v-8495e562]{position:absolute;left:-280px;right:unset;transition:left .25s ease}.overlay-nav .discord:hover .discord-links[data-v-8495e562]{left:-10px}.discord-links li[data-v-8495e562]{margin-bottom:4px}.discord-links li[data-v-8495e562]:first-child{font-size:1.2em}*:not(.overlay-nav) .discord:hover .discord-links[data-v-8495e562]{right:0}.material-icons[data-v-8495e562]{font-size:36px}.material-icons[data-v-8495e562]:hover{text-shadow:5px 0 10px var(--link),-3px 0 12px var(--foreground)}.nav .version-container[data-v-8495e562]{display:flex;height:25px;margin-bottom:0;margin-left:10px}.overlay-nav .version-container[data-v-8495e562]{width:unset;height:25px}.version[data-v-8495e562]{color:var(--points)}.version:hover span[data-v-8495e562]{text-shadow:5px 0 10px var(--points),-3px 0 12px var(--points)}.nav>div>a[data-v-8495e562],.overlay-nav>div>a[data-v-8495e562]{color:var(--foreground);text-shadow:none}.tabs-container[data-v-248e2ebb]{width:100vw;flex-grow:1;overflow-x:auto;overflow-y:hidden;display:flex}.tabs-container[data-v-248e2ebb]:not(.useHeader){width:calc(100vw - 50px);margin-left:50px}.tab[data-v-248e2ebb]{position:relative;height:100%;flex-grow:1;transition-duration:0s;overflow-y:auto;overflow-x:hidden}.inner-tab[data-v-248e2ebb]{padding:50px 10px;min-height:calc(100% - 100px);display:flex;flex-direction:column;margin:0;flex-grow:1}.tab+.tab>.inner-tab[data-v-248e2ebb]{border-left:solid 4px var(--outline)}.tab hr{height:4px;border:none;background:var(--outline);margin:var(--feature-margin) 0}.tab .modal-body hr{margin:7px 0}.game-over-modal-header[data-v-4a50ce42]{display:flex;margin:-20px -20px 0;background:var(--raised-background);align-items:center}.game-over-modal-header *[data-v-4a50ce42]{margin:0}.game-over-modal-logo[data-v-4a50ce42]{height:4em;width:4em}.game-over-modal-title[data-v-4a50ce42]{display:flex;flex-direction:column;padding:10px 0;margin-left:10px}.game-over-footer[data-v-4a50ce42]{display:flex;justify-content:flex-end}.game-over-footer button[data-v-4a50ce42]{margin:0 10px}.game-over-modal-discord-link[data-v-4a50ce42]{display:flex;align-items:center}.game-over-modal-discord[data-v-4a50ce42]{margin:0 4px 0 0}.nan-modal-header[data-v-3de07c06]{padding:10px 0;margin-left:10px}.nan-footer[data-v-3de07c06]{display:flex;justify-content:flex-end}.nan-footer button[data-v-3de07c06]{margin:0 10px}.nan-modal-discord-link[data-v-3de07c06]{display:flex;align-items:center}.nan-modal-discord[data-v-3de07c06]{margin:0 4px 0 0}.tpsDisplay[data-v-46a3ed5b]{position:absolute;left:10px;bottom:10px;z-index:100}.low[data-v-46a3ed5b]{color:var(--danger)}.fade-leave-to[data-v-46a3ed5b]{opacity:0}:root{color-scheme:dark}*{transition-duration:.5s;font-family:Roboto Mono,monospace;font-weight:700;margin:auto;text-size-adjust:none}*:focus{outline:none}body{overflow:hidden;transition:none;text-align:center}html,body,#app{min-height:100%;height:100%}h1,h2,h3,b,input{display:inline}button{color:#000}a,.button,.link{display:block;color:var(--link);background:none;border:none;cursor:pointer;text-decoration:none}a:hover,.button:hover,.link:hover{text-shadow:5px 0 10px var(--link),-3px 0 12px var(--link)}.button:disabled{opacity:.5;cursor:not-allowed}.button:disabled:hover{text-shadow:none}ul{list-style-type:none}.Vue-Toastification__toast{margin:unset}.app[data-v-580927bb]{background-color:var(--background);color:var(--foreground);display:flex;flex-flow:column;min-height:100%;height:100%}#modal-root[data-v-580927bb]{position:absolute;min-height:100%;height:100%} +.table{display:flex;flex-flow:column wrap;justify-content:center;align-items:center;max-width:100%;margin:0 auto}.table-grid{display:flex;flex-flow:column}.table+.table{margin-top:10px}.row{display:flex;flex-flow:row wrap;justify-content:center;align-items:stretch;max-width:100%;margin:0 10px}.row>:not(.feature){margin:0;display:flex}.col{display:flex;flex-flow:column wrap;justify-content:center;align-items:center;height:100%;margin:10px 0}.row.mergeAdjacent>.feature:not(.dontMerge),.row.mergeAdjacent>.tooltip-container>.feature:not(.dontMerge){margin-left:0;margin-right:0;border-radius:0}.row.mergeAdjacent>.feature:not(.dontMerge):first-child,.row.mergeAdjacent>.tooltip-container:first-child>.feature:not(.dontMerge){border-radius:var(--border-radius) 0 0 var(--border-radius)}.row.mergeAdjacent>.feature:not(.dontMerge):last-child,.row.mergeAdjacent>.tooltip-container:last-child>.feature:not(.dontMerge){border-radius:0 var(--border-radius) var(--border-radius) 0}.row.mergeAdjacent>.feature:not(.dontMerge):first-child:last-child,.row.mergeAdjacent>.tooltip-container:first-child:last-child>.feature:not(.dontMerge){border-radius:var(--border-radius)}.row-grid{display:flex}.row-grid.mergeAdjacent>.feature:not(.dontMerge),.row-grid.mergeAdjacent>.tooltip-container>.feature:not(.dontMerge){margin:0;border-radius:0}.row-grid.mergeAdjacent>.feature:not(.dontMerge):last-child,.row-grid.mergeAdjacent>.tooltip-container:last-child>.feature:not(.dontMerge){border-radius:0}.row-grid.mergeAdjacent>.feature:not(.dontMerge):first-child,.row-grid.mergeAdjacent>.tooltip-container:first-child>.feature:not(.dontMerge){border-radius:0}.table-grid>.row-grid.mergeAdjacent:last-child>.feature:not(.dontMerge):first-child{border-bottom-left-radius:var(--border-radius)}.table-grid>.row-grid.mergeAdjacent:first-child>.feature:not(.dontMerge):last-child{border-top-right-radius:var(--border-radius)}.table-grid>.row-grid.mergeAdjacent:first-child>.feature:not(.dontMerge):first-child{border-top-left-radius:var(--border-radius)}.table-grid>.row-grid.mergeAdjacent:last-child>.feature:not(.dontMerge):last-child{border-bottom-right-radius:var(--border-radius)}.col.mergeAdjacent .feature:not(.dontMerge){margin-top:0;margin-bottom:0;border-radius:0}.col.mergeAdjacent .feature:not(.dontMerge):first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}.col.mergeAdjacent .feature:not(.dontMerge):last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}.col.mergeAdjacent .feature:not(.dontMerge):first-child:last-child{border-radius:var(--border-radius)}.resize-listener[data-v-2b1dc1bc]{position:absolute;top:0px;left:0;right:-4px;bottom:5px;z-index:-10;pointer-events:none}.modal-mask{position:fixed;z-index:9998;top:0;left:0;bottom:0;right:0;background-color:#00000080;transition:opacity .3s ease}.modal-wrapper{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.modal-container{width:640px;max-width:95vw;max-height:calc(95vh - 20px);background-color:var(--background);padding:20px;margin-top:20px;border-radius:5px;transition:all .3s ease;text-align:left;border:var(--modal-border);box-sizing:border-box;display:flex;flex-direction:column}.modal-header{width:100%;margin-top:-50px;text-align:center}.modal-header>h2{font-family:Great Vibes,cursive;font-weight:400;font-size:64px}.modal-body{margin:20px 0;width:100%;overflow-y:auto;overflow-x:hidden}.modal-footer{width:100%}.modal-default-footer{display:flex}.modal-default-flex-grow{flex-grow:1}.modal-enter-from,.modal-leave-active{opacity:0}.modal-enter-from .modal-container,.modal-leave-active .modal-container{-webkit-transform:scale(1.1);transform:scale(1.1)}.advent{width:80%;max-width:700px;background:url(./adventCalendarGameJamCalandar.0fdeb6b8.png);background-size:contain;display:flex;flex-direction:column;padding-top:28%;padding-left:10%;padding-right:10%;background-repeat:no-repeat;aspect-ratio:3151 / 4190}.advent>.table{width:100%}.advent>.table>.row{width:100%;margin:0 0 -5%;justify-content:space-around}.notif[data-v-66323fd4]{position:absolute;top:0;left:5px;z-index:10;pointer-events:none;user-select:none;color:var(--accent3);font-size:x-large;animation:1s linear infinite bounce-66323fd4;border-radius:var(--border-radius);background:var(--locked)}@keyframes bounce-66323fd4{0%{animation-timing-function:cubic-bezier(.1361,.2514,.2175,.8786);transform:translate(0) scaleY(1)}37%{animation-timing-function:cubic-bezier(.7674,.1844,.8382,.7157);transform:translateY(-20px) scaleY(1)}72%{animation-timing-function:cubic-bezier(.1118,.2149,.2172,.941);transform:translate(0) scaleY(1)}87%{animation-timing-function:cubic-bezier(.7494,.2259,.8209,.6963);transform:translateY(10px) scaleY(.602)}to{transform:translate(0) scaleY(1)}}.day[data-v-9de19f28]{flex:13% 0 0;position:relative;display:flex;background-color:var(--raised-background);aspect-ratio:1;margin:5%}.door-enter-from[data-v-9de19f28]:before,.door-enter-from[data-v-9de19f28]:after,.door-leave-to[data-v-9de19f28]:before,.door-leave-to[data-v-9de19f28]:after{transform:perspective(150px) rotateY(0)!important}.door-enter-from .date[data-v-9de19f28],.door-leave-to .date[data-v-9de19f28]{transform:translate(-50%,-50%) perspective(150px) rotateY(0)!important}.door-enter-active[data-v-9de19f28]:before,.door-enter-active[data-v-9de19f28]:after,.door-leave-active[data-v-9de19f28]:before,.door-leave-active[data-v-9de19f28]:after{z-index:2}.door-enter-active .date[data-v-9de19f28],.door-leave-active .date[data-v-9de19f28]{z-index:3}.day.opened .doors[data-v-9de19f28]:before,.day.opened .doors[data-v-9de19f28]:after,.day.opened .doors .date[data-v-9de19f28]{transition:1s}.day.opened .doors[data-v-9de19f28]:before{transform-origin:left;transform:perspective(150px) rotateY(-135deg)}.day.opened .doors[data-v-9de19f28]:after{transform-origin:right;transform:perspective(150px) rotateY(135deg)}.day.opened .doors .date[data-v-9de19f28]:first-child{transform-origin:left;transform:translate(-50%,-50%) perspective(150px) rotateY(-135deg);clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}.day.opened .doors .date[data-v-9de19f28]:last-child{transform-origin:right;transform:translate(-50%,-50%) perspective(150px) rotateY(135deg);clip-path:polygon(100% 0,50% 0,50% 100%,100% 100%)}.doors[data-v-9de19f28]{position:absolute;width:100%;height:100%;top:0;left:0}.day.opened .doors[data-v-9de19f28]{cursor:pointer}.doors[data-v-9de19f28]:before,.doors[data-v-9de19f28]:after{content:"";position:absolute;background-color:var(--locked);width:50%;height:100%;pointer-events:none}.doors[data-v-9de19f28]:before{top:0;left:0}.doors[data-v-9de19f28]:after{top:0;right:0}.date[data-v-9de19f28]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;font-size:large;pointer-events:none;user-select:none;backface-visibility:hidden;width:100%}.timer[data-v-9de19f28]{position:absolute;bottom:-12px;left:50%;padding:0 3px;transform:translate(-50%);z-index:3;pointer-events:none;user-select:none;white-space:nowrap;font-size:small;border:2px solid rgba(0,0,0,.125);border-radius:var(--border-radius);background:var(--locked)}.icon[data-v-9de19f28]{pointer-events:none;background-size:contain;width:100%;height:100%}.lore[data-v-9de19f28]{position:absolute;top:5px;right:5px;width:20px;height:20px;z-index:1;border-radius:50%;cursor:pointer;background-color:var(--highlighted);user-select:none}.lore[data-v-9de19f28]:hover{box-shadow:0 0 10px var(--points)}.lock[data-v-9de19f28]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.2;font-size:400%}.collapsible-container[data-v-a72c16aa]{width:calc(100% - 10px)}.collapsible-toggle[data-v-a72c16aa]{max-width:unset;width:calc(100% + 0px);margin:0 0 0 -5px;background:var(--raised-background);padding:var(--feature-margin);color:var(--foreground);cursor:pointer;transition-duration:0s}.collapsible-toggle[data-v-a72c16aa]:last-child{margin-left:unset}[data-v-a72c16aa] .collapsible-toggle+.table{max-width:unset;width:calc(100% + 10px);margin-left:-5px}[data-v-a72c16aa] .col{margin-top:0;margin-bottom:0;width:100%}.mergeAdjacent .collapsible-toggle[data-v-a72c16aa]{border:0;border-top-left-radius:0!important;border-top-right-radius:0!important}[data-v-a72c16aa] .mergeAdjacent .feature:not(.dontMerge):first-child{border-top-left-radius:0!important;border-top-right-radius:0!important}.mark[data-v-2207999f]{position:absolute;left:-25px;top:-10px;width:30px;height:30px;z-index:1;pointer-events:none;margin-left:.9em;margin-right:.9em;margin-bottom:1.2em;border-right:.3em solid transparent;border-bottom:.7em solid transparent;border-left:.3em solid transparent;font-size:10px}.star[data-v-2207999f]{left:-10px;width:0;height:0;margin-left:.9em;margin-right:.9em;margin-bottom:1.2em;border-right:.3em solid transparent;border-bottom:.7em solid #ffcc00;border-left:.3em solid transparent;font-size:10px;pointer-events:none}.star[data-v-2207999f]:before,.star[data-v-2207999f]:after{content:"";width:0;height:0;position:absolute;top:.6em;left:-1em;border-right:1em solid transparent;border-bottom:.7em solid #ffcc00;border-left:1em solid transparent;transform:rotate(-35deg)}.star[data-v-2207999f]:after{transform:rotate(35deg)}.node[data-v-a48cb382]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.bar[data-v-730cc7a0]{position:relative;display:table;overflow:hidden;border-radius:10px}.overlayTextContainer[data-v-730cc7a0]{position:absolute;border-radius:10px;vertical-align:middle;display:flex;justify-content:center;z-index:3}.overlayText[data-v-730cc7a0]{z-index:6}.border[data-v-730cc7a0]{border:2px solid;border-radius:10px;border-color:var(--foreground);overflow:hidden;margin:0}.fill[data-v-730cc7a0]{position:absolute;background-color:var(--foreground);overflow:hidden;margin-left:-.5px;transition-duration:.2s;z-index:2}.feature:not(li),.feature:not(li) button{position:relative;padding:5px;border-radius:var(--border-radius);border:2px solid rgba(0,0,0,.125);margin:var(--feature-margin);box-sizing:border-box;color:var(--feature-foreground);z-index:0;transition:all .5s,z-index 0s .5s}.can,.can button{background-color:var(--layer-color);cursor:pointer}.can:hover,.can:hover button{transform:scale(1.15);box-shadow:0 0 20px var(--points);z-index:1;transition:all .5s,z-index 0s}.locked,.locked button{background-color:var(--locked);cursor:not-allowed}.bought,.bought button{background-color:var(--bought);cursor:default}.clickable[data-v-8cedd7da]{min-height:120px;width:120px;font-size:10px}.clickable.small[data-v-8cedd7da]{min-height:unset}.clickable>*[data-v-8cedd7da]{pointer-events:none}.resize-listener[data-v-063f6d6b]{position:absolute;top:0px;left:0;right:-4px;bottom:5px;z-index:-10;pointer-events:none}svg[data-v-063f6d6b]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-10;pointer-events:none}.left-side-nodes[data-v-39ca96d0]{position:absolute;left:15px;top:65px}.side-nodes[data-v-39ca96d0]{position:absolute;right:15px;top:65px}.left-side-nodes[data-v-39ca96d0] .treeNode,.side-nodes[data-v-39ca96d0] .treeNode{margin:20px auto}.small[data-v-39ca96d0] .treeNode{height:60px;width:60px}.small[data-v-39ca96d0] .treeNode>*:first-child{font-size:30px}.treeNode[data-v-1c0c107d]{height:100px;width:100px;border-radius:50%;padding:0;margin:0 10px}.treeNode>*[data-v-1c0c107d]:first-child{width:100%;height:100%;border:2px solid rgba(0,0,0,.125);border-radius:inherit;font-size:40px;color:#00000080;text-shadow:2px 2px 4px rgba(0,0,0,.25);box-shadow:-4px -4px 4px #00000040 inset,0 0 20px var(--background);text-transform:capitalize;display:flex}.treeNode>*:first-child>*[data-v-1c0c107d]{pointer-events:none}.modifier-toggle{padding-right:10px;transform:translateY(-1px);display:inline-block}.modifier-toggle.collapsed{transform:translate(-5px,-5px) rotate(-90deg)}.sticky[data-v-cccac690]{position:sticky;background:var(--background);width:calc(100% - 2px);z-index:3}.main-display-container{vertical-align:middle;margin-bottom:20px;display:flex;transition-duration:0s}.upgrade[data-v-7f411ac8]{min-height:120px;width:120px;font-size:10px}.upgrade>*[data-v-7f411ac8]{pointer-events:none}.modifier-container{display:flex;padding:1px 8px}.modifier-container:nth-child(2n){background:var(--raised-background)}.modifier-amount{flex-basis:100px;flex-shrink:0;text-align:right}.modifier-description{flex-grow:1}.field{display:flex;position:relative;min-height:2em;margin:10px 0;user-select:none;justify-content:space-between;align-items:center}.field>*{margin:0}.vue-select{width:50%;border-radius:var(--border-radius)}.field-buttons .vue-select{width:unset}.vue-select,.vue-dropdown{border-color:var(--outline)}.vue-dropdown{background:var(--raised-background)}.vue-dropdown-item{color:var(--foreground)}.vue-dropdown-item,.vue-dropdown-item *{transition-duration:0s}.vue-dropdown-item.highlighted{background-color:var(--highlighted)}.vue-dropdown-item.selected,.vue-dropdown-item.highlighted.selected{background-color:var(--bought)}.vue-input input::placeholder{color:var(--link)}.milestone[data-v-f4e8794e]{width:calc(100% - 10px);min-width:120px;padding-left:5px;padding-right:5px;background-color:var(--locked);border-width:4px;border-radius:5px;color:#00000080}.milestone.done[data-v-f4e8794e]{background-color:var(--bought);cursor:default}.milestone[data-v-f4e8794e] .equal-spaced{display:flex;justify-content:center}.milestone[data-v-f4e8794e] .equal-spaced>*{margin:auto}.tabButton[data-v-610a2549]{background-color:transparent;color:var(--foreground);font-size:20px;cursor:pointer;padding:5px 20px;margin:5px;border-radius:5px;border:2px solid;flex-shrink:0;border-color:var(--layer-color)}.tabButton[data-v-610a2549]:hover{transform:scale(1.1);text-shadow:0 0 7px var(--foreground)}:not(.floating)>.tabButton[data-v-610a2549]{height:50px;margin:0;border-left:none;border-right:none;border-top:none;border-bottom-width:4px;border-radius:0;transform:unset}:not(.floating) .tabButton[data-v-610a2549]:not(.active){border-bottom-color:transparent}.tabButton>*[data-v-610a2549]{pointer-events:none}.tab-family-container[data-v-11575f45]{margin:calc(50px + var(--feature-margin)) 20px var(--feature-margin) 20px;position:relative;border:solid 4px;border-color:var(--outline)}.layer-tab>.tab-family-container[data-v-11575f45]:first-child{margin:-4px -11px var(--feature-margin) -11px}.layer-tab>.tab-family-container[data-v-11575f45]:first-child:nth-last-child(3){border-bottom-style:none;border-left-style:none;border-right-style:none;height:calc(100% + 50px)}.modal-body>.tab-family-container[data-v-11575f45]:first-child{margin:calc(10px + var(--feature-margin)) 10px 0 10px;border:none}.tab-family-container[data-v-11575f45]>:nth-child(2){margin-top:20px}.modal-body>.tab-family-container[data-v-11575f45]>:nth-child(2){margin-top:50px}.tab-family-container[data-v-f18896fc][data-v-11575f45]>:last-child{margin-bottom:20px}.tab-buttons-container[data-v-11575f45]{z-index:4}.tab-buttons-container[data-v-11575f45]:not(.floating){border-bottom:solid 4px;border-color:inherit}:not(.layer-tab):not(.modal-body)>.tab-family-container>.tab-buttons-container[data-v-11575f45]:not(.floating){width:calc(100% + 6px);margin-left:-3px}.tab-buttons-container:not(.floating) .tab-buttons[data-v-11575f45]{text-align:left;margin-bottom:-4px}.tab-buttons-container.floating .tab-buttons[data-v-11575f45]{justify-content:center;margin-top:-25px}.tab-buttons[data-v-11575f45]{margin-bottom:24px;display:flex;flex-flow:wrap;z-index:4}.layer-tab>.tab-family-container:first-child:nth-last-child(3)>.tab-buttons-container>.tab-buttons[data-v-11575f45]{padding-right:60px}.tab-buttons[data-v-11575f45]:not(.floating){text-align:left;border-bottom:inherit;border-width:4px;box-sizing:border-box;height:50px}.modal-body .tab-buttons[data-v-11575f45]{width:100%;margin-left:0;margin-right:0;padding-left:0}.showGoBack>.tab-family-container>.tab-buttons-container:not(.floating):first-child .tab-buttons[data-v-11575f45]{padding-left:70px}:not(.showGoBack)>.tab-family-container>.tab-buttons-container:not(.floating):first-child .tab-buttons[data-v-11575f45]{padding-left:0}.minimizable>.tab-buttons-container[data-v-11575f45]:not(.floating):first-child{padding-right:50px}.tab-buttons-container:not(.floating):first-child .tab-buttons[data-v-11575f45]{margin-top:-50px}.tab-buttons-container+*[data-v-11575f45]{margin-top:20px}.field[data-v-33d57459]{cursor:pointer;pointer-events:all}input[data-v-33d57459]{appearance:none;pointer-events:none}span[data-v-33d57459]{width:100%;position:relative}input+span[data-v-33d57459]:before{content:"";float:right;margin:5px 0 5px 10px;border-radius:7px;width:36px;height:14px;background-color:var(--outline);opacity:.38;vertical-align:top;transition:background-color .2s,opacity .2s;border:solid 1px var(--feature-foreground)}input+span[data-v-33d57459]:after{content:"";position:absolute;top:2px;right:16px;border-radius:50%;width:20px;height:20px;background-color:var(--locked);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;transition:background-color .2s,transform .2s;border:solid 1px var(--feature-foreground)}input:checked+span[data-v-33d57459]:before{background-color:var(--link);opacity:.6}input:checked+span[data-v-33d57459]:after{background-color:var(--link);transform:translate(16px)}input:active+span[data-v-33d57459]:before{background-color:var(--link);opacity:.6}input:checked:active+span[data-v-33d57459]:before{background-color:var(--outline);opacity:.38}input:disabled+span[data-v-33d57459]{color:#000;opacity:.38;cursor:default}input:disabled+span[data-v-33d57459]:before{background-color:var(--outline);opacity:.38}input:checked:disabled+span[data-v-33d57459]:before{background-color:var(--link);opacity:.6}.scene[data-v-47b4d886]{width:600px;height:300px;position:relative}.scene[data-v-47b4d886]:after{content:"";position:absolute;width:100%;height:20%;border-radius:50% 50% 0 0/100% 100% 0 0;bottom:0;background:white}.scene-item[data-v-47b4d886]{width:80px;height:80px;position:absolute;z-index:1}.scene-bubble[data-v-47b4d886]{position:absolute;background:white;height:60px;padding:5px;border-radius:10px}.scene-bubble[data-v-47b4d886]:after{content:"";position:absolute;width:0;height:0;top:100%;left:20px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:15px solid white}.scene-bubble .scene-item[data-v-47b4d886]{height:60px;width:60px;position:static}.layer-container[data-v-0158bec3]{min-width:100%;min-height:100%;margin:0;flex-grow:1;display:flex;isolation:isolate}.layer-tab[data-v-0158bec3]:not(.minimized){padding-top:20px;padding-bottom:20px;min-height:100%;flex-grow:1;text-align:center;position:relative}.inner-tab>.layer-container>.layer-tab[data-v-0158bec3]:not(.minimized){padding-top:50px}.layer-tab.minimized[data-v-0158bec3]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;padding:55px 0 0;margin:0;cursor:pointer;font-size:40px;color:var(--foreground);border:none;background-color:transparent}.layer-tab.minimized div[data-v-0158bec3]{margin:0;writing-mode:vertical-rl;padding-left:10px;width:50px}.inner-tab>.layer-container>.layer-tab[data-v-0158bec3]:not(.minimized){margin:-50px -10px;padding:50px 10px}.modal-body .layer-tab[data-v-0158bec3]{padding-bottom:0}.modal-body .layer-tab[data-v-0158bec3]:not(.hasSubtabs){padding-top:0}.minimize[data-v-0158bec3]{position:sticky;top:6px;right:9px;z-index:7;line-height:30px;border:none;background:var(--background);box-shadow:var(--background) 0 2px 3px 5px;border-radius:50%;color:var(--foreground);font-size:40px;cursor:pointer;margin-top:-44px;margin-right:-30px}.minimized+.minimize[data-v-0158bec3]{transform:rotate(-90deg);top:10px;right:18px;pointer-events:none}.goBack[data-v-0158bec3]{position:sticky;top:10px;left:10px;line-height:30px;margin-top:-50px;margin-left:-35px;border:none;background:var(--background);box-shadow:var(--background) 0 2px 3px 5px;border-radius:50%;color:var(--foreground);font-size:30px;cursor:pointer;z-index:7}.goBack[data-v-0158bec3]:hover{transform:scale(1.1);text-shadow:0 0 7px var(--foreground)}details[data-v-4b4bda40]{margin:10px 0;padding-left:18px}summary[data-v-4b4bda40]{cursor:pointer;margin-bottom:10px;margin-left:-18px}ul[data-v-4b4bda40]{margin:var(--feature-margin) 0;background:var(--raised-background);border:2px solid rgba(0,0,0,.125);padding:5px 5px 5px 15px;list-style:inside}li[data-v-4b4bda40]{margin:8px 0}li[data-v-4b4bda40]:before{padding:2px 8px;margin-right:8px;border-radius:var(--border-radius)}.feature[data-v-4b4bda40]:before{content:"Feature";background:var(--accent1)}.fix[data-v-4b4bda40]:before{content:"Fix";background:var(--accent2)}.balancing[data-v-4b4bda40]:before{content:"Balancing";background:var(--accent3)}.breaking[data-v-4b4bda40]:before{content:"Breaking";background:var(--danger)}.tooltip-container[data-v-6102fa3a]{position:relative;--xoffset: 0px;--yoffset: 0px;text-shadow:none!important}.tooltip[data-v-6102fa3a],.tooltip[data-v-6102fa3a]:after{pointer-events:none;position:absolute}.tooltip[data-v-6102fa3a]{text-align:center;width:150px;font-size:14px;line-height:1.2;bottom:calc(100% + var(--yoffset));left:calc(50% + var(--xoffset));margin-bottom:5px;transform:translate(-50%);padding:7px;border-radius:3px;background-color:var(--tooltip-background);color:var(--points);z-index:100!important;word-break:break-word}.tooltip[data-v-6102fa3a] hr{margin:var(--feature-margin) 0}.shown[data-v-6102fa3a]{z-index:10}.fade-enter-from[data-v-6102fa3a],.fade-leave-to[data-v-6102fa3a]{opacity:0}.tooltip[data-v-6102fa3a]:after{content:" ";position:absolute;top:100%;bottom:100%;left:calc(50% - var(--xoffset));width:0;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--tooltip-background) transparent transparent transparent}.tooltip.left[data-v-6102fa3a],.side-nodes .tooltip[data-v-6102fa3a]:not(.right):not(.bottom):not(.top){bottom:calc(50% + var(--yoffset));left:unset;right:calc(100% + var(--xoffset));margin-bottom:unset;margin-right:5px;transform:translateY(50%)}.tooltip.left[data-v-6102fa3a]:after,.side-nodes .tooltip[data-v-6102fa3a]:not(.right):not(.bottom):not(.top):after{top:calc(50% + var(--yoffset));bottom:unset;left:100%;right:100%;margin-left:unset;margin-top:-5px;border-color:transparent transparent transparent var(--tooltip-background)}.tooltip.right[data-v-6102fa3a]{bottom:calc(50% + var(--yoffset));left:calc(100% + var(--xoffset));margin-bottom:unset;margin-left:5px;transform:translateY(50%)}.tooltip.right[data-v-6102fa3a]:after{top:calc(50% + var(--yoffset));left:0;right:100%;margin-left:-10px;margin-top:-5px;border-color:transparent var(--tooltip-background) transparent transparent}.tooltip.bottom[data-v-6102fa3a]{top:calc(100% + var(--yoffset));bottom:unset;left:calc(50% + var(--xoffset));margin-bottom:unset;margin-top:5px;transform:translate(-50%)}.tooltip.bottom[data-v-6102fa3a]:after{top:0;margin-top:-10px;border-color:transparent transparent var(--tooltip-background) transparent}.pinned[data-v-6102fa3a]{position:absolute;right:-5px;top:-5px;transform:rotate(45deg)}.info-modal .modal-header{font-family:unset;font-weight:unset;font-size:unset;margin-top:unset}.info-modal-header{display:flex;margin:-20px -20px 0;background:var(--raised-background);align-items:center}.info-modal-header *{margin:0}.info-modal-logo{height:4em;width:4em}.info-modal-title{display:flex;flex-grow:1;flex-direction:column;padding:10px 0;text-align:center}.info-modal-title h2{font-family:Great Vibes,cursive;font-weight:400;font-size:64px;margin-top:-40px}.info-modal-discord-link{display:flex;align-items:center}.info-modal-discord{margin:0 4px 0 0}*[data-v-0d685451] .tooltip-container{display:inline;margin-left:5px}form[data-v-67b44a54]{margin:0;width:100%}.field>*[data-v-67b44a54]{margin:0}input[data-v-67b44a54]{width:50%;outline:none;border:solid 1px var(--outline);background-color:unset;border-radius:var(--border-radius)}.fullWidth[data-v-67b44a54]{width:100%}.container[data-v-2f8ef34c]{display:flex;align-items:center;background:var(--raised-background);box-shadow:var(--raised-background) 0 2px 3px 5px}.container.confirming button[data-v-2f8ef34c]{font-size:1em}.container>*[data-v-2f8ef34c]{margin:0 4px}.danger,.button.danger{position:relative;border:solid 2px var(--danger);border-right-width:16px}.danger:after{position:absolute;content:"!";color:#fff;right:-13px}.feedback[data-v-01a1b95c]{position:relative}.feedback[data-v-01a1b95c]:after{position:absolute;left:calc(100% + 5px);top:50%;transform:translateY(-50%);content:"\2714";opacity:0;pointer-events:none;box-shadow:inset 0 0 0 35px #6f94b600;text-shadow:none}.feedback.left[data-v-01a1b95c]:after{left:unset;right:calc(100% + 5px)}.feedback.activated[data-v-01a1b95c]:after{animation:feedback-01a1b95c .5s ease-out forwards}@keyframes feedback-01a1b95c{0%{opacity:1;transform:scale3d(.4,.4,1),translateY(-50%)}80%{opacity:.1}to{opacity:0;transform:scale3d(1.2,1.2,1),translateY(-50%)}}.save[data-v-5285ac49]{position:relative;border:solid 4px var(--outline);padding:4px;background:var(--raised-background);margin:var(--feature-margin);display:flex;align-items:center;min-height:30px}.save.active[data-v-5285ac49]{border-color:var(--bought)}.open[data-v-5285ac49]{display:inline;margin:0;padding-left:0}.handle[data-v-5285ac49]{flex-grow:0;margin-right:8px;margin-left:0;cursor:pointer}.details[data-v-5285ac49]{margin:0 80px 0 0;flex-grow:1}.error[data-v-5285ac49]{font-size:.8em;color:var(--danger)}.save-version[data-v-5285ac49]{margin-left:4px;font-size:.7em;opacity:.7}.actions[data-v-5285ac49]{position:absolute;top:0;bottom:0;right:4px;display:flex;padding:4px;z-index:1}.editname[data-v-5285ac49]{margin:0}.save button{transition-duration:0s}.save .actions button{display:flex;font-size:1.2em}.save .actions button .material-icons{font-size:unset}.save .button.danger{display:flex;align-items:center;padding:4px}.save .field,.field form[data-v-3b9991aa],.field .field-title[data-v-3b9991aa],.field .field-buttons[data-v-3b9991aa]{margin:0}.field-buttons[data-v-3b9991aa]{display:flex}.field-buttons .field[data-v-3b9991aa]{margin:0 0 0 8px}.modal-footer[data-v-3b9991aa]{margin-top:-20px}.footer[data-v-3b9991aa]{display:flex;margin-top:20px}.importingFailed input{color:red}.field-buttons .v-select{width:220px}.presets .vue-select[aria-expanded=true] vue-dropdown{visibility:hidden}.nav[data-v-8495e562]{background-color:var(--raised-background);display:flex;left:0;right:0;top:0;height:46px;width:100%;border-bottom:4px solid var(--outline)}.nav>*[data-v-8495e562]{height:46px;width:46px;display:flex;cursor:pointer;flex-shrink:0}.nav>.banner[data-v-8495e562]{height:100%;width:unset}.overlay-nav[data-v-8495e562]{position:fixed;top:10px;left:10px;display:flex;flex-direction:column;z-index:2}.overlay-nav>*[data-v-8495e562]{height:50px;width:50px;display:flex;cursor:pointer;margin:0;align-items:center;justify-content:center}.title[data-v-8495e562]{font-family:Great Vibes,cursive;font-size:46px;text-align:left;margin-left:12px;cursor:unset}.nav>.title[data-v-8495e562]{width:unset;flex-shrink:1;padding-right:8px;overflow:hidden;white-space:nowrap}.nav .saves[data-v-8495e562],.nav .info[data-v-8495e562]{display:flex}.tooltip-container[data-v-8495e562]{width:100%;height:100%;display:flex}.overlay-nav .discord[data-v-8495e562]{position:relative}.discord img[data-v-8495e562]{width:100%;height:100%}.discord-links[data-v-8495e562]{position:fixed;top:45px;padding:20px;right:-280px;width:200px;transition:right .25s ease;background:var(--raised-background);z-index:10}.overlay-nav .discord-links[data-v-8495e562]{position:absolute;left:-280px;right:unset;transition:left .25s ease}.overlay-nav .discord:hover .discord-links[data-v-8495e562]{left:-10px}.discord-links li[data-v-8495e562]{margin-bottom:4px}.discord-links li[data-v-8495e562]:first-child{font-size:1.2em}*:not(.overlay-nav) .discord:hover .discord-links[data-v-8495e562]{right:0}.material-icons[data-v-8495e562]{font-size:36px}.material-icons[data-v-8495e562]:hover{text-shadow:5px 0 10px var(--link),-3px 0 12px var(--foreground)}.nav .version-container[data-v-8495e562]{display:flex;height:25px;margin-bottom:0;margin-left:10px}.overlay-nav .version-container[data-v-8495e562]{width:unset;height:25px}.version[data-v-8495e562]{color:var(--points)}.version:hover span[data-v-8495e562]{text-shadow:5px 0 10px var(--points),-3px 0 12px var(--points)}.nav>div>a[data-v-8495e562],.overlay-nav>div>a[data-v-8495e562]{color:var(--foreground);text-shadow:none}.tabs-container[data-v-248e2ebb]{width:100vw;flex-grow:1;overflow-x:auto;overflow-y:hidden;display:flex}.tabs-container[data-v-248e2ebb]:not(.useHeader){width:calc(100vw - 50px);margin-left:50px}.tab[data-v-248e2ebb]{position:relative;height:100%;flex-grow:1;transition-duration:0s;overflow-y:auto;overflow-x:hidden}.inner-tab[data-v-248e2ebb]{padding:50px 10px;min-height:calc(100% - 100px);display:flex;flex-direction:column;margin:0;flex-grow:1}.tab+.tab>.inner-tab[data-v-248e2ebb]{border-left:solid 4px var(--outline)}.tab hr{height:4px;border:none;background:var(--outline);margin:var(--feature-margin) 0}.tab .modal-body hr{margin:7px 0}.game-over-modal-header[data-v-4a50ce42]{display:flex;margin:-20px -20px 0;background:var(--raised-background);align-items:center}.game-over-modal-header *[data-v-4a50ce42]{margin:0}.game-over-modal-logo[data-v-4a50ce42]{height:4em;width:4em}.game-over-modal-title[data-v-4a50ce42]{display:flex;flex-direction:column;padding:10px 0;margin-left:10px}.game-over-footer[data-v-4a50ce42]{display:flex;justify-content:flex-end}.game-over-footer button[data-v-4a50ce42]{margin:0 10px}.game-over-modal-discord-link[data-v-4a50ce42]{display:flex;align-items:center}.game-over-modal-discord[data-v-4a50ce42]{margin:0 4px 0 0}.nan-modal-header[data-v-3de07c06]{padding:10px 0;margin-left:10px}.nan-footer[data-v-3de07c06]{display:flex;justify-content:flex-end}.nan-footer button[data-v-3de07c06]{margin:0 10px}.nan-modal-discord-link[data-v-3de07c06]{display:flex;align-items:center}.nan-modal-discord[data-v-3de07c06]{margin:0 4px 0 0}.tpsDisplay[data-v-46a3ed5b]{position:absolute;left:10px;bottom:10px;z-index:100}.low[data-v-46a3ed5b]{color:var(--danger)}.fade-leave-to[data-v-46a3ed5b]{opacity:0}:root{color-scheme:dark}*{transition-duration:.5s;font-family:Roboto Mono,monospace;font-weight:700;margin:auto;text-size-adjust:none}*:focus{outline:none}body{overflow:hidden;transition:none;text-align:center}html,body,#app{min-height:100%;height:100%}h1,h2,h3,b,input{display:inline}button{color:#000}a,.button,.link{display:block;color:var(--link);background:none;border:none;cursor:pointer;text-decoration:none}a:hover,.button:hover,.link:hover{text-shadow:5px 0 10px var(--link),-3px 0 12px var(--link)}.button:disabled{opacity:.5;cursor:not-allowed}.button:disabled:hover{text-shadow:none}ul{list-style-type:none}.Vue-Toastification__toast{margin:unset}.app[data-v-580927bb]{background-color:var(--background);color:var(--foreground);display:flex;flex-flow:column;min-height:100%;height:100%}#modal-root[data-v-580927bb]{position:absolute;min-height:100%;height:100%} diff --git a/assets/index.d358461b.js b/assets/index.d358461b.js deleted file mode 100644 index b244b2e..0000000 --- a/assets/index.d358461b.js +++ /dev/null @@ -1,19 +0,0 @@ -/* empty css */import"./vue.92681fcb.js";import{Z as f,l as dt,aa as oe,t as G,ay as na,ar as Sl,aE as w,a0 as D,aK as Vt,a1 as v,O as I,aG as Jl,A as ot,_ as X,a8 as o,b6 as ne,b8 as ia,bs as on,C as r,aq as fl,bu as $l,bb as oa,T as ni,a7 as c,u as sa,j as ii,bv as Ca,q as Hl,b1 as Wt,G as Ye,aC as sn,w as Ft,b2 as Mt,ao as oi,I as et,J as Ae,$ as U,aH as nl,aF as il,z as Kt,aN as Le,al as Zl,aL as Zt,H as si,aJ as _a,bn as ri,br as ui,be as di}from"./@vue.4ce677c2.js";import{c as rn}from"./nanoevents.1080beb7.js";import{L as pl}from"./lz-string.731cedc5.js";import{i as ci}from"./is-plain-object.906d88e8.js";import{Y as pi}from"./vue-next-select.a2bfab1d.js";import{s as mi,u as un}from"./vue-toastification.6f567382.js";import{D as gi}from"./vuedraggable.7949458c.js";import{p as fi}from"./vue-textarea-autosize.35804eaf.js";import{v as vi,n as hi}from"./workbox-window.8d14e8b7.js";import"./sortablejs.29100d8a.js";const yi=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const d of s.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&n(d)}).observe(document,{childList:!0,subtree:!0});function l(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerpolicy&&(s.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?s.credentials="include":i.crossorigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(i){if(i.ep)return;i.ep=!0;const s=l(i);fetch(i.href,s)}};yi();const bi="modulepreload",Va={},wi="./",ea=function(t,l){return!l||l.length===0?t():Promise.all(l.map(n=>{if(n=`${wi}${n}`,n in Va)return;Va[n]=!0;const i=n.endsWith(".css"),s=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${n}"]${s}`))return;const d=document.createElement("link");if(d.rel=i?"stylesheet":bi,i||(d.as="script",d.crossOrigin=""),d.href=n,document.head.appendChild(d),i)return new Promise((u,p)=>{d.addEventListener("load",u),d.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t())},Ai="./projInfo-schema.json",Ci="Advent Incremental",ki="An incremental game you play a day at a time, leading up to Christmas!",_i="advent-incremental",Si="thepaperpilot and friends",Ei="",Bi="",Ni="0.3",Ii="Initial Commit",Mi=!0,Di=!1,xi=2,Pi=!0,Ti=null,Fi="",Ui=["main"],Ri=3600,Oi=0,$i=!0,Qi="base64";var Ue={$schema:Ai,title:Ci,description:ki,id:_i,author:Si,discordName:Ei,discordLink:Bi,versionNumber:Ni,versionTitle:Ii,allowGoBack:Mi,defaultShowSmall:Di,defaultDecimalsShown:xi,useHeader:Pi,banner:Ti,logo:Fi,initialTabs:Ui,maxTickLength:Ri,offlineLimit:Oi,enablePausing:$i,exportEncoding:Qi};const va=17,Gi=9e15,qi=Math.log10(9e15),Vi=1/9e15,Hi=308,Li=-324,Ha=5,ji=function(){const e=[];for(let l=Li+1;l<=Hi;l++)e.push(Number("1e"+l));const t=323;return function(l){return e[l+t]}}(),Cl=[2,Math.E,3,4,5,6,7,8,9,10],Wi=[[1,1.0891168053867777,1.1789745164521264,1.2701428397304229,1.3632066654400328,1.4587804913784246,1.557523817412741,1.660158301473385,1.767487542936873,1.8804205225512542,2],[1,1.1121114330934,1.23103892493161,1.35838369631113,1.49605193039935,1.64635423375119,1.81213853570186,1.99697132461829,2.20538955455724,2.44325744833852,Math.E],[1,1.1187738849693603,1.2464963939368214,1.38527004705667,1.5376664685821402,1.7068895236551784,1.897001227148399,2.1132403089001035,2.362480153784171,2.6539010333870774,3],[1,1.1367350847096405,1.2889510672956703,1.4606478703324786,1.6570295196661111,1.8850062585672889,2.1539465047453485,2.476829779693097,2.872061932789197,3.3664204535587183,4],[1,1.1494592900767588,1.319708228183931,1.5166291280087583,1.748171114438024,2.0253263297298045,2.3636668498288547,2.7858359149579424,3.3257226212448145,4.035730287722532,5],[1,1.159225940787673,1.343712473580932,1.5611293155111927,1.8221199554561318,2.14183924486326,2.542468319282638,3.0574682501653316,3.7390572020926873,4.6719550537360774,6],[1,1.1670905356972596,1.3632807444991446,1.5979222279405536,1.8842640123816674,2.2416069644878687,2.69893426559423,3.3012632110403577,4.121250340630164,5.281493033448316,7],[1,1.1736630594087796,1.379783782386201,1.6292821855668218,1.9378971836180754,2.3289975651071977,2.8384347394720835,3.5232708454565906,4.478242031114584,5.868592169644505,8],[1,1.1793017514670474,1.394054150657457,1.65664127441059,1.985170999970283,2.4069682290577457,2.9647310119960752,3.7278665320924946,4.814462547283592,6.436522247411611,9],[1,1.18422737399915,1.4066113788546144,1.680911177655277,2.027492094355525,2.4775152854601967,3.080455730250329,3.918234505962507,5.1332705696484595,6.9878696918072905,10]],Ki=[[-1,-.9194161097107025,-.8335625019330468,-.7425599821143978,-.6466611521029437,-.5462617907227869,-.4419033816638769,-.3342645487554494,-.224140440909962,-.11241087890006762,0],[-1,-.90603157029014,-.80786507256596,-.7064666939634,-.60294836853664,-.49849837513117,-.39430303318768,-.29147201034755,-.19097820800866,-.09361896280296,0],[-1,-.9021579584316141,-.8005762598234203,-.6964780623319391,-.5911906810998454,-.486050182576545,-.3823089430815083,-.28106046722897615,-.1831906535795894,-.08935809204418144,0],[-1,-.8917227442365535,-.781258746326964,-.6705130326902455,-.5612813129406509,-.4551067709033134,-.35319256652135966,-.2563741554088552,-.1651412821106526,-.0796919581982668,0],[-1,-.8843387974366064,-.7678744063886243,-.6529563724510552,-.5415870994657841,-.4352842206588936,-.33504449124791424,-.24138853420685147,-.15445285440944467,-.07409659641336663,0],[-1,-.8786709358426346,-.7577735191184886,-.6399546189952064,-.527284921869926,-.4211627631006314,-.3223479611761232,-.23107655627789858,-.1472057700818259,-.07035171210706326,0],[-1,-.8740862815291583,-.7497032990976209,-.6297119746181752,-.5161838335958787,-.41036238255751956,-.31277212146489963,-.2233976621705518,-.1418697367979619,-.06762117662323441,0],[-1,-.8702632331800649,-.7430366914122081,-.6213373075161548,-.5072025698095242,-.40171437727184167,-.30517930701410456,-.21736343968190863,-.137710238299109,-.06550774483471955,0],[-1,-.8670016295947213,-.7373984232432306,-.6143173985094293,-.49973884395492807,-.394584953527678,-.2989649949848695,-.21245647317021688,-.13434688362382652,-.0638072667348083,0],[-1,-.8641642839543857,-.732534623168535,-.6083127477059322,-.4934049257184696,-.3885773075899922,-.29376029055315767,-.2083678561173622,-.13155653399373268,-.062401588652553186,0]],A=function(t){return a.fromValue_noAlloc(t)},de=function(e,t,l){return a.fromComponents(e,t,l)},ke=function(t,l,n){return a.fromComponents_noNormalize(t,l,n)},cl=function(t,l){const n=l+1,i=Math.ceil(Math.log10(Math.abs(t))),s=Math.round(t*Math.pow(10,n-i))*Math.pow(10,i-n);return parseFloat(s.toFixed(Math.max(n-i,0)))},ha=function(e){return Math.sign(e)*Math.log10(Math.abs(e))},zi=function(e){if(!isFinite(e))return e;if(e<-50)return e===Math.trunc(e)?Number.NEGATIVE_INFINITY:0;let t=1;for(;e<10;)t=t*e,++e;e-=1;let l=.9189385332046727;l=l+(e+.5)*Math.log(e),l=l-e;const n=e*e;let i=e;return l=l+1/(12*i),i=i*n,l=l+1/(360*i),i=i*n,l=l+1/(1260*i),i=i*n,l=l+1/(1680*i),i=i*n,l=l+1/(1188*i),i=i*n,l=l+691/(360360*i),i=i*n,l=l+7/(1092*i),i=i*n,l=l+3617/(122400*i),Math.exp(l)/t},dn=.5671432904097838,La=function(e,t=1e-10){let l,n;if(!Number.isFinite(e)||e===0)return e;if(e===1)return dn;e<10?l=0:l=Math.log(e)-Math.log(Math.log(e));for(let i=0;i<100;++i){if(n=(e*Math.exp(-l)+l*l)/(l+1),Math.abs(n-l).5?1:-1;if(Math.random()*20<1)return ke(t,0,1);const l=Math.floor(Math.random()*(e+1));let n=l===0?Math.random()*616-308:Math.random()*16;Math.random()>.9&&(n=Math.trunc(n));let i=Math.pow(10,n);return Math.random()>.9&&(i=Math.trunc(i)),de(t,l,i)}static affordGeometricSeries_core(e,t,l,n){const i=t.mul(l.pow(n));return N.floor(e.div(i).mul(l.sub(1)).add(1).log10().div(l.log10()))}static sumGeometricSeries_core(e,t,l,n){return t.mul(l.pow(n)).mul(N.sub(1,l.pow(e))).div(N.sub(1,l))}static affordArithmeticSeries_core(e,t,l,n){const s=t.add(n.mul(l)).sub(l.div(2)),d=s.pow(2);return s.neg().add(d.add(l.mul(e).mul(2)).sqrt()).div(l).floor()}static sumArithmeticSeries_core(e,t,l,n){const i=t.add(n.mul(l));return e.div(2).mul(i.mul(2).plus(e.sub(1).mul(l)))}static efficiencyOfPurchase_core(e,t,l){return e.div(t).add(e.div(l))}normalize(){if(this.sign===0||this.mag===0&&this.layer===0)return this.sign=0,this.mag=0,this.layer=0,this;if(this.layer===0&&this.mag<0&&(this.mag=-this.mag,this.sign=-this.sign),this.layer===0&&this.mag=Gi)return this.layer+=1,this.mag=t*Math.log10(e),this;for(;e0;)this.layer-=1,this.layer===0?this.mag=Math.pow(10,this.mag):(this.mag=t*Math.pow(10,e),e=Math.abs(this.mag),t=Math.sign(this.mag));return this.layer===0&&(this.mag<0?(this.mag=-this.mag,this.sign=-this.sign):this.mag===0&&(this.sign=0)),this}fromComponents(e,t,l){return this.sign=e,this.layer=t,this.mag=l,this.normalize(),this}fromComponents_noNormalize(e,t,l){return this.sign=e,this.layer=t,this.mag=l,this}fromMantissaExponent(e,t){return this.layer=1,this.sign=Math.sign(e),e=Math.abs(e),this.mag=t+Math.log10(e),this.normalize(),this}fromMantissaExponent_noNormalize(e,t){return this.fromMantissaExponent(e,t),this}fromDecimal(e){return this.sign=e.sign,this.layer=e.layer,this.mag=e.mag,this}fromNumber(e){return this.mag=Math.abs(e),this.sign=Math.sign(e),this.layer=0,this.normalize(),this}fromString(e){e=e.replace(",","");const t=e.split("^^^");if(t.length===2){const b=parseFloat(t[0]),g=parseFloat(t[1]),_=t[1].split(";");let S=1;if(_.length===2&&(S=parseFloat(_[1]),isFinite(S)||(S=1)),isFinite(b)&&isFinite(g)){const x=N.pentate(b,g,S);return this.sign=x.sign,this.layer=x.layer,this.mag=x.mag,this}}const l=e.split("^^");if(l.length===2){const b=parseFloat(l[0]),g=parseFloat(l[1]),_=l[1].split(";");let S=1;if(_.length===2&&(S=parseFloat(_[1]),isFinite(S)||(S=1)),isFinite(b)&&isFinite(g)){const x=N.tetrate(b,g,S);return this.sign=x.sign,this.layer=x.layer,this.mag=x.mag,this}}const n=e.split("^");if(n.length===2){const b=parseFloat(n[0]),g=parseFloat(n[1]);if(isFinite(b)&&isFinite(g)){const _=N.pow(b,g);return this.sign=_.sign,this.layer=_.layer,this.mag=_.mag,this}}e=e.trim().toLowerCase();let i,s,d=e.split("pt");if(d.length===2){i=10,s=parseFloat(d[0]),d[1]=d[1].replace("(",""),d[1]=d[1].replace(")","");let b=parseFloat(d[1]);if(isFinite(b)||(b=1),isFinite(i)&&isFinite(s)){const g=N.tetrate(i,s,b);return this.sign=g.sign,this.layer=g.layer,this.mag=g.mag,this}}if(d=e.split("p"),d.length===2){i=10,s=parseFloat(d[0]),d[1]=d[1].replace("(",""),d[1]=d[1].replace(")","");let b=parseFloat(d[1]);if(isFinite(b)||(b=1),isFinite(i)&&isFinite(s)){const g=N.tetrate(i,s,b);return this.sign=g.sign,this.layer=g.layer,this.mag=g.mag,this}}const u=e.split("e"),p=u.length-1;if(p===0){const b=parseFloat(e);if(isFinite(b))return this.fromNumber(b)}else if(p===1){const b=parseFloat(e);if(isFinite(b)&&b!==0)return this.fromNumber(b)}const m=e.split("e^");if(m.length===2){this.sign=1,m[0].charAt(0)=="-"&&(this.sign=-1);let b="";for(let g=0;g=43&&_<=57||_===101)b+=m[1].charAt(g);else return this.layer=parseFloat(b),this.mag=parseFloat(m[1].substr(g+1)),this.normalize(),this}}if(p<1)return this.sign=0,this.layer=0,this.mag=0,this;const y=parseFloat(u[0]);if(y===0)return this.sign=0,this.layer=0,this.mag=0,this;let h=parseFloat(u[u.length-1]);if(p>=2){const b=parseFloat(u[u.length-2]);isFinite(b)&&(h*=Math.sign(b),h+=ha(b))}if(!isFinite(y))this.sign=u[0]==="-"?-1:1,this.layer=p,this.mag=h;else if(p===1)this.sign=Math.sign(y),this.layer=1,this.mag=h+Math.log10(Math.abs(y));else if(this.sign=Math.sign(y),this.layer=p,p===2){const b=N.mul(de(1,2,h),A(y));return this.sign=b.sign,this.layer=b.layer,this.mag=b.mag,this}else this.mag=h;return this.normalize(),this}fromValue(e){return e instanceof N||e!=null&&typeof e=="object"&&"sign"in e&&"mag"in e&&"layer"in e?this.fromDecimal(e):typeof e=="number"?this.fromNumber(e):typeof e=="string"?this.fromString(e):(this.sign=0,this.layer=0,this.mag=0,this)}toNumber(){return Number.isFinite(this.layer)?this.layer===0?this.sign*this.mag:this.layer===1?this.sign*Math.pow(10,this.mag):this.mag>0?this.sign>0?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:0:Number.NaN}mantissaWithDecimalPlaces(e){return isNaN(this.m)?Number.NaN:this.m===0?0:cl(this.m,e)}magnitudeWithDecimalPlaces(e){return isNaN(this.mag)?Number.NaN:this.mag===0?0:cl(this.mag,e)}toString(){return isNaN(this.layer)||isNaN(this.sign)||isNaN(this.mag)?"NaN":this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY?this.sign===1?"Infinity":"-Infinity":this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toString():this.m+"e"+this.e:this.layer===1?this.m+"e"+this.e:this.layer<=Ha?(this.sign===-1?"-":"")+"e".repeat(this.layer)+this.mag:(this.sign===-1?"-":"")+"(e^"+this.layer+")"+this.mag}toExponential(e){return this.layer===0?(this.sign*this.mag).toExponential(e):this.toStringWithDecimalPlaces(e)}toFixed(e){return this.layer===0?(this.sign*this.mag).toFixed(e):this.toStringWithDecimalPlaces(e)}toPrecision(e){return this.e<=-7?this.toExponential(e-1):e>this.e?this.toFixed(e-this.exponent-1):this.toExponential(e-1)}valueOf(){return this.toString()}toJSON(){return this.toString()}toStringWithDecimalPlaces(e){return this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toFixed(e):cl(this.m,e)+"e"+cl(this.e,e):this.layer===1?cl(this.m,e)+"e"+cl(this.e,e):this.layer<=Ha?(this.sign===-1?"-":"")+"e".repeat(this.layer)+cl(this.mag,e):(this.sign===-1?"-":"")+"(e^"+this.layer+")"+cl(this.mag,e)}abs(){return ke(this.sign===0?0:1,this.layer,this.mag)}neg(){return ke(-this.sign,this.layer,this.mag)}negate(){return this.neg()}negated(){return this.neg()}sgn(){return this.sign}round(){return this.mag<0?N.dZero:this.layer===0?de(this.sign,0,Math.round(this.mag)):this}floor(){return this.mag<0?N.dZero:this.layer===0?de(this.sign,0,Math.floor(this.mag)):this}ceil(){return this.mag<0?N.dZero:this.layer===0?de(this.sign,0,Math.ceil(this.mag)):this}trunc(){return this.mag<0?N.dZero:this.layer===0?de(this.sign,0,Math.trunc(this.mag)):this}add(e){const t=A(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer)||this.sign===0)return t;if(t.sign===0)return this;if(this.sign===-t.sign&&this.layer===t.layer&&this.mag===t.mag)return ke(0,0,0);let l,n;if(this.layer>=2||t.layer>=2)return this.maxabs(t);if(N.cmpabs(this,t)>0?(l=this,n=t):(l=t,n=this),l.layer===0&&n.layer===0)return A(l.sign*l.mag+n.sign*n.mag);const i=l.layer*Math.sign(l.mag),s=n.layer*Math.sign(n.mag);if(i-s>=2)return l;if(i===0&&s===-1){if(Math.abs(n.mag-Math.log10(l.mag))>va)return l;{const d=Math.pow(10,Math.log10(l.mag)-n.mag),u=n.sign+l.sign*d;return de(Math.sign(u),1,n.mag+Math.log10(Math.abs(u)))}}if(i===1&&s===0){if(Math.abs(l.mag-Math.log10(n.mag))>va)return l;{const d=Math.pow(10,l.mag-Math.log10(n.mag)),u=n.sign+l.sign*d;return de(Math.sign(u),1,Math.log10(n.mag)+Math.log10(Math.abs(u)))}}if(Math.abs(l.mag-n.mag)>va)return l;{const d=Math.pow(10,l.mag-n.mag),u=n.sign+l.sign*d;return de(Math.sign(u),1,n.mag+Math.log10(Math.abs(u)))}}plus(e){return this.add(e)}sub(e){return this.add(A(e).neg())}subtract(e){return this.sub(e)}minus(e){return this.sub(e)}mul(e){const t=A(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer))return t;if(this.sign===0||t.sign===0)return ke(0,0,0);if(this.layer===t.layer&&this.mag===-t.mag)return ke(this.sign*t.sign,0,1);let l,n;if(this.layer>t.layer||this.layer==t.layer&&Math.abs(this.mag)>Math.abs(t.mag)?(l=this,n=t):(l=t,n=this),l.layer===0&&n.layer===0)return A(l.sign*n.sign*l.mag*n.mag);if(l.layer>=3||l.layer-n.layer>=2)return de(l.sign*n.sign,l.layer,l.mag);if(l.layer===1&&n.layer===0)return de(l.sign*n.sign,1,l.mag+Math.log10(n.mag));if(l.layer===1&&n.layer===1)return de(l.sign*n.sign,1,l.mag+n.mag);if(l.layer===2&&n.layer===1){const i=de(Math.sign(l.mag),l.layer-1,Math.abs(l.mag)).add(de(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)));return de(l.sign*n.sign,i.layer+1,i.sign*i.mag)}if(l.layer===2&&n.layer===2){const i=de(Math.sign(l.mag),l.layer-1,Math.abs(l.mag)).add(de(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)));return de(l.sign*n.sign,i.layer+1,i.sign*i.mag)}throw Error("Bad arguments to mul: "+this+", "+e)}multiply(e){return this.mul(e)}times(e){return this.mul(e)}div(e){const t=A(e);return this.mul(t.recip())}divide(e){return this.div(e)}divideBy(e){return this.div(e)}dividedBy(e){return this.div(e)}recip(){return this.mag===0?N.dNaN:this.layer===0?de(this.sign,0,1/this.mag):de(this.sign,this.layer,-this.mag)}reciprocal(){return this.recip()}reciprocate(){return this.recip()}cmp(e){const t=A(e);return this.sign>t.sign?1:this.sign0?this.layer:-this.layer,n=t.mag>0?t.layer:-t.layer;return l>n?1:lt.mag?1:this.mag0?t:this}clamp(e,t){return this.max(e).min(t)}clampMin(e){return this.max(e)}clampMax(e){return this.min(e)}cmp_tolerance(e,t){const l=A(e);return this.eq_tolerance(l,t)?0:this.cmp(l)}compare_tolerance(e,t){return this.cmp_tolerance(e,t)}eq_tolerance(e,t){const l=A(e);if(t==null&&(t=1e-7),this.sign!==l.sign||Math.abs(this.layer-l.layer)>1)return!1;let n=this.mag,i=l.mag;return this.layer>l.layer&&(i=ha(i)),this.layer0?de(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):de(1,0,Math.log10(this.mag))}log10(){return this.sign<=0?N.dNaN:this.layer>0?de(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):de(this.sign,0,Math.log10(this.mag))}log(e){return e=A(e),this.sign<=0||e.sign<=0||e.sign===1&&e.layer===0&&e.mag===1?N.dNaN:this.layer===0&&e.layer===0?de(this.sign,0,Math.log(this.mag)/Math.log(e.mag)):N.div(this.log10(),e.log10())}log2(){return this.sign<=0?N.dNaN:this.layer===0?de(this.sign,0,Math.log2(this.mag)):this.layer===1?de(Math.sign(this.mag),0,Math.abs(this.mag)*3.321928094887362):this.layer===2?de(Math.sign(this.mag),1,Math.abs(this.mag)+.5213902276543247):de(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}ln(){return this.sign<=0?N.dNaN:this.layer===0?de(this.sign,0,Math.log(this.mag)):this.layer===1?de(Math.sign(this.mag),0,Math.abs(this.mag)*2.302585092994046):this.layer===2?de(Math.sign(this.mag),1,Math.abs(this.mag)+.36221568869946325):de(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}logarithm(e){return this.log(e)}pow(e){const t=A(e),l=this,n=t;if(l.sign===0)return n.eq(0)?ke(1,0,1):l;if(l.sign===1&&l.layer===0&&l.mag===1)return l;if(n.sign===0)return ke(1,0,1);if(n.sign===1&&n.layer===0&&n.mag===1)return l;const i=l.absLog10().mul(n).pow10();return this.sign===-1?Math.abs(n.toNumber()%2)%2===1?i.neg():Math.abs(n.toNumber()%2)%2===0?i:N.dNaN:i}pow10(){if(!Number.isFinite(this.layer)||!Number.isFinite(this.mag))return N.dNaN;let e=this;if(e.layer===0){const t=Math.pow(10,e.sign*e.mag);if(Number.isFinite(t)&&Math.abs(t)>=.1)return de(1,0,t);if(e.sign===0)return N.dOne;e=ke(e.sign,e.layer+1,Math.log10(e.mag))}return e.sign>0&&e.mag>=0?de(e.sign,e.layer+1,e.mag):e.sign<0&&e.mag>=0?de(-e.sign,e.layer+1,-e.mag):N.dOne}pow_base(e){return A(e).pow(this)}root(e){const t=A(e);return this.pow(t.recip())}factorial(){return this.mag<0?this.add(1).gamma():this.layer===0?this.add(1).gamma():this.layer===1?N.exp(N.mul(this,N.ln(this).sub(1))):N.exp(this)}gamma(){if(this.mag<0)return this.recip();if(this.layer===0){if(this.lt(ke(1,0,24)))return A(zi(this.sign*this.mag));const e=this.mag-1;let t=.9189385332046727;t=t+(e+.5)*Math.log(e),t=t-e;const l=e*e;let n=e,i=12*n,s=1/i,d=t+s;if(d===t||(t=d,n=n*l,i=360*n,s=1/i,d=t-s,d===t))return N.exp(t);t=d,n=n*l,i=1260*n;let u=1/i;return t=t+u,n=n*l,i=1680*n,u=1/i,t=t-u,N.exp(t)}else return this.layer===1?N.exp(N.mul(this,N.ln(this).sub(1))):N.exp(this)}lngamma(){return this.gamma().ln()}exp(){return this.mag<0?N.dOne:this.layer===0&&this.mag<=709.7?A(Math.exp(this.sign*this.mag)):this.layer===0?de(1,1,this.sign*Math.log10(Math.E)*this.mag):this.layer===1?de(1,2,this.sign*(Math.log10(.4342944819032518)+this.mag)):de(1,this.layer+1,this.sign*this.mag)}sqr(){return this.pow(2)}sqrt(){if(this.layer===0)return A(Math.sqrt(this.sign*this.mag));if(this.layer===1)return de(1,2,Math.log10(this.mag)-.3010299956639812);{const e=N.div(ke(this.sign,this.layer-1,this.mag),ke(1,0,2));return e.layer+=1,e.normalize(),e}}cube(){return this.pow(3)}cbrt(){return this.pow(1/3)}tetrate(e=2,t=ke(1,0,1)){if(e===1)return N.pow(this,t);if(e===0)return new N(t);if(this.eq(N.dOne))return N.dOne;if(this.eq(-1))return N.pow(this,t);if(e===Number.POSITIVE_INFINITY){const i=this.toNumber();if(i<=1.444667861009766&&i>=.06598803584531254){if(i>1.444667861009099)return new N(Math.E);const s=N.ln(this).neg();return s.lambertw().div(s)}else return i>1.444667861009766?new N(Number.POSITIVE_INFINITY):N.dNaN}if(this.eq(N.dZero)){let i=Math.abs((e+1)%2);return i>1&&(i=2-i),new N(i)}if(e<0)return N.iteratedlog(t,this,-e);t=A(t);const l=e;e=Math.trunc(e);const n=l-e;if(this.gt(N.dZero)&&this.lte(1.444667861009766)){e=Math.min(1e4,e);for(let i=0;i3)return ke(t.sign,t.layer+(e-i-1),t.mag);if(i>1e4)return t}return t}iteratedexp(e=2,t=ke(1,0,1)){return this.tetrate(e,t)}iteratedlog(e=10,t=1){if(t<0)return N.tetrate(e,-t,this);e=A(e);let l=A(this);const n=t;t=Math.trunc(t);const i=n-t;if(l.layer-e.layer>3){const s=Math.min(t,l.layer-e.layer-3);t-=s,l.layer-=s}for(let s=0;s1e4)return l}return i>0&&i<1&&(e.eq(10)?l=l.layeradd10(-i):l=l.layeradd(-i,e)),l}slog(e=10){if(e=A(e),e.lte(N.dZero)||e.eq(N.dOne))return N.dNaN;if(e.lt(N.dOne))return this.eq(N.dOne)?N.dZero:this.eq(N.dZero)?N.dNegOne:N.dNaN;if(this.mag<0||this.eq(N.dZero))return N.dNegOne;let t=0,l=A(this);if(l.layer-e.layer>3){const n=l.layer-e.layer-3;t+=n,l.layer-=n}for(let n=0;n<100;++n)if(l.lt(N.dZero))l=N.pow(e,l),t-=1;else{if(l.lte(N.dOne))return A(t+N.slog_critical(e.toNumber(),l.toNumber()));t+=1,l=N.log(l,e)}return A(t)}static slog_critical(e,t){return e>10?t-1:N.critical_section(e,t,Ki)}static tetrate_critical(e,t){return N.critical_section(e,t,Wi)}static critical_section(e,t,l){t*=10,t<0&&(t=0),t>10&&(t=10),e<2&&(e=2),e>10&&(e=10);let n=0,i=0;for(let u=0;ue){const p=(e-Cl[u])/(Cl[u+1]-Cl[u]);n=l[u][Math.floor(t)]*(1-p)+l[u+1][Math.floor(t)]*p,i=l[u][Math.ceil(t)]*(1-p)+l[u+1][Math.ceil(t)]*p;break}const s=t-Math.floor(t);return n*(1-s)+i*s}layeradd10(e){e=N.fromValue_noAlloc(e).toNumber();const t=A(this);if(e>=1){t.mag<0&&t.layer>0?(t.sign=0,t.mag=0,t.layer=0):t.sign===-1&&t.layer==0&&(t.sign=1,t.mag=-t.mag);const l=Math.trunc(e);e-=l,t.layer+=l}if(e<=-1){const l=Math.trunc(e);if(e-=l,t.layer+=l,t.layer<0)for(let n=0;n<100;++n){if(t.layer++,t.mag=Math.log10(t.mag),!isFinite(t.mag))return t.sign===0&&(t.sign=1),t.layer<0&&(t.layer=0),t.normalize();if(t.layer>=0)break}}for(;t.layer<0;)t.layer++,t.mag=Math.log10(t.mag);return t.sign===0&&(t.sign=1,t.mag===0&&t.layer>=1&&(t.layer-=1,t.mag=1)),t.normalize(),e!==0?t.layeradd(e,10):t}layeradd(e,t){const n=this.slog(t).toNumber()+e;return n>=0?N.tetrate(t,n):Number.isFinite(n)?n>=-1?N.log(N.tetrate(t,n+1),t):N.log(N.log(N.tetrate(t,n+2),t),t):N.dNaN}lambertw(){if(this.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");if(this.mag<0)return A(La(this.toNumber()));if(this.layer===0)return A(La(this.sign*this.mag));if(this.layer===1)return ja(this);if(this.layer===2)return ja(this);if(this.layer>=3)return ke(this.sign,this.layer-1,this.mag);throw"Unhandled behavior in lambertw()"}ssqrt(){if(this.sign==1&&this.layer>=3)return ke(this.sign,this.layer-1,this.mag);const e=this.ln();return e.div(e.lambertw())}pentate(e=2,t=ke(1,0,1)){t=A(t);const l=e;e=Math.trunc(e);const n=l-e;n!==0&&(t.eq(N.dOne)?(++e,t=new N(n)):this.eq(10)?t=t.layeradd10(n):t=t.layeradd(n,this));for(let i=0;i10)return t}return t}sin(){return this.mag<0?this:this.layer===0?A(Math.sin(this.sign*this.mag)):ke(0,0,0)}cos(){return this.mag<0?N.dOne:this.layer===0?A(Math.cos(this.sign*this.mag)):ke(0,0,0)}tan(){return this.mag<0?this:this.layer===0?A(Math.tan(this.sign*this.mag)):ke(0,0,0)}asin(){return this.mag<0?this:this.layer===0?A(Math.asin(this.sign*this.mag)):ke(Number.NaN,Number.NaN,Number.NaN)}acos(){return this.mag<0?A(Math.acos(this.toNumber())):this.layer===0?A(Math.acos(this.sign*this.mag)):ke(Number.NaN,Number.NaN,Number.NaN)}atan(){return this.mag<0?this:this.layer===0?A(Math.atan(this.sign*this.mag)):A(Math.atan(this.sign*(1/0)))}sinh(){return this.exp().sub(this.negate().exp()).div(2)}cosh(){return this.exp().add(this.negate().exp()).div(2)}tanh(){return this.sinh().div(this.cosh())}asinh(){return N.ln(this.add(this.sqr().add(1).sqrt()))}acosh(){return N.ln(this.add(this.sqr().sub(1).sqrt()))}atanh(){return this.abs().gte(1)?ke(Number.NaN,Number.NaN,Number.NaN):N.ln(this.add(1).div(A(1).sub(this))).div(2)}ascensionPenalty(e){return e===0?this:this.root(N.pow(10,e))}egg(){return this.add(9)}lessThanOrEqualTo(e){return this.cmp(e)<1}lessThan(e){return this.cmp(e)<0}greaterThanOrEqualTo(e){return this.cmp(e)>-1}greaterThan(e){return this.cmp(e)>0}};let a=N;a.dZero=ke(0,0,0);a.dOne=ke(1,0,1);a.dNegOne=ke(-1,0,1);a.dTwo=ke(1,0,2);a.dTen=ke(1,0,10);a.dNaN=ke(Number.NaN,Number.NaN,Number.NaN);a.dInf=ke(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);a.dNegInf=ke(-1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);a.dNumberMax=de(1,0,Number.MAX_VALUE);a.dNumberMin=de(1,0,Number.MIN_VALUE);const Ji=new a(1);function Rl(e,t,l=!0){let n=a.log10(e).floor(),i=a.div(e,a.pow(10,n));i.toStringWithDecimalPlaces(t)==="10"&&(i=Ji,n=n.add(1));const s=n.gte(1e9)?ge(n,Math.max(Math.max(t,3),Ue.defaultDecimalsShown)):n.gte(1e4)?ta(n,0):n.toStringWithDecimalPlaces(0);return l?i.toStringWithDecimalPlaces(t)+"e"+s:"e"+s}function ta(e,t){if(e==null)return"NaN";if(e=new a(e),e.mag<.001)return 0 .toFixed(t);const n=e.toStringWithDecimalPlaces(t).split(".");return n[0]=n[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),n.length==1?n[0]:n[0]+"."+n[1]}function cn(e,t){return e==null?"NaN":(e=new a(e),e.mag<1e-4?0 .toFixed(t):(e.mag<.1&&t!==0&&(t=Math.max(Math.max(t,e.log10().negate().ceil().toNumber()),Ue.defaultDecimalsShown)),e.toStringWithDecimalPlaces(t)))}const Yi=new a("eeee1000"),Xi=new a("e100000"),Wa=new a("e1000"),pn=new a(1e9),Zi=new a(1e6),eo=new a(1e3),to=new a(.98),lo=new a(.001),mn=new a(0);function ge(e,t,l){if(t==null&&(t=Ue.defaultDecimalsShown),l=l!=null?l:Ue.defaultShowSmall,e=new a(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag))return"NaN";if(e.sign<0)return"-"+ge(e.neg(),t);if(e.mag===Number.POSITIVE_INFINITY)return"Infinity";if(e.gte(Yi)){const n=e.slog();return n.gte(Zi)?"F"+ge(n.floor()):a.pow(10,n.sub(n.floor())).toStringWithDecimalPlaces(3)+"F"+ta(n.floor(),0)}else{if(e.gte(Xi))return Rl(e,0,!1);if(e.gte(Wa))return Rl(e,0);if(e.gte(pn))return Rl(e,t);if(e.gte(eo))return ta(e,0);if(e.gte(lo)||!l)return cn(e,t);if(e.eq(mn))return 0 .toFixed(t)}return e=gn(e),e.lt(Wa)?Rl(e,t).replace(/([^(?:e|F)]*)$/,"-$1"):ge(e,t)+"\u207B\xB9"}function ce(e){return e=new a(e),e.sign<0?"-"+ce(e.neg()):e.gte(pn)||e.lte(to)&&!e.eq(mn)?ge(e):ge(e,0)}function Sa(e,t){return t==null&&(t=Ue.defaultDecimalsShown),a.lt(e,0)?"-"+Sa(a.neg(e),t):a.gt(e,2**51)?ge(a.div(e,31536e3))+"y":(e=new a(e).toNumber(),e<60?ge(e)+"s":e<3600?ce(Math.floor(e/60))+"m "+ge(e%60,t)+"s":e<86400?ce(Math.floor(e/3600))+"h "+ce(Math.floor(e/60)%60)+"m "+ce(e%60)+"s":e<31536e3?ce(Math.floor(e/84600)%365)+"d "+ce(Math.floor(e/3600)%24)+"h "+ce(Math.floor(e/60)%60)+"m":ce(Math.floor(e/31536e3))+"y "+ce(Math.floor(e/84600)%365)+"d "+ce(Math.floor(e/3600)%24)+"h")}function ao(e,t,l){e=new a(e);let n=e.toStringWithDecimalPlaces(t);return new a(n).gte(l)&&(n=a.sub(l,Math.pow(.1,t)).toStringWithDecimalPlaces(t)),n}function no(e,t){return ge(e,t,!0)}function gn(e){let t=a.log10(e).ceil();const l=a.div(e,a.pow(10,t));return t=t.neg(),e=new a(10).pow(t).times(l),e}function fn(e,t,l=a.dOne){let n=e[0][0],i=e[0][1];for(let s=1;s(e.Up="Up",e.Down="Down",e.Left="Left",e.Right="Right",e.Default="Up",e))(Se||{});const Ql=Symbol("DoNotCache");function $(e,t){const l=e[t];ka(l)&&l.length===0&&!l[Ql]?e[t]=f(l.bind(e)):ka(l)&&(e[t]=l.bind(e),e[t][Ql]=!0)}function gt(e){return ka(e)&&!e[Ql]&&(e=f(e)),e}const zt=Symbol("Component"),el=Symbol("GatherProps");let mo=0;function hl(e="feature-"){return e+mo++}var He=(e=>(e[e.Visible=0]="Visible",e[e.Hidden=1]="Hidden",e[e.None=2]="None",e))(He||{});function B(e){return e[Ql]=!0,e}function M(e,t=2){return e?0:t}function ct(e,t,l){e[t]===void 0&&l!=null&&(e[t]=l)}function bn(e,...t){const l=[],n=i=>{Object.keys(i).forEach(s=>{const d=i[s];d&&typeof d=="object"&&(t.includes(d.type)?l.push(d):!(d instanceof a)&&!dt(d)&&n(d))})};return n(e),l}const kl={variables:{"--foreground":"#dfdfdf","--background":"#0f0f0f","--feature-foreground":"#0f0f0f","--tooltip-background":"rgba(0, 0, 0, 0.75)","--raised-background":"#0f0f0f","--points":"#ffffff","--locked":"#bf8f8f","--highlighted":"#333","--bought":"#77bf5f","--danger":"rgb(220, 53, 69)","--link":"#02f2f2","--outline":"#dfdfdf","--accent1":"#627a82","--accent2":"#658262","--accent3":"#7c6282","--border-radius":"15px","--modal-border":"solid 2px var(--color)","--feature-margin":"0px"},floatingTabs:!0,mergeAdjacent:!0,showPin:!0};var Ea=(e=>(e.Classic="classic",e.Paper="paper",e.Nordic="nordic",e.Aqua="aqua",e))(Ea||{}),El={classic:kl,paper:{...kl,variables:{...kl.variables,"--background":"#2a323d","--feature-foreground":"#000","--raised-background":"#333c4a","--locked":"#3a3e45","--bought":"#5C8A58","--outline":"#333c4a","--border-radius":"4px","--modal-border":"","--feature-margin":"5px"},floatingTabs:!1},nordic:{...kl,variables:{...kl.variables,"--foreground":"#D8DEE9","--background":"#2E3440","--feature-foreground":"#000","--raised-background":"#3B4252","--points":"#E5E9F0","--locked":"#4c566a","--highlighted":"#434c5e","--bought":"#8FBCBB","--danger":"#D08770","--link":"#88C0D0","--outline":"#3B4252","--accent1":"#B48EAD","--accent2":"#A3BE8C","--accent3":"#EBCB8B","--border-radius":"4px","--modal-border":"solid 2px #3B4252","--feature-margin":"5px"},floatingTabs:!1},aqua:{...kl,variables:{...kl.variables,"--foreground":"#bfdfff","--background":"#001f3f","--tooltip-background":"rgba(0, 15, 31, 0.75)","--raised-background":"#001f3f","--points":"#dfefff","--locked":"#c4a7b3","--outline":"#bfdfff"}}};const Qe=rn();document.fonts.onloadingdone=()=>Qe.emit("fontsLoaded");var go=Object.freeze(Object.defineProperty({__proto__:null,globalBus:Qe},Symbol.toStringTag,{value:"Module"}));var Ie=(e,t)=>{const l=e.__vccOpts||e;for(const[n,i]of t)l[n]=i;return l};const fo=oe({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var y;const l=G({}),n=new ResizeObserver(u),i=G(null);na(()=>{const h=i.value;h!=null&&n.observe(h)});let s=!0,d=G((y=i.value)==null?void 0:y.getBoundingClientRect());function u(){s&&(s=!1,Sl(()=>{var h;d.value=(h=i.value)==null?void 0:h.getBoundingClientRect(),Object.values(l.value).filter(b=>b).forEach(b=>b.rect=b.element.getBoundingClientRect()),t("updateNodes",l.value),s=!0}))}Qe.on("fontsLoaded",u);const p={attributes:!1,childList:!0,subtree:!1};Jl(Ba,(h,b)=>{const g=new MutationObserver(()=>m(h));g.observe(b,p),l.value[h]={element:b,observer:g,rect:b.getBoundingClientRect()},u()}),Jl(Na,h=>{var b;(b=l.value[h])==null||b.observer.disconnect(),l.value[h]=void 0,u()}),Jl(Ia,l),Jl(Ma,d);function m(h){const b=l.value[h];b!=null&&(b.rect=b.element.getBoundingClientRect(),t("updateNodes",l.value))}return(h,b)=>(w(),D(I,null,[Vt(h.$slots,"default",{},void 0,!0),v("div",{ref_key:"resizeListener",ref:i,class:"resize-listener"},null,512)],64))}});var wn=Ie(fo,[["__scopeId","data-v-2b1dc1bc"]]);const vo=["onPointerdown"],ho={class:"modal-wrapper"},yo={class:"modal-container"},bo={class:"modal-header"},wo=c(" default header "),Ao={class:"modal-body"},Co=c(" default body "),ko={class:"modal-footer"},_o=v("div",{class:"modal-default-flex-grow"},null,-1),wt=oe({__name:"Modal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{expose:t,emit:l}){const i=ot(e),s=f(()=>i.modelValue||u.value);function d(){l("update:modelValue",!1)}const u=G(!1),p=G(null),m=f(()=>{var y,h;return(h=(y=p.value)==null?void 0:y.nodes)!=null?h:null});return t({isOpen:s,nodes:m}),(y,h)=>(w(),X(ni,{to:"#modal-root"},[o(oa,{name:"modal",onBeforeEnter:h[0]||(h[0]=b=>u.value=!0),onAfterLeave:h[1]||(h[1]=b=>u.value=!1)},{default:ne(()=>[ia(v("div",fl({class:"modal-mask",onPointerdown:$l(d,["self"])},y.$attrs),[v("div",ho,[v("div",yo,[v("div",bo,[Vt(y.$slots,"header",{shown:r(s)},()=>[wo])]),v("div",Ao,[o(wn,{ref_key:"contextRef",ref:p},{default:ne(()=>[Vt(y.$slots,"body",{shown:r(s)},()=>[Co])]),_:3},512)]),v("div",ko,[Vt(y.$slots,"footer",{shown:r(s)},()=>[v("div",{class:"modal-default-footer"},[_o,v("button",{class:"button modal-default-button",onClick:d}," Close ")])])])])])],16,vo),[[on,e.modelValue]])]),_:3})]))}}),Ba=Symbol("RegisterNode"),Na=Symbol("UnregisterNode"),Ia=Symbol("Nodes"),Ma=Symbol("Bounds"),Ct=sa({});window.layers=Ct;const Il={},Qt=[];function Dt(e,t){return kt(()=>{const l={},n=l.emitter=rn();if(l.on=n.on.bind(n),l.emit=n.emit.bind(n),l.nodes=G({}),l.id=e,Qt.push(e),Il[e]=new Set,l.minimized=we(!1),Object.assign(l,t.call(l)),Qt[Qt.length-1]==null||Qt[Qt.length-1]!==e)throw`Adding layers stack in invalid state. This should not happen -Stack: ${Qt} -Trying to pop ${l.id}`;return Qt.pop(),$(l,"color"),$(l,"display"),$(l,"name"),ct(l,"name",l.id),$(l,"minWidth"),ct(l,"minWidth",600),$(l,"minimizable"),ct(l,"minimizable",!0),l})}function An(e,t){if(console.info("Adding layer",e.id),Ct[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,Ct[e.id]);return}ct(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),Ct[e.id]=e,Qe.emit("addLayer",e,t.layers[e.id])}function So(e){return Ct[e]}function Cn(e){console.info("Removing layer",e.id),Qe.emit("removeLayer",e),Ct[e.id]=void 0}function Eo(e){Cn(e),An(e,Y)}function Bo(e){const t=G(!1);return{openModal:()=>t.value=!0,modal:B(()=>o(wt,{modelValue:t.value,"onUpdate:modelValue":l=>t.value=l},{header:()=>o("h2",null,[r(e.name)]),body:r(e.display)}))}}Qe.on("update",function(t){Object.values(Ct).forEach(l=>{l==null||l.emit("preUpdate",t)}),Object.values(Ct).forEach(l=>{l==null||l.emit("update",t)}),Object.values(Ct).forEach(l=>{l==null||l.emit("postUpdate",t)})});var No=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:Ba,UnregisterNodeInjectionKey:Na,NodesInjectionKey:Ia,BoundsInjectionKey:Ma,layers:Ct,persistentRefs:Il,addingLayers:Qt,createLayer:Dt,addLayer:An,getLayer:So,removeLayer:Cn,reloadLayer:Eo,setupLayerModal:Bo},Symbol.toStringTag,{value:"Module"}));const Da=Symbol("PersistentState"),gl=Symbol("DefaultValue"),aa=Symbol("StackTrace"),kn=Symbol("Deleted"),Gl=Symbol("NonPersistent"),Ol=Symbol("SaveDataPath");function Io(){var e;return((e=new Error().stack)==null?void 0:e.split(` -`).slice(3,5).map(t=>t.trim()).join(` -`))||""}function we(e){const t=dt(e)?e:G(e);t[Da]=t,t[gl]=dt(e)?e.value:e,t[aa]=Io(),t[kn]=!1;const l=f({get(){return t.value},set(n){t.value=n}});return l[gl]=t[gl],t[Gl]=l,t[Ol]=void 0,Qt.length===0?console.warn("Creating a persistent ref outside of a layer. This is not officially supported",t,` -Created at: -`+t[aa]):Il[Qt[Qt.length-1]].add(t),t}function Mo(e){return e&&typeof e=="object"&&Da in e}function F(e){return e[Gl]}Qe.on("addLayer",(e,t)=>{const l=[],n=(i,s=[])=>{let d=!1;return Object.keys(i).forEach(u=>{let p=i[u];if(p&&typeof p=="object")if(lt in p&&(p=p[lt]),Mo(p)){if(d=!0,p[kn]){console.warn("Deleted persistent ref present in returned object. Ignoring...",p,` -Created at: -`+p[aa]);return}Il[e.id].delete(p);const m=[e.id,...s,u];p[Ol]!=null&&JSON.stringify(m)!==JSON.stringify(p[Ol])&&console.error(`Persistent ref is being saved to \`${m.join(".")}\` when it's already present at \`${p[Ol].join(".")}\`. This can cause unexpected behavior when loading saves between updates.`,p),p[Ol]=m;const y=s.reduce((b,g)=>(g in b||(b[g]={}),b[g]),t),h=y[u];y[u]=p[Da],ii(y)?h!=null?y[u]=h:y[u]=p[gl]:h!=null?y[u].value=h:y[u].value=p[gl]}else!(p instanceof a)&&!dt(p)&&!l.includes(p)&&(typeof p.type=="symbol"&&l.push(p),n(p,[...s,u])&&(Ca(p)&&!Ca(i)?console.warn("Found array that contains persistent values when adding layer. Keep in mind changing the order of elements in the array will mess with existing player saves.",lt in i?i[lt]:i,u):d=!0))}),d};n(e[lt]),Il[e.id].forEach(i=>{console.error(`Created persistent ref in ${e.id} without registering it to the layer! Make sure to include everything persistent in the returned object`,i,` -Created at: -`+i[aa])}),Il[e.id].clear()});const lt=Symbol("ProxyState"),Nl=Symbol("ProxyPath");function kt(e,t={}){const l=t;let n=!1;function i(){return n||(Object.assign(l,e(l)),n=!0),l}return new Proxy(l,{get(s,d){if(d===lt)return i();const u=i()[d];return u&&typeof u=="object"&&Gl in u?u[Gl]:u},set(s,d,u){return i()[d]=u,!0},has(s,d){return d===lt?!0:Reflect.has(i(),d)},ownKeys(){return Reflect.ownKeys(i())},getOwnPropertyDescriptor(s,d){return n||(Object.assign(l,e(l)),n=!0),Object.getOwnPropertyDescriptor(s,d)}})}var nt=window.state=sa({lastTenTicks:[],hasNaN:!1,NaNPath:[]});const _n=Hl({id:"",devSpeed:null,name:"",tabs:[],time:-1,autosave:!0,offlineProd:!0,offlineTime:null,timePlayed:0,keepGoing:!1,modID:"",modVersion:"",layers:{},usingLog:!1});function Sn(e){return JSON.stringify(e,(t,l)=>r(l))}const En={get(e,t){var n;if(t===lt||t===Nl)return e[t];const l=e[lt][t];if(t!=="value"&&(ci(l)||Array.isArray(l))){if(l!==((n=e[t])==null?void 0:n[lt])){const i=[...e[Nl],t];e[t]=new Proxy({[lt]:l,[Nl]:i},En)}return e[t]}return l},set(e,t,l,n){if(!nt.hasNaN&&(typeof l=="number"&&isNaN(l)||l instanceof a&&(isNaN(l.sign)||isNaN(l.layer)||isNaN(l.mag)))){const i=e[lt][t];if(!(typeof i=="number"&&isNaN(i)||i instanceof a&&(isNaN(i.sign)||isNaN(i.layer)||isNaN(i.mag))))throw _n.autosave=!1,nt.hasNaN=!0,nt.NaNPath=[...e[Nl],t],nt.NaNReceiver=n,console.error("Attempted to set NaN value",[...e[Nl],t],e[lt]),"Attempted to set NaN value. See above for details"}return e[lt][t]=l,!0},ownKeys(e){return Reflect.ownKeys(e[lt])},has(e,t){return Reflect.has(e[lt],t)},getOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e[lt],t)}};var Y=window.player=new Proxy({[lt]:_n,[Nl]:["player"]},En);function Bn(e={}){return Object.assign({id:`${Ue.id}-0`,name:"Default Save",tabs:Ue.initialTabs.slice(),time:Date.now(),autosave:!0,offlineProd:!0,offlineTime:0,timePlayed:0,keepGoing:!1,modID:Ue.id,modVersion:Ue.versionNumber,layers:{}},e)}function Gt(e){const t=pl.compressToUTF16(Sn(e!=null?e:Y[lt]));return localStorage.setItem((e!=null?e:Y[lt]).id,t),t}async function Do(){Po();try{let e=localStorage.getItem(Ze.active);if(e==null){await _l(Ml());return}if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=pl.decompressFromUTF16(e);else throw"Unable to determine save encoding";const t=JSON.parse(e);if(t.modID!==Ue.id){await _l(Ml());return}t.id=Ze.active,await _l(t)}catch(e){console.error(`Failed to load save. Falling back to new save. -`,e),await _l(Ml())}}function Ml(){const e=Xl(),t=Bn({id:e});return Gt(t),Ze.saves.push(e),t}function Xl(){let e,t=0;do e=`${Ue.id}-${t++}`;while(localStorage.getItem(e));return e}const xa=G(!1);async function _l(e){console.info("Loading save",e),xa.value=!0;const{layers:t,removeLayer:l,addLayer:n}=await ea(()=>Promise.resolve().then(function(){return No}),void 0),{fixOldSave:i,getInitialLayers:s}=await ea(()=>Promise.resolve().then(function(){return Ur}),void 0);for(const d in t){const u=t[d];u&&l(u)}s(e).forEach(d=>n(d,e)),e=Bn(e),e.offlineProd&&e.time&&e.devSpeed!==0&&(e.offlineTime==null&&(e.offlineTime=0),e.offlineTime+=Math.min(e.offlineTime+(Date.now()-e.time)/1e3,Ue.offlineLimit*3600)),e.time=Date.now(),e.modVersion!==Ue.versionNumber&&i(e.modVersion,e),Object.assign(Y,e),Ze.active=Y.id,Qe.emit("onLoad")}setInterval(()=>{Y.autosave&&Gt()},1e3);window.onbeforeunload=()=>{Y.autosave&&Gt()};window.save=Gt;const xo=window.hardReset=async()=>{await _l(Ml())},ql=Hl({active:"",saves:[],showTPS:!0,theme:Ea.Nordic,unthrottled:!1});Wt(ql,e=>{const t=pl.compressToUTF16(JSON.stringify(e));localStorage.setItem(Ue.id,t)},{deep:!0});var Ze=window.settings=ql;window.hardResetSettings=()=>{const e={active:"",saves:[],showTPS:!0,theme:Ea.Nordic};Qe.emit("loadSettings",e),Object.assign(ql,e),xo()};function Po(){try{let e=localStorage.getItem(Ue.id);if(e!=null&&e!==""){if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=pl.decompressFromUTF16(e);else{console.warn("Unable to determine settings encoding",e);return}const t=JSON.parse(e);typeof t=="object"&&Object.assign(ql,t)}Qe.emit("loadSettings",ql)}catch{}}const Nn=Hl([]);function To(e){Nn.push(e)}const In=Hl([]);function Fo(e){In.push(e)}const Uo=Hl([]),Ro={class:"table"},Nt=oe({__name:"Column",setup(e){const t=f(()=>El[Ze.theme].mergeAdjacent);return(l,n)=>(w(),D("div",Ro,[v("div",{class:Ye(["col",{mergeAdjacent:r(t)}])},[Vt(l.$slots,"default")],2)]))}}),Oo={class:"table"},xl=oe({__name:"Row",setup(e){const t=f(()=>El[Ze.theme].mergeAdjacent);return(l,n)=>(w(),D("div",Oo,[v("div",{class:Ye(["row",{mergeAdjacent:r(t)}])},[Vt(l.$slots,"default")],2)]))}});function Pa(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!oi(e)}function Be(e,t="span"){return typeof e=="function"?oe({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}`),oe({template:e})):oe({render:()=>({})}):e}function ie(e){if(Ot(e))return typeof e=="function"?e():Be(e);const t=e[zt];return o(t,e[el](),null)}function Ve(...e){let t;return o(xl,null,Pa(t=e.map(ie))?t:{default:()=>[t]})}function Ht(...e){let t;return o(Nt,null,Pa(t=e.map(ie))?t:{default:()=>[t]})}function Tl(...e){return o("div",{class:"table-grid"},[e.map(t=>o("div",{class:{["row-grid"]:!0,mergeAdjacent:El[Ze.theme].mergeAdjacent}},[t.map(ie)]))])}function Lt(e){if(Ot(e))return typeof e=="function"?e():typeof e=="string"?o(I,null,[e]):o(e,null,null);const t=e[zt];return o(t,e[el](),null)}function $o(...e){let t;return o(Nt,null,Pa(t=e.map(Lt))?t:{default:()=>[t]})}function Ot(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[Ql]===!0}function Mn(e,t,l){const n=G(null),i=G(void 0);function s(p){n.value||(n.value=setInterval(u,250)),i.value=p,l&&(l.value=!0)}function d(){n.value&&(clearInterval(n.value),n.value=null),l&&(l.value=!1)}function u(){t&&t.value?t.value():e&&e.value&&e.value(i.value)}return sn(d),{start:s,stop:d,handleHolding:u}}function Qo(e,t){const l=f(()=>e.filter(n=>r(n.visibility)===He.Visible&&t(n)));return{firstFeature:f(()=>l.value[0]),collapsedContent:B(()=>Ht(...l.value.slice(1))),hasCollapsedContent:f(()=>l.value.length>1)}}function Pl(e,t="div"){const l=Ft();return Mt(()=>{l.value=Be(tt(e),t)}),l}function vl(e,t="div"){const l=Ft(null);return Mt(()=>{const n=tt(e);l.value=n==null?null:Be(n,t)}),l}function Go(e){return f(()=>tt(e))}function tt(e){return r(r(e))}function Q(...e){return e.includes(Object)||e.push(Object),e}const fe=oe({__name:"Spacer",props:{width:{default:"8px"},height:{default:"17px"}},setup(e){return(t,l)=>(w(),D("div",{style:et({width:e.width,height:e.height})},null,4))}});const qo={},Vo={class:"notif"};function Ho(e,t){return w(),D("div",Vo,"!")}var Ka=Ie(qo,[["render",Ho],["__scopeId","data-v-66323fd4"]]);const ua=e=>(nl("data-v-9de19f28"),e=e(),il(),e),Lo={key:0,class:"day feature dontMerge opened"},jo={class:"date"},Wo=c("Dec"),Ko=ua(()=>v("br",null,null,-1)),zo={class:"date"},Jo=c("Dec"),Yo=ua(()=>v("br",null,null,-1)),Xo=ua(()=>v("div",{class:"doors"},null,-1)),Zo={class:"date"},es=c("Dec"),ts=ua(()=>v("br",null,null,-1)),ls={key:0,class:"material-icons lock"},as={key:1,class:"timer"},ns={key:2,class:"timer"},is=oe({__name:"Day",props:{day:null,symbol:null,layer:null,opened:null,recentlyUpdated:null,shouldNotify:null},emits:["openLore","openLayer","unlockLayer"],setup(e,{emit:t}){const l=e,n=f(()=>l.layer&&a.gte(z.day.value,l.day)&&new Date().getMonth()===11&&new Date().getDate()>=l.day);function i(){n.value&&t("unlockLayer")}return(s,d)=>e.opened.value?(w(),D("div",Lo,[o(oa,{appear:"",name:"door"},{default:ne(()=>[v("div",{class:"doors",onClick:d[0]||(d[0]=u=>t("openLayer"))},[v("div",jo,[Wo,Ko,c(Ae(e.day),1)]),v("div",zo,[Jo,Yo,c(Ae(e.day),1)])])]),_:1}),v("div",{class:"icon",style:et({backgroundImage:`url(${e.symbol})`})},null,4),v("div",{class:"lore",onClick:d[1]||(d[1]=u=>t("openLore"))},"?"),r(e.shouldNotify)?(w(),X(Ka,{key:0})):U("",!0)])):(w(),D("div",{key:1,class:Ye(["day feature dontMerge",{can:r(n),locked:!r(n),canOpen:r(n)}]),onClick:i},[Xo,v("div",Zo,[es,ts,c(Ae(e.day),1)]),r(n)?U("",!0):(w(),D("div",ls,"lock")),r(z).day.value===e.day&&!r(n)?(w(),D("div",as,Ae(r(Sa)(r(z).timeUntilNewDay.value,0)),1)):r(z).day.value===e.day&&e.layer==null?(w(),D("div",ns,"NYI")):U("",!0),r(n)?(w(),X(Ka,{key:3})):U("",!0)],2))}});var os=Ie(is,[["__scopeId","data-v-9de19f28"]]);const ss=oe({__name:"Collapsible",props:{collapsed:null,display:null,content:null},setup(e){const t=e,l=Pl(Kt(t,"display")),n=Pl(Kt(t,"content"));return(i,s)=>(w(),X(Nt,{class:"collapsible-container"},{default:ne(()=>[v("button",{onClick:s[0]||(s[0]=d=>e.collapsed.value=!e.collapsed.value),class:"feature collapsible-toggle"},[(w(),X(Le(r(l))))]),e.collapsed.value?U("",!0):(w(),X(Le(r(n)),{key:0}))]),_:1}))}});var rs=Ie(ss,[["__scopeId","data-v-a72c16aa"]]);const us={key:0},ds={key:0,class:"mark star"},cs=["src"],ps=oe({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,l)=>e.mark?(w(),D("div",us,[e.mark===!0?(w(),D("div",ds)):(w(),D("img",{key:1,class:"mark",src:e.mark},null,8,cs))])):U("",!0)}});var da=Ie(ps,[["__scopeId","data-v-2207999f"]]);const ms=oe({__name:"Node",props:{id:null},setup(e){const l=ot(e),n=Zl(Ba,()=>{}),i=Zl(Na,()=>{}),s=Ft(null),d=f(()=>s.value&&s.value.parentElement);return Wt([d,l.id],([u,p],[m,y])=>{m&&i(r(y)),u&&n(p,u)}),sn(()=>i(r(l.id))),(u,p)=>(w(),D("div",{class:"node",ref_key:"node",ref:s},null,512))}});var Ll=Ie(ms,[["__scopeId","data-v-a48cb382"]]);const gs=oe({props:{progress:{type:Q(String,Object,Number),required:!0},width:{type:Q(Number),required:!0},height:{type:Q(Number),required:!0},direction:{type:Q(String),required:!0},display:Q(Object,String,Function),visibility:{type:Q(Number),required:!0},style:Q(Object,String,Array),classes:Q(Object),borderStyle:Q(Object,String,Array),textStyle:Q(Object,String,Array),baseStyle:Q(Object,String,Array),fillStyle:Q(Object,String,Array),mark:Q(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:da,Node:Ll},setup(e){const{progress:t,width:l,height:n,direction:i,display:s}=ot(e),d=f(()=>{let m=t.value instanceof a?t.value.toNumber():Number(t.value);return(1-Math.min(Math.max(m,0),1))*100}),u=f(()=>{const m={width:tt(l)+.5+"px",height:tt(n)+.5+"px"};switch(r(i)){case Se.Up:m.clipPath=`inset(${d.value}% -2px -2px -2px)`,m.width=tt(l)+2+"px";break;case Se.Down:m.clipPath=`inset(-2px -2px ${d.value}% -2px)`,m.width=tt(l)+2+"px";break;case Se.Right:m.clipPath=`inset(-2px ${d.value}% -2px -2px)`;break;case Se.Left:m.clipPath=`inset(-2px -2px -2px ${d.value} + '%)`;break;case Se.Default:m.clipPath="inset(-2px 50% -2px -2px)";break}return m}),p=vl(s);return{normalizedProgress:d,barStyle:u,component:p,unref:r,Visibility:He}}});function fs(e,t,l,n,i,s){var p,m,y,h,b,g,_;const d=Zt("MarkNode"),u=Zt("Node");return e.unref(e.visibility)!==e.Visibility.None?(w(),D("div",{key:0,style:et([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px",visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(p=e.unref(e.style))!=null?p:{}]),class:Ye({bar:!0,...e.unref(e.classes)})},[v("div",{class:"overlayTextContainer border",style:et([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px"},(m=e.unref(e.borderStyle))!=null?m:{}])},[e.component?(w(),D("span",{key:0,class:"overlayText",style:et(e.unref(e.textStyle))},[(w(),X(Le(e.component)))],4)):U("",!0)],4),v("div",{class:"border",style:et([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px"},(y=e.unref(e.style))!=null?y:{},(h=e.unref(e.baseStyle))!=null?h:{},(b=e.unref(e.borderStyle))!=null?b:{}])},[v("div",{class:"fill",style:et([e.barStyle,(g=e.unref(e.style))!=null?g:{},(_=e.unref(e.fillStyle))!=null?_:{}])},null,4)],4),o(d,{mark:e.unref(e.mark)},null,8,["mark"]),o(u,{id:e.id},null,8,["id"])],6)):U("",!0)}var vs=Ie(gs,[["render",fs],["__scopeId","data-v-730cc7a0"]]);const hs=Symbol("Bar");function jt(e){return kt(()=>{const t=e();return t.id=hl("bar-"),t.type=hs,t[zt]=vs,$(t,"visibility"),ct(t,"visibility",He.Visible),$(t,"width"),$(t,"height"),$(t,"direction"),$(t,"style"),$(t,"classes"),$(t,"borderStyle"),$(t,"baseStyle"),$(t,"textStyle"),$(t,"fillStyle"),$(t,"progress"),$(t,"display"),$(t,"mark"),t[el]=function(){const{progress:l,width:n,height:i,direction:s,display:d,visibility:u,style:p,classes:m,borderStyle:y,textStyle:h,baseStyle:b,fillStyle:g,mark:_,id:S}=this;return{progress:l,width:n,height:i,direction:s,display:d,visibility:u,style:r(p),classes:m,borderStyle:y,textStyle:h,baseStyle:b,fillStyle:g,mark:_,id:S}},t})}var ys=oe({props:{display:{type:Q(Object,String,Function),required:!0},visibility:{type:Q(Number),required:!0},style:Q(Object,String,Array),classes:Q(Object),onClick:Function,onHold:Function,canClick:{type:Q(Boolean),required:!0},small:Boolean,mark:Q(Boolean,String),id:{type:String,required:!0},isHolding:Object},components:{Node:Ll,MarkNode:da},setup(e){const{display:t,onClick:l,onHold:n}=ot(e),i=Ft("");Mt(()=>{const u=tt(t);if(u==null){i.value="";return}if(Ot(u)){i.value=Be(u);return}const p=Be(u.title||"","h3"),m=Be(u.description,"div");i.value=Be(B(()=>o("span",null,[u.title?o("div",null,[o(p,null,null)]):null,o(m,null,null)])))});const{start:s,stop:d}=Mn(l,n,e.isHolding);return{start:s,stop:d,comp:i,Visibility:He,unref:r}}});function bs(e,t,l,n,i,s){var p;const d=Zt("MarkNode"),u=Zt("Node");return e.unref(e.visibility)!==e.Visibility.None?(w(),D("button",{key:0,style:et([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(p=e.unref(e.style))!=null?p:[]]),onClick:t[0]||(t[0]=(...m)=>e.onClick&&e.onClick(...m)),onMousedown:t[1]||(t[1]=(...m)=>e.start&&e.start(...m)),onMouseleave:t[2]||(t[2]=(...m)=>e.stop&&e.stop(...m)),onMouseup:t[3]||(t[3]=(...m)=>e.stop&&e.stop(...m)),onTouchstartPassive:t[4]||(t[4]=(...m)=>e.start&&e.start(...m)),onTouchendPassive:t[5]||(t[5]=(...m)=>e.stop&&e.stop(...m)),onTouchcancelPassive:t[6]||(t[6]=(...m)=>e.stop&&e.stop(...m)),class:Ye({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)?(w(),X(Le(e.unref(e.comp)),{key:0})):U("",!0),o(d,{mark:e.unref(e.mark)},null,8,["mark"]),o(u,{id:e.id},null,8,["id"])],38)):U("",!0)}var Dn=Ie(ys,[["render",bs],["__scopeId","data-v-8cedd7da"]]);const ws=Symbol("Clickable");function It(e){return kt(()=>{var l;const t=(l=e==null?void 0:e())!=null?l:{};if(t.id=hl("clickable-"),t.type=ws,t[zt]=Dn,t.isHolding=G(!1),$(t,"visibility"),ct(t,"visibility",He.Visible),$(t,"canClick"),ct(t,"canClick",!0),$(t,"classes"),$(t,"style"),$(t,"mark"),$(t,"display"),t.onClick){const n=t.onClick.bind(t);t.onClick=function(i){r(t.canClick)&&n(i)}}if(t.onHold){const n=t.onHold.bind(t);t.onHold=function(){r(t.canClick)&&n()}}return t[el]=function(){const{display:n,visibility:i,style:s,classes:d,onClick:u,onHold:p,isHolding:m,canClick:y,small:h,mark:b,id:g}=this;return{display:n,visibility:i,style:r(s),classes:d,onClick:u,onHold:p,isHolding:m,canClick:y,small:h,mark:b,id:g}},t})}function it(e,t="points",l=0,n=void 0){const i=dt(e)?e:we(e);if(i.displayName=t,i.precision=l,i.small=n,!dt(e)){const s=i[Gl];s.displayName=t,s.precision=l,s.small=n}return i}function za(e){const t=we(e.value);return Wt(e,l=>{xa.value||a.gt(l,t.value)&&(t.value=l)}),t}function As(e){const t=we(e.value);return Wt(e,(l,n)=>{xa.value||a.gt(l,n)&&(t.value=a.add(t.value,a.sub(l,n)))}),t}new a("10^^8");new a("1e100");function jl(e,t){const l=t!=null?t:e.value;return a.eq(e.precision,0)?ee(e.small?l:a.floor(l)):Z(l,e.precision,e.small)}const Cs=["x1","y1","x2","y2"],ks=oe({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const l=ot(e),n=f(()=>{const s=l.startNode.value.rect,d=l.boundingRect.value,u=d?{x:s.x+s.width/2-d.x,y:s.y+s.height/2-d.y}:{x:0,y:0};return l.link.value.offsetStart&&(u.x+=l.link.value.offsetStart.x,u.y+=l.link.value.offsetStart.y),u}),i=f(()=>{const s=l.endNode.value.rect,d=l.boundingRect.value,u=d?{x:s.x+s.width/2-d.x,y:s.y+s.height/2-d.y}:{x:0,y:0};return l.link.value.offsetEnd&&(u.x+=l.link.value.offsetEnd.x,u.y+=l.link.value.offsetEnd.y),u});return(s,d)=>(w(),D("line",fl({"stroke-width":"15px",stroke:"white"},e.link,{x1:r(n).x,y1:r(n).y,x2:r(i).x,y2:r(i).y}),null,16,Cs))}});const _s=oe({__name:"Links",props:{links:null},setup(e){var p;const l=Kt(e,"links"),n=G(null),i=Zl(Ia,G({})),s=Zl(Ma,G(void 0)),d=G((p=n.value)==null?void 0:p.getBoundingClientRect());Wt(s,()=>{var m;return d.value=(m=n.value)==null?void 0:m.getBoundingClientRect()}),na(()=>{var m;return d.value=(m=n.value)==null?void 0:m.getBoundingClientRect()});const u=f(()=>{var y,h;const m=i.value;return(h=(y=l.value)==null?void 0:y.filter(b=>{var g,_;return((g=m[b.startNode.id])==null?void 0:g.rect)&&((_=m[b.startNode.id])==null?void 0:_.rect)}))!=null?h:[]});return(m,y)=>(w(),D(I,null,[r(u)?(w(),D("svg",si(fl({key:0},m.$attrs)),[(w(!0),D(I,null,_a(r(u),(h,b)=>(w(),X(ks,{key:b,link:h,boundingRect:d.value,startNode:r(i)[h.startNode.id],endNode:r(i)[h.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):U("",!0),v("div",{ref_key:"resizeListener",ref:n,class:"resize-listener"},null,512)],64))}});var Ss=Ie(_s,[["__scopeId","data-v-063f6d6b"]]);oe({props:{nodes:{type:Q(Array),required:!0},leftSideNodes:Q(Array),rightSideNodes:Q(Array),branches:Q(Array)},components:{Links:Ss},setup(e){const{nodes:t,leftSideNodes:l,rightSideNodes:n}=ot(e),i=Ft();Mt(()=>{const u=tt(t);i.value=Be(B(()=>o(I,null,[u.map(p=>o("span",{class:"row tree-row",style:"margin: 50px auto;"},[p.map(Lt)]))])))});const s=Ft();Mt(()=>{const u=tt(l);s.value=u?Be(B(()=>o("span",{class:"left-side-nodes small"},[u.map(Lt)]))):""});const d=Ft();return Mt(()=>{const u=tt(n);d.value=u?Be(B(()=>o("span",{class:"side-nodes small"},[u.map(Lt)]))):""}),{unref:r,nodesComp:i,leftNodesComp:s,rightNodesComp:d}}});oe({props:{display:Q(Object,String,Function),visibility:{type:Q(Number),required:!0},style:Q(String,Object,Array),classes:Q(Object),onClick:Function,onHold:Function,color:Q(String),glowColor:Q(String),canClick:{type:Q(Boolean),required:!0},mark:Q(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:da,Node:Ll},setup(e){const{onClick:t,onHold:l,display:n}=ot(e),i=vl(n),{start:s,stop:d}=Mn(t,l);return{start:s,stop:d,comp:i,unref:r,Visibility:He,isCoercableComponent:Ot}}});function ol(e){const t=[],l={};let n=!1;function i(){return n||(t.push(...e()),l.base=t.map(u=>gt(u.base)),l.baseText=t.map(u=>gt(u.baseText)),l.visible=t.map(u=>gt(u.visible)),n=!0),t}const s=we({});return[B(()=>{const u=i();let p=!0;const m=u.map((y,h)=>{var S,x,V;if(r(l.visible[h])===!1)return null;const b=o("h3",{onClick:()=>s.value[h]=!s.value[h],style:"cursor: pointer"},[o("span",{class:"modifier-toggle"+(r(s.value[h])?" collapsed":"")},[c("\u25BC")]),y.title,y.subtitle?o("span",{class:"subtitle"},[c(" ("),y.subtitle,c(")")]):null]),g=r(s.value[h])?null:o(I,null,[o("div",{class:"modifier-container"},[o("span",{class:"modifier-description"},[Lt((S=r(l.baseText[h]))!=null?S:"Base")]),o("span",{class:"modifier-amount"},[Z((x=r(l.base[h]))!=null?x:1),y.unit])]),Lt(r(y.modifier.description))]),_=!p;return p=!1,o(I,null,[_?o("br",null,null):null,o("div",null,[b,o("br",null,null),g,o("hr",null,null),o("div",{class:"modifier-container"},[o("span",{class:"modifier-description"},[c("Total")]),o("span",{class:"modifier-amount"},[Z(y.modifier.apply((V=r(l.base[h]))!=null?V:1)),y.unit])])])])});return o(I,null,[m])}),s]}function Vl(e){const t=Object.values(e).reverse(),l=we(!0),n=f(()=>t.filter(p=>p.earned.value===!1)),{firstFeature:i,collapsedContent:s,hasCollapsedContent:d}=Qo(t,p=>p.earned.value),u=B(()=>{const p=[...n.value];return i.value&&p.push(i.value),$o(...p,B(()=>ia(o(rs,{collapsed:l,content:s,display:l.value?"Show other completed milestones":"Hide other completed milestones"},null),[[on,r(d)]])))});return{collapseMilestones:l,display:u}}function sl(e){const t=e.ignoreTotal?e.resource:As(e.resource),l=()=>{var u,p;if(z.day.value!==e.day)return 1;let s=a.add(t.value,1),d=e.goal;return((p=(u=e.usingLog)==null?void 0:u.value)!=null?p:Y.usingLog)&&(s=s.log10(),d=a.log10(d)),a.div(s,d)},n=jt(()=>({direction:Se.Right,width:600,height:25,fillStyle:{backgroundColor:e.color},textStyle:e.textColor?{color:e.textColor}:void 0,progress:l,display:B(()=>z.day.value===e.day?o(I,null,[ce(t.value),c("/"),ce(e.goal)]):"")})),i=B(()=>o(I,null,[o("div",null,[z.day.value===e.day?o(I,null,[c("Reach "),ce(e.goal),c(" "),e.ignoreTotal?"":"total ",e.resource.displayName,c(" to complete the day")]):o(I,null,[e.name,c(" Complete!")]),e.modal?o(I,null,[" ",c("-")," ",o("button",{class:"button",style:"display: inline-block;",onClick:()=>e.modal.show.value=!0},[c("Check Modifiers")])]):void 0]),ie(n),e.modal?ie(e.modal.display):void 0]));return Mt(()=>{z.day.value===e.day&&a.gte(t.value,e.goal)&&z.completeDay()}),{total:t,trackerDisplay:i}}function qt(e){var d;const t=(d=e.style)!=null?d:{minHeight:"20px",width:"40px",color:"var(--foreground)"},l=It(()=>({display:"0",style:t,canClick(){return a.gt(e.active.value,0)},onClick(){e.active.value=0}})),n=It(()=>({display:"-",style:t,canClick(){return a.gt(e.active.value,0)},onClick(){e.active.value=a.sub(e.active.value,1)}})),i=It(()=>({display:"+",style:t,canClick(){return a.lt(e.active.value,e.buyable.amount.value)},onClick(){e.active.value=a.add(e.active.value,1)}})),s=It(()=>({display:"Max",style:t,canClick(){return a.lt(e.active.value,e.buyable.amount.value)},onClick(){e.active.value=e.buyable.amount.value}}));return{min:l,remove:n,add:i,max:s}}const Es=Symbol("Buyable");function Me(e){const t=we(0);return kt(()=>{var s,d,u;const l=e();if(l.canPurchase==null&&(l.resource==null||l.cost==null))throw console.warn("Cannot create buyable without a canPurchase property or a resource and cost property",l),"Cannot create buyable without a canPurchase property or a resource and cost property";l.id=hl("buyable-"),l.type=Es,l[zt]=Dn,l.amount=t,l.amount[gl]=(s=l.initialValue)!=null?s:0,l.canAfford=f(()=>{const p=l,m=r(p.cost);return p.resource!=null&&m!=null&&a.gte(p.resource.value,m)}),l.canPurchase==null&&(l.canPurchase=f(()=>r(l.visibility)===He.Visible&&r(l.canAfford)&&a.lt(l.amount.value,r(l.purchaseLimit)))),l.maxed=f(()=>a.gte(l.amount.value,r(l.purchaseLimit))),$(l,"classes");const n=l.classes;l.classes=f(()=>{const p=r(n)||{};return l.maxed.value&&(p.bought=!0),p}),$(l,"canPurchase"),l.canClick=l.canPurchase,l.onClick=l.purchase=(u=(d=l.onClick)!=null?d:l.purchase)!=null?u:function(){var y;const p=l;if(!r(p.canPurchase))return;const m=r(p.cost);p.cost!=null&&p.resource!=null&&(p.resource.value=a.sub(p.resource.value,m),p.amount.value=a.add(p.amount.value,1)),(y=p.onPurchase)==null||y.call(p,m)},$(l,"display");const i=l.display;return l.display=B(()=>{const p=r(i);if(Ot(p)){const m=Be(p);return o(m,null,null)}if(p!=null&&l.cost!=null&&l.resource!=null){const m=l,y=Be(p.title||"","h3"),h=Be(p.description||""),b=Be(p.effectDisplay||"");return o("span",null,[p.title?o("div",null,[o(y,null,null)]):null,p.description?o(h,null,null):null,p.showAmount===!1?null:o("div",null,[o("br",null,null),r(m.purchaseLimit)===a.dInf?o(I,null,[c("Amount: "),ee(m.amount.value)]):o(I,null,[c("Amount: "),ee(m.amount.value),c(" /")," ",ee(r(m.purchaseLimit))])]),p.effectDisplay?o("div",null,[o("br",null,null),c("Currently: "),o(b,null,null)]):null,m.cost&&!m.maxed.value?o("div",null,[c("Cost: "),Z(r(m.cost)||0)," ",l.resource.displayName]):null])}return""}),$(l,"visibility"),ct(l,"visibility",He.Visible),$(l,"cost"),$(l,"resource"),$(l,"purchaseLimit"),ct(l,"purchaseLimit",a.dInf),$(l,"style"),$(l,"mark"),$(l,"small"),l[el]=function(){const{display:p,visibility:m,style:y,classes:h,onClick:b,canClick:g,small:_,mark:S,id:x}=this;return{display:p,visibility:m,style:r(y),classes:h,onClick:b,canClick:g,small:_,mark:S,id:x}},l})}const ca=sa({}),Ta=Symbol("Hotkey");function Dl(e){return kt(()=>{const t=e();return t.type=Ta,$(t,"enabled"),ct(t,"enabled",!0),$(t,"description"),t})}Qe.on("addLayer",e=>{bn(e,Ta).forEach(t=>{ca[t.key]=t})});Qe.on("removeLayer",e=>{bn(e,Ta).forEach(t=>{ca[t.key]=void 0})});document.onkeydown=function(e){var n;if(((n=e.target)==null?void 0:n.tagName)==="INPUT"||Ra.value&&!Y.keepGoing)return;let t=e.key;e.shiftKey&&(t="shift+"+t),e.ctrlKey&&(t="ctrl+"+t);const l=ca[t];l&&r(l.enabled)&&(e.preventDefault(),l.onPress())};Fo(B(()=>{const e=Object.values(ca).filter(t=>r(t==null?void 0:t.enabled));return e.length===0?"":o("div",null,[o("br",null,null),o("h4",null,[c("Hotkeys")]),e.map(t=>o("div",null,[t==null?void 0:t.key,c(": "),t==null?void 0:t.description]))])}));const Bs=oe({__name:"Sticky",setup(e){const t=G("0"),l=new ResizeObserver(i),n=Ft(null);function i(){let s=n.value;if(s==null)return;let d=0;for(;s.previousSibling;){const u=s.previousSibling;u.dataset&&"vSticky"in u.dataset&&(d+=u.offsetHeight),s=u}t.value=d+"px"}return Sl(i),document.fonts.ready.then(i),na(()=>{var d;const s=(d=n.value)==null?void 0:d.parentElement;s&&l.observe(s)}),(s,d)=>(w(),D("div",{class:"sticky",style:et({top:t.value}),ref_key:"element",ref:n,"data-v-sticky":""},[Vt(s.$slots,"default",{},void 0,!0)],4))}});var xn=Ie(Bs,[["__scopeId","data-v-cccac690"]]);const Ja=oe({__name:"Resource",props:{resource:null,color:null},setup(e){const t=e,l=f(()=>jl(t.resource));return(n,i)=>(w(),D("h2",{style:et({color:e.color,"text-shadow":"0px 0px 10px "+e.color})},Ae(r(l)),5))}});const Ns={class:"main-display"},Is={key:0},Ms={key:1},Ds=c(", "),xs={key:2},Ps=v("br",null,null,-1),Ts={class:"main-display"},Fs={key:0},Us={key:1},Rs=c(", "),Os={key:2},$s=v("br",null,null,-1),Bt=oe({__name:"MainDisplay",props:{resource:null,color:null,classes:null,style:null,effectDisplay:null,productionDisplay:null,sticky:{type:Boolean,default:!0}},setup(e){const l=ot(e),n=G(null),i=vl(l.effectDisplay),s=G(null),d=vl(l.productionDisplay),u=f(()=>a.lt(l.resource.value,"1e1000"));return(p,m)=>{var y,h;return e.sticky?(w(),X(xn,{key:0},{default:ne(()=>{var b,g,_,S;return[v("div",{class:Ye(["main-display-container",(b=e.classes)!=null?b:{}]),style:et([{"min-height":`${((_=(g=n.value)==null?void 0:g.$el.clientHeight)!=null?_:0)+50}px`},(S=e.style)!=null?S:{}])},[v("div",Ns,[r(u)?(w(),D("span",Is,"You have ")):U("",!0),o(Ja,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),c(" "+Ae(e.resource.displayName),1),r(i)?(w(),D("span",Ms,[Ds,(w(),X(Le(r(i)),{ref_key:"effectRef",ref:n},null,512))])):U("",!0),r(d)?(w(),D("span",xs,[Ps,(w(),X(Le(r(d)),{ref_key:"productionRef",ref:s},null,512))])):U("",!0)])],6)]}),_:1})):(w(),D("div",{key:1,class:Ye(["main-display-container",(y=e.classes)!=null?y:{}]),style:et([{"min-height":"50px"},(h=e.style)!=null?h:{}])},[v("div",Ts,[r(u)?(w(),D("span",Fs,"You have ")):U("",!0),o(Ja,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),c(" "+Ae(e.resource.displayName),1),r(i)?(w(),D("span",Us,[Rs,(w(),X(Le(r(i)),{ref_key:"effectRef",ref:n},null,512))])):U("",!0),r(d)?(w(),D("span",Os,[$s,(w(),X(Le(r(d)),{ref_key:"productionRef",ref:s},null,512))])):U("",!0)])],6))}}});var Qs=oe({props:{display:{type:Q(String,Object,Function),required:!0},visibility:{type:Q(Number),required:!0},style:Q(String,Object,Array),classes:Q(Object),resource:Object,cost:Q(String,Object,Number),canPurchase:{type:Q(Boolean),required:!0},bought:{type:Q(Boolean),required:!0},mark:Q(Boolean,String),id:{type:String,required:!0},purchase:{type:Function,required:!0}},components:{Node:Ll,MarkNode:da},setup(e){const{display:t,cost:l}=ot(e),n=Ft("");return Mt(()=>{const i=tt(t);if(i==null){n.value="";return}if(Ot(i)){n.value=Be(i);return}const s=tt(l),d=Be(i.title||"","h3"),u=Be(i.description,"div"),p=Be(i.effectDisplay||"");n.value=Be(B(()=>{var m;return o("span",null,[i.title?o("div",null,[o(d,null,null)]):null,o(u,null,null),i.effectDisplay?o("div",null,[c("Currently: "),o(p,null,null)]):null,e.resource!=null&&i.showCost!==!1?o(I,null,[o("br",null,null),c("Cost: "),e.resource&&jl(e.resource,s)," ",(m=e.resource)==null?void 0:m.displayName]):null])}))}),{component:n,unref:r,Visibility:He}}});const Gs=["disabled"];function qs(e,t,l,n,i,s){var p;const d=Zt("MarkNode"),u=Zt("Node");return e.unref(e.visibility)!==e.Visibility.None?(w(),D("button",{key:0,style:et([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(p=e.unref(e.style))!=null?p:{}]),onClick:t[0]||(t[0]=(...m)=>e.purchase&&e.purchase(...m)),class:Ye({feature:!0,upgrade:!0,can:e.unref(e.canPurchase),locked:!e.unref(e.canPurchase),bought:e.unref(e.bought),...e.unref(e.classes)}),disabled:!e.unref(e.canPurchase)},[e.unref(e.component)?(w(),X(Le(e.unref(e.component)),{key:0})):U("",!0),o(d,{mark:e.unref(e.mark)},null,8,["mark"]),o(u,{id:e.id},null,8,["id"])],14,Gs)):U("",!0)}var Vs=Ie(Qs,[["render",qs],["__scopeId","data-v-7f411ac8"]]);const Hs=Symbol("Upgrade");function R(e){const t=we(!1);return kt(()=>{const l=e();return l.id=hl("upgrade-"),l.type=Hs,l[zt]=Vs,l.canAfford==null&&(l.resource==null||l.cost==null)&&console.warn("Error: can't create upgrade without a canAfford property or a resource and cost property",l),l.bought=t,l.canAfford==null?l.canAfford=f(()=>{const n=l;return n.resource!=null&&n.cost!=null&&a.gte(n.resource.value,r(n.cost))}):$(l,"canAfford"),l.canPurchase=f(()=>r(l.visibility)===He.Visible&&r(l.canAfford)&&!r(l.bought)),l.purchase=function(){var i;const n=l;!r(n.canPurchase)||(n.resource!=null&&n.cost!=null&&(n.resource.value=a.sub(n.resource.value,r(n.cost))),t.value=!0,(i=n.onPurchase)==null||i.call(n))},$(l,"visibility"),ct(l,"visibility",He.Visible),$(l,"classes"),$(l,"style"),$(l,"display"),$(l,"mark"),$(l,"cost"),$(l,"resource"),l[el]=function(){const{display:n,visibility:i,style:s,classes:d,resource:u,cost:p,canPurchase:m,bought:y,mark:h,id:b,purchase:g}=this;return{display:n,visibility:i,style:r(s),classes:d,resource:u,cost:p,canPurchase:m,bought:y,mark:h,id:b,purchase:g}},l})}function te(e){return kt(()=>{const{addend:t,description:l,enabled:n}=e(),i=gt(t),s=gt(l),d=n==null?void 0:gt(n);return{apply:u=>a.add(u,r(i)),revert:u=>a.sub(u,r(i)),enabled:d,description:l==null?void 0:B(()=>o("div",{class:"modifier-container"},[r(s)?o("span",{class:"modifier-description"},[Lt(r(s))]):null,o("span",{class:"modifier-amount"},[a.gte(r(i),0)?"+":"",Z(r(i))])]))}})}function k(e){return kt(()=>{const{multiplier:t,description:l,enabled:n}=e(),i=gt(t),s=gt(l),d=n==null?void 0:gt(n);return{apply:u=>a.times(u,r(i)),revert:u=>a.div(u,r(i)),enabled:d,description:l==null?void 0:B(()=>o("div",{class:"modifier-container"},[r(s)?o("span",{class:"modifier-description"},[Lt(r(s))]):null,o("span",{class:"modifier-amount"},[c("\xD7"),Z(r(i))])]))}})}function Pn(e){return kt(()=>{const{exponent:t,description:l,enabled:n,supportLowNumbers:i}=e(),s=gt(t),d=gt(l),u=n==null?void 0:gt(n);return{apply:p=>{let m=p;return i&&(m=a.add(m,1)),m=a.pow(m,r(s)),i&&(m=a.sub(m,1)),m},revert:p=>{let m=p;return i&&(m=a.add(m,1)),m=a.root(m,r(s)),i&&(m=a.sub(m,1)),m},enabled:u,description:l==null?void 0:B(()=>o("div",{class:"modifier-container"},[r(d)?o("span",{class:"modifier-description"},[Lt(r(d)),i?" (+1 effective)":null]):null,o("span",{class:"modifier-amount"},[c("^"),Z(r(s))])]))}})}function W(e){return kt(()=>{const t=e();return{apply:l=>t.filter(n=>r(n.enabled)!==!1).reduce((n,i)=>i.apply(n),l),revert:t.every(l=>l.revert!=null)?l=>t.filter(n=>r(n.enabled)!==!1).reduceRight((n,i)=>i.revert(n),l):void 0,enabled:f(()=>t.filter(l=>r(l.enabled)!==!1).length>0),description:B(()=>o(I,null,[t.filter(l=>r(l.enabled)!==!1).map(l=>r(l.description)).filter(l=>l).map(Lt)]))}})}function Tn(e){return kt(()=>{const t=e();return t.currentGain==null&&(t.currentGain=f(()=>{let l=t.gainModifier?t.gainModifier.apply(t.scaling.currentGain(t)):t.scaling.currentGain(t);return l=a.floor(l).max(0),r(t.buyMax)||(l=l.min(1)),l})),t.actualGain==null&&(t.actualGain=t.currentGain),t.currentAt==null&&(t.currentAt=f(()=>{let l=t.scaling.currentAt(t);return t.roundUpCost&&(l=a.ceil(l)),l})),t.nextAt==null&&(t.nextAt=f(()=>{let l=t.scaling.nextAt(t);return t.roundUpCost&&(l=a.ceil(l)),l})),t.convert==null&&(t.convert=function(){var i;const l=r(t.currentGain),n=r(t.currentAt);t.gainResource.value=a.add(t.gainResource.value,l),t.spend(l,n),(i=t.onConvert)==null||i.call(t,l)}),t.spend==null&&(t.spend=function(){t.baseResource.value=0}),$(t,"currentGain"),$(t,"actualGain"),$(t,"currentAt"),$(t,"nextAt"),$(t,"buyMax"),ct(t,"buyMax",!0),$(t,"roundUpCost"),ct(t,"roundUpCost",!0),t})}function Fa(e,t){const l=gt(e),n=gt(t);return{currentGain(i){let s=r(i.baseResource.value);if(i.costModifier&&(s=i.costModifier.apply(s)),a.lt(s,r(l)))return 0;const d=a.div(s,r(l)).pow(r(n));return d.isNan()?new a(0):d},currentAt(i){let s=r(i.currentGain);return i.gainModifier&&(s=i.gainModifier.revert(s)),s=a.max(0,s).root(r(n)).times(r(l)),i.costModifier&&(s=i.costModifier.revert(s)),s},nextAt(i){let s=a.add(r(i.currentGain),1).floor();return i.gainModifier&&(s=i.gainModifier.revert(s)),s=a.max(0,s).root(r(n)).times(r(l)).max(r(l)),i.costModifier&&(s=i.costModifier.revert(s)),s}}}function Fn(e){return Tn(e)}function Ls(e){return Tn(()=>{const t=e();return ct(t,"buyMax",!1),t.currentGain==null&&(t.currentGain=f(()=>{let l=t.gainModifier?t.gainModifier.apply(t.scaling.currentGain(t)):t.scaling.currentGain(t);return l=a.floor(l).max(t.gainResource.value),r(t.buyMax)||(l=l.min(a.add(t.gainResource.value,1))),l})),t.actualGain==null&&(t.actualGain=f(()=>{let l=a.sub(a.floor(t.scaling.currentGain(t)),t.gainResource.value).max(0);return r(t.buyMax)||(l=l.min(1)),l})),ct(t,"convert",function(){var i;const l=r(t.actualGain),n=r(t.currentAt);t.gainResource.value=t.gainModifier?t.gainModifier.apply(r(t.currentGain)):r(t.currentGain),t.spend(l,n),(i=t.onConvert)==null||i.call(t,l)}),t})}const js={class:"field"},Ws=oe({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const l=e,n=f(()=>Be(r(l.title)||"","span")),i=f({get(){return!!l.modelValue},set(s){t("update:modelValue",s)}});return(s,d)=>(w(),D("label",js,[ia(v("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":d[0]||(d[0]=u=>dt(i)?i.value=u:null)},null,512),[[ri,r(i)]]),(w(),X(Le(r(n))))]))}});var al=Ie(Ws,[["__scopeId","data-v-33d57459"]]);const Ks={class:"field"},zs={key:0,class:"field-title"},Ua=oe({__name:"Select",props:{title:null,modelValue:null,options:null,placeholder:null,closeOnSelect:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){var d;const l=e,n=vl(Kt(l,"title"),"span"),i=G((d=l.options.find(u=>u.value===l.modelValue))!=null?d:null);Wt(Kt(l,"modelValue"),u=>{var p;tt(i)!==u&&(i.value=(p=l.options.find(m=>m.value===u))!=null?p:null)});function s(u){t("update:modelValue",u.value)}return(u,p)=>(w(),D("div",Ks,[r(n)?(w(),D("span",zs,[(w(),X(Le(r(n))))])):U("",!0),o(r(pi),{options:e.options,modelValue:i.value,"onUpdate:modelValue":[p[0]||(p[0]=m=>i.value=m),s],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});var Js=oe({props:{visibility:{type:Q(Number),required:!0},display:{type:Q(String,Object,Function),required:!0},style:Q(String,Object,Array),classes:Q(Object),earned:{type:Q(Boolean),required:!0},id:{type:String,required:!0}},components:{Node:Ll},setup(e){const{display:t}=ot(e),l=Ft("");return Mt(()=>{const n=tt(t);if(n==null){l.value="";return}if(Ot(n)){l.value=Be(n);return}const i=Be(n.requirement,"h3"),s=Be(n.effectDisplay||"","b"),d=Be(n.optionsDisplay||"","span");l.value=Be(B(()=>o("span",null,[o(i,null,null),n.effectDisplay?o("div",null,[o(s,null,null)]):null,n.optionsDisplay?o("div",{class:"equal-spaced"},[o(d,null,null)]):null])))}),{comp:l,unref:r,Visibility:He}}});function Ys(e,t,l,n,i,s){var u;const d=Zt("Node");return e.unref(e.visibility)!==e.Visibility.None?(w(),D("div",{key:0,style:et([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(u=e.unref(e.style))!=null?u:{}]),class:Ye({feature:!0,milestone:!0,done:e.unref(e.earned),...e.unref(e.classes)})},[(w(),X(Le(e.unref(e.comp)))),o(d,{id:e.id},null,8,["id"])],6)):U("",!0)}var Xs=Ie(Js,[["render",Ys],["__scopeId","data-v-f4e8794e"]]);Qe.on("setupVue",e=>e.use(mi));function Zs(e="white",t="8px"){return{transform:"scale(1.05, 1.05)",borderColor:"rgba(0, 0, 0, 0.125)",boxShadow:`-4px -4px 4px rgba(0, 0, 0, 0.25) inset, 0 0 ${t} ${e}`,zIndex:1}}const Ya=un(),er=Symbol("Milestone");let ml;(function(e){e.All="all",e.Configurable="configurable",e.Incomplete="incomplete",e.None="none"})(ml||(ml={}));function ve(e){const t=we(!1);return kt(()=>{var i;const l=(i=e==null?void 0:e())!=null?i:{};l.id=hl("milestone-"),l.type=er,l[zt]=Xs,l.earned=t,l.complete=function(){var d;const s=l;if(t.value=!0,(d=s.onComplete)==null||d.call(s),s.display&&r(s.showPopups)===!0){const u=r(s.display),p=Be(Ot(u)?u:u.requirement);Ya(o(I,null,[o("h3",null,[c("Milestone earned!")]),o("div",null,[o(p,null,null)])]))}},$(l,"visibility"),ct(l,"visibility",He.Visible);const n=l.visibility;if(l.visibility=f(()=>{const s=r(l.display);switch(Ze.msDisplay){default:case ml.All:return r(n);case ml.Configurable:return r(l.earned)&&!(s!=null&&typeof s=="object"&&"optionsDisplay"in s)?He.None:r(n);case ml.Incomplete:return r(l.earned)?He.None:r(n);case ml.None:return He.None}}),$(l,"style"),$(l,"classes"),$(l,"display"),$(l,"showPopups"),l[el]=function(){const{visibility:s,display:d,style:u,classes:p,earned:m,id:y}=this;return{visibility:s,display:d,style:r(u),classes:p,earned:m,id:y}},l.shouldEarn){const s=l;Mt(()=>{var d,u;if(Ze.active===Y.id&&!s.earned.value&&r(s.visibility)===He.Visible&&((d=s.shouldEarn)==null?void 0:d.call(s))&&(s.earned.value=!0,(u=s.onComplete)==null||u.call(s),s.display&&r(s.showPopups)===!0)){const p=r(s.display),m=Be(Ot(p)?p:p.requirement);Ya(o(I,null,[o("h3",null,[c("Milestone earned!")]),o("div",null,[o(m,null,null)])]))}})}return l})}Qe.on("loadSettings",e=>{ct(e,"msDisplay",ml.All)});const tr=Object.values(ml).map(e=>({label:yn(e),value:e}));To(B(()=>o(Ua,{title:"Show Milestones",options:tr,"onUpdate:modelValue":e=>Ze.msDisplay=e,modelValue:Ze.msDisplay},null)));const lr=Symbol("Reset");function ar(e){return kt(()=>{const t=e();return t.id=hl("reset-"),t.type=lr,t.reset=function(){var n;const l=i=>{if(i&&typeof i=="object")if(gl in i){const s=i;s.value=s[gl]}else!(i instanceof a)&&!dt(i)&&Object.values(i).forEach(s=>l(s))};r(t.thingsToReset).forEach(l),Qe.emit("reset",t),(n=t.onReset)==null||n.call(t)},$(t,"thingsToReset"),t})}const Yl={};Qe.on("removeLayer",e=>{var t;(t=Yl[e.id])==null||t.call(Yl),Yl[e.id]=void 0});const nr={},ir={style:{"white-space":"nowrap"}},or=v("span",{style:{"font-size":"larger","font-family":"initial"}},"\u221A",-1),sr={style:{"text-decoration":"overline"}};function rr(e,t){return w(),D("span",ir,[or,v("span",sr,[Vt(e.$slots,"default")])])}var Un=Ie(nr,[["render",rr]]);const ur="dyes",dr=11,at=Dt(ur,function(){const e="Dyes",t="#D4D4F4";function l(g){const _=it(0,g.name),S=W(()=>[te(()=>({addend:()=>a.add(V.amount.value,1),description:`${g.name} Chambers`})),k(()=>({multiplier:i.orange1,description:"Orange Dye Boost 1",enabled:g.color=="red"||g.color=="yellow"})),k(()=>({multiplier:i.green1,description:"Green Dye Boost 1",enabled:g.color=="yellow"||g.color=="blue"})),k(()=>({multiplier:i.purple1,description:"Purple Dye Boost 1",enabled:g.color=="red"||g.color=="blue"})),k(()=>({multiplier:2,description:"Wetter Dyes",enabled:()=>u.yellowDyeUpg.bought.value&&(g.color=="red"||g.color=="yellow"||g.color=="blue")}))]),x=f(()=>S.apply(0)),V=Me(()=>{const E=gt(g.costs);return{...g,style:()=>({backgroundColor:r(V.canPurchase)?t:"#545454",minWidth:"200px"}),display:B(()=>o("span",null,[o("h3",null,[g.name,c(" Chambers")]),o("br",null,null),c("Create "),Z(x.value),c(" "),g.name,g.dyesToReset.length>0?", but reset "+g.dyesToReset.map(C=>C.name).join(", "):"",c("."),o("br",null,null),o("br",null,null),o("span",{class:"white-space: pre-wrap"},[c("Currently:")," ",g.listedBoosts.filter(C=>r(C.visible)).map(C=>ie(B(()=>o("div",null,[r(C.desc)]))))]),o("br",null,null),o("div",null,[c("Cost:")," ",r(E).map(C=>ie(B(()=>{var P,L;return o("div",null,[Z(r(a.pow((P=r(V.cost))!=null?P:a.dInf,r((L=C.root)!=null?L:1)).times(r(C.base))))," ",C.res.displayName,o("br",null,null)])})))])])),cost(){let C=V.amount.value;return a.gte(C,25)&&(C=a.pow(C,2).div(20)),a.gte(C,10)&&(C=a.pow(C,2).div(5)),a.div(C,10).plus(1)},canPurchase:f(C=>{var L;if(r(V.visibility)!=He.Visible)return!1;const P=(L=C!=null?C:r(V.cost))!=null?L:a.dInf;return r(E).every(ue=>{var H;return a.div(ue.res.value,r(ue.base)).root(r((H=ue.root)!=null?H:1)).gte(P)})}),onPurchase(C){var L;const P=(L=C!=null?C:r(V.cost))!=null?L:a.dInf;r(E).forEach(ue=>{var H;ue.res.value=a.sub(ue.res.value,a.pow(P,r((H=ue.root)!=null?H:1)).times(r(ue.base)))}),_.value=a.add(_.value,x.value),V.amount.value=a.add(V.amount.value,1),g.dyesToReset.forEach(ue=>ue.reset())}}});return{name:g.name,amount:_,buyable:V,toGenerate:S,computedToGenerate:x,display:B(()=>o(Bt,{resource:_,color:g.color,style:"margin: 0; width: 200px; width: 180px; padding: 10px;",sticky:!1},null))}}const n={red:l({name:"Red Dye",color:"red",costs:()=>[{base:"2e18",root:5,res:_e.logs},{base:f(()=>u.yellowDyeUpg2.bought.value?"2.5e5":"5e5"),root:2,res:ze.oil}],listedBoosts:[{visible:!0,desc:f(()=>`+${Z(i.red1.value)} effective Oil Pumps (does not impact coal consumption)`)}],dyesToReset:[]}),yellow:l({name:"Yellow Dye",color:"yellow",costs:()=>[{base:"1e18",root:5,res:_e.logs},{base:f(()=>u.yellowDyeUpg2.bought.value?"5e5":"1e6"),root:2,res:ze.oil}],listedBoosts:[{visible:!0,desc:f(()=>`x${Z(i.yellow1.value)} Paper & Plastic gain`)}],dyesToReset:[]}),blue:l({name:"Blue Dye",color:"blue",costs:()=>[{base:"5e17",root:5,res:_e.logs},{base:f(()=>u.yellowDyeUpg2.bought.value?"1e6":"2e6"),root:2,res:ze.oil}],listedBoosts:[{visible:!0,desc:f(()=>`+${ee(i.blue1.value)} forest size (after all other modifiers).`)}],dyesToReset:[]}),orange:l({name:"Orange Dye",color:"orange",costs:()=>[{base:15,root:2,res:n.red.amount},{base:10,root:2,res:n.yellow.amount}],listedBoosts:[{visible:!0,desc:f(()=>`x${Z(i.orange1.value)} Red and Yellow Dye gain`)},{visible:!0,desc:f(()=>`/${Z(i.orange2.value)} Box buyable costs.`)}],dyesToReset:[{name:"Red Dye",reset(){n.red.amount.value=0,n.red.buyable.amount.value=0}},{name:"Yellow Dye",reset(){n.yellow.amount.value=0,n.yellow.buyable.amount.value=0}}]}),green:l({name:"Green Dye",color:"green",costs:()=>[{base:15,root:2,res:n.yellow.amount},{base:10,root:2,res:n.blue.amount}],listedBoosts:[{visible:!0,desc:f(()=>`x${Z(i.green1.value)} Yellow and Blue Dye gain`)},{visible:!0,desc:f(()=>`+${ee(a.sub(i.green2.value,1).times(100))}% Kiln synergy effect.`)}],dyesToReset:[{name:"Yellow Dye",reset(){n.yellow.amount.value=0,n.yellow.buyable.amount.value=0}},{name:"Blue Dye",reset(){n.blue.amount.value=0,n.blue.buyable.amount.value=0}}]}),purple:l({name:"Purple Dye",color:"purple",costs:()=>[{base:15,root:2,res:n.blue.amount},{base:10,root:2,res:n.red.amount}],listedBoosts:[{visible:!0,desc:f(()=>`x${Z(i.purple1.value)} Red and Blue Dye gain`)},{visible:!0,desc:f(()=>`x${Z(i.purple2.value)} Smelting Speed and Ore Purity`)}],dyesToReset:[{name:"Blue Dye",reset(){n.blue.amount.value=0,n.blue.buyable.amount.value=0}},{name:"Red Dye",reset(){n.red.amount.value=0,n.red.buyable.amount.value=0}}]})},i={red1:f(()=>a.pow(a.add(n.red.amount.value,1).log2().plus(1).log2().div(2),u.blueDyeUpg2.bought.value?1.5:1)),yellow1:f(()=>a.add(n.yellow.amount.value,1).log2().plus(1)),blue1:f(()=>a.add(n.blue.amount.value,1).log2().sqrt().times(5e6)),orange1:f(()=>a.pow(2,a.add(n.orange.amount.value,1).log2().sqrt()).pow(u.coalUpg.bought.value?1.2:1)),orange2:f(()=>a.add(n.orange.amount.value,1).log2().plus(1)),green1:f(()=>a.pow(2,a.add(n.green.amount.value,1).log2().sqrt()).pow(u.coalUpg.bought.value?1.2:1)),green2:f(()=>a.add(n.green.amount.value,1).log2().plus(1).pow(u.coalUpg.bought.value?2:1)),purple1:f(()=>a.pow(2,a.add(n.purple.amount.value,1).log2().sqrt()).pow(u.coalUpg.bought.value?1.2:1)),purple2:f(()=>a.add(n.purple.amount.value,1).log2().plus(1))},[s,d]=ol(()=>[{title:"Red Dye Creation",modifier:n.red.toGenerate,base:0},{title:"Yellow Dye Creation",modifier:n.yellow.toGenerate,base:0},{title:"Blue Dye Creation",modifier:n.blue.toGenerate,base:0},{title:"Orange Dye Creation",modifier:n.orange.toGenerate,base:0},{title:"Green Dye Creation",modifier:n.green.toGenerate,base:0},{title:"Purple Dye Creation",modifier:n.purple.toGenerate,base:0}]),u={blueDyeUpg:R(()=>({visibility:()=>M(a.add(n.orange.amount.value,n.green.amount.value).add(n.purple.amount.value).gte(1)||u.blueDyeUpg.bought.value),display:{title:"Is Blue Dye just Water?",description:B(()=>o(I,null,[c("Multiply Log gain by log"),o("sub",null,[c("10")]),c("(Auto Cutting Amount)+1.")]))},cost:1e3,resource:F(n.blue.amount),onPurchase(){n.blue.amount.value=0,n.blue.buyable.amount.value=0}})),redDyeUpg:R(()=>({visibility:()=>M(a.add(n.orange.amount.value,n.green.amount.value).add(n.purple.amount.value).gte(10)||u.redDyeUpg.bought.value),display:{title:"Glistening Paint",description:B(()=>o(I,null,[c("Multiply Ore Purity by log"),o("sub",null,[c("10")]),c("(Cloth)+1.")]))},cost:1500,resource:F(n.red.amount),onPurchase(){n.red.amount.value=0,n.red.buyable.amount.value=0}})),yellowDyeUpg:R(()=>({visibility:()=>M(a.add(n.orange.amount.value,n.green.amount.value).add(n.purple.amount.value).gte(100)||u.yellowDyeUpg.bought.value),display:{title:"Wetter Dyes",description:"Double Red, Yellow, and Blue Dye gain, but reset their amounts."},cost:2e3,resource:F(n.yellow.amount),onPurchase(){n.red.amount.value=0,n.red.buyable.amount.value=0,n.yellow.amount.value=0,n.yellow.buyable.amount.value=0,n.blue.amount.value=0,n.blue.buyable.amount.value=0}})),yellowDyeUpg2:R(()=>({visibility:()=>M(u.yellowDyeUpg.bought.value),display:{title:"Golden Wash",description:"Halve the Oil cost of Red, Yellow, and Blue Dyes."},cost:5e3,resource:F(n.yellow.amount),onPurchase(){n.yellow.amount.value=0,n.yellow.buyable.amount.value=0}})),redDyeUpg2:R(()=>({visibility:()=>M(u.redDyeUpg.bought.value),display:{title:"De Louvre",description:B(()=>o(I,null,[c("Multiply Smelting Speed by "),o(Un,null,{default:()=>[c("Refineries+1")]}),c(".")]))},cost:6e3,resource:F(n.red.amount),onPurchase(){n.red.amount.value=0,n.red.buyable.amount.value=0}})),blueDyeUpg2:R(()=>({visibility:()=>M(u.blueDyeUpg.bought.value),display:{title:"Hydrophobia",description:"Raise Red Dye's effect ^1.5."},cost:7500,resource:F(n.blue.amount),onPurchase(){n.blue.amount.value=0,n.blue.buyable.amount.value=0}})),coalUpg:R(()=>({visibility:()=>M(u.blueDyeUpg2.bought.value&&u.redDyeUpg2.bought.value&&u.yellowDyeUpg2.bought.value),display:{title:"Denser Spectrum",description:"Orange, Green, and Purple Dyes' first effect is raised ^1.2, and Green Dye's second effect is squared. Buying this resets Red, Yellow, and Blue Dyes."},cost:"5e30",resource:O.coal,onPurchase(){n.red.amount.value=0,n.red.buyable.amount.value=0,n.yellow.amount.value=0,n.yellow.buyable.amount.value=0,n.blue.amount.value=0,n.blue.buyable.amount.value=0}}))},p=G(!1),m=B(()=>o(wt,{modelValue:p.value,"onUpdate:modelValue":g=>p.value=g},{header:()=>o("h2",null,[e,c(" Modifiers")]),body:s})),y=it(f(()=>Object.values(n).reduce((g,_)=>a.add(g,_.amount.value),0)),"Sum of Dyes"),{total:h,trackerDisplay:b}=sl({resource:y,goal:6e4,name:e,day:dr,color:t,textColor:"var(--feature-foreground)",modal:{show:p,display:m},ignoreTotal:!0});return{name:e,color:t,dyes:n,dyeSum:y,boosts:i,totalDyeSum:h,minWidth:700,generalTabCollapsed:d,upgrades:u,display:B(()=>o(I,null,[ie(b),o(fe,null,null),o("div",{style:"width: 620px"},[Ve(n.red.display,n.yellow.display,n.blue.display),Ve(n.red.buyable,n.yellow.buyable,n.blue.buyable),o(fe,null,null),Ve(n.orange.display,n.green.display,n.purple.display),Ve(n.orange.buyable,n.green.buyable,n.purple.buyable)]),o(fe,null,null),o("div",{class:"row",style:"vertical-align: top"},[Ht(u.redDyeUpg,u.redDyeUpg2),Ht(u.yellowDyeUpg,u.yellowDyeUpg2),Ht(u.blueDyeUpg,u.blueDyeUpg2)]),ie(u.coalUpg)]))}}),cr="oil",ya=9,ze=Dt(cr,function(){const e="Oil",t="#000000",l="var(--foreground)",n=it(0,"oil"),i=it(0,"depth"),s=we(0),d=f(()=>a.lt(i.value,990)?a.add(10,i.value):a.pow(1.001,a.sub(i.value,990)).mul(1e3));function u(){if(a.lt(i.value,990)){const Ke=a.min(a.affordArithmeticSeries(s.value,10,1,i.value),a.sub(990,i.value)),St=a.sumArithmeticSeries(Ke,10,1,i.value);s.value=a.sub(s.value,St),i.value=a.add(i.value,Ke)}if(a.gte(i.value,990)){const Ke=a.affordGeometricSeries(s.value,1e3,1.001,a.sub(i.value,990)),St=a.sumGeometricSeries(Ke,1e3,1.001,a.sub(i.value,990));s.value=a.sub(s.value,St),i.value=a.add(i.value,Ke)}}const p=we(0),m=f(()=>a.times(a.pow(p.value,V.value).pow(2),1e14)),y=f(()=>a.times(a.pow(p.value,V.value),1)),h=Me(()=>({resource:At.metal,cost(){const Ke=new a(this.amount.value);return a.pow(1.3,Ke).times(25e3)},display:B(()=>o(I,null,[o("h3",null,[c("Heavy Drill")]),o("br",null,null),c("A large drill specialized at deep mining."),o("br",null,null),c("Consumes 1e14*(Heavy Drills amount)"),o("sup",null,[c("2")]),c(" coal/sec for (Heavy Drills amount) drill power."),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("-"),ge(m.value),c(" coal/sec"),o("br",null,null),c("+"),ge(y.value),c(" drill power"),o("br",null,null),o("br",null,null),c("Cost: "),ce(r(h.cost)),c(" "),h.resource.displayName])),onPurchase(){p.value=a.add(p.value,1)},style:{color:l,width:"160px"}})),{min:b,max:g,add:_,remove:S}=qt({buyable:h,active:p}),x=we(0),V=f(()=>a.add(x.value,Math.E).ln()),E=Me(()=>({resource:At.metal,cost(){const Ke=new a(this.amount.value);return a.pow(2,Ke).times(1e5)},display:B(()=>o(I,null,[o("h3",null,[c("Heavy Drill Drill")]),o("br",null,null),c("Attach extra drills to Heavy Drills to make them faster"),o("br",null,null),c("Raise amount of effective Heavy Drills by ^ln(Heavy Drill Drill amount + e)."),o("br",null,null),c("(also affects coal consumption)."),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("^"),ge(V.value),c(" Heavy Drill amount"),o("br",null,null),o("br",null,null),c("Cost: "),ce(r(E.cost)),c(" "),E.resource.displayName])),onPurchase(){x.value=a.add(x.value,1)},style:{color:l,width:"160px"}})),{min:C,max:P,add:L,remove:ue}=qt({buyable:E,active:x}),H=we(0),Ee=f(()=>a.pow(1/3,H.value)),pe=f(()=>a.pow(2,H.value)),Re=f(()=>a.pow(1.2,H.value)),Pe=Me(()=>({resource:At.metal,cost(){const Ke=new a(this.amount.value);return a.pow(8,Ke).times(2e5)},display:B(()=>o(I,null,[o("h3",null,[c("Heavy Extractor")]),o("br",null,null),c("Attach extractors to the drill to mine coal and ore, but with a price."),o("br",null,null),c("Divides drill power by 3 to multiply coal gain by 2 and ore gain by 1.2."),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("\xD7"),ge(Ee.value),c(" drill power"),o("br",null,null),c("\xD7"),ge(pe.value),c(" coal/sec"),o("br",null,null),c("\xD7"),ge(Re.value),c(" ore/sec"),o("br",null,null),o("br",null,null),c("Cost: "),ce(r(Pe.cost))," ",Pe.resource.displayName])),onPurchase(){H.value=a.add(H.value,1)},style:{color:l,width:"160px"}})),{min:De,max:Ne,add:Te,remove:K}=qt({buyable:Pe,active:H}),Ce=we(0),ye=f(()=>a.pow(ht[3].bought.value?4:5,Ce.value)),he=f(()=>a.add(Ce.value,qa.value).pow(2).mul(p.value).mul(a.add(x.value,1)).mul(H.value).mul(i.value).div(1e5)),$e=Me(()=>({resource:At.metal,cost(){const Ke=new a(this.amount.value);let St=a.pow(16,Ke).times(2e6);return ht[4].bought.value&&(St=St.div(a.add(Al.value,1).root(6))),St},display:B(()=>o(I,null,[o("h3",null,[c("Oil Pump")]),o("br",null,null),c("Pump that oil from the ground."),o("br",null,null),c("Gain oil based on the number of Heavy Drills and Heavy Drill Drills active and well depth, but coal usage is multiplied by "),ht[3].bought.value?4:5,c("\xD7."),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("\xD7"),ge(ye.value),c(" coal usage"),o("br",null,null),c("+"),ge(he.value),c(" oil/sec"),o("br",null,null),o("br",null,null),c("Cost: "),ce(r($e.cost)),c(" "),$e.resource.displayName])),onPurchase(){Ce.value=a.add(Ce.value,1)},style:{color:l,width:"160px"}})),{max:xe,min:st,add:Oe,remove:le}=qt({buyable:$e,active:Ce}),j=we(0),se=f(()=>a.pow(j.value,2)),je=f(()=>a.pow(j.value,3).mul(1e19)),We=f(()=>a.add(j.value,1)),me=Me(()=>({resource:F(n),cost(){const Ke=new a(this.amount.value);return a.pow(2,Ke).times(50)},display:B(()=>o(I,null,[o("h3",null,[c("Oil Burner")]),o("br",null,null),c("Burn oil as fuel."),o("br",null,null),c("(Oil Burner Amount)"),o("sup",null,[c("2")]),c(" unit of oil can give 1e19*(Oil Burner Amount)"),o("sup",null,[c("3")]),c(" units of coal."),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("-"),ge(se.value),c(" oil/sec"),o("br",null,null),c("-"),ge(je.value),c(" coal consumption"),ht[2].bought.value?o(I,null,[o("br",null,null),c("\xD7"),ge(We.value),c(" to auto smelting multi")]):"",o("br",null,null),o("br",null,null),c("Cost: "),ce(r(me.cost)),c(" "),me.resource.displayName])),onPurchase(){j.value=a.add(j.value,1)},style:{color:l,width:"160px"}})),{max:rt,min:Xe,add:Fe,remove:pt}=qt({buyable:me,active:j}),Ge=we(0),_t=f(()=>a.pow(Ge.value,2).mul(100)),qe=f(()=>a.add(Ge.value,1)),ft=Me(()=>({resource:At.metal,cost(){const Ke=new a(this.amount.value);let St=a.pow(10,Ke).times(1e7);return ht[4].bought.value&&(St=St.div(a.add(Al.value,1).root(6))),St},display:B(()=>o(I,null,[o("h3",null,[c("Oil Smelter")]),o("br",null,null),c("Use oil as a crucible fuel."),o("br",null,null),c("Burn 100x"),o("sup",null,[c("2")]),c(" oil to smelt +100% faster."),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("-"),ge(_t.value),c(" oil/sec"),o("br",null,null),c("\xD7"),ge(qe.value),c(" smelting speed"),o("br",null,null),o("br",null,null),c("Cost: "),ce(r(ft.cost)),c(" "),ft.resource.displayName])),onPurchase(){Ge.value=a.add(Ge.value,1)},style:{color:l,width:"160px"}})),{max:ae,min:q,add:$t,remove:ul}=qt({buyable:ft,active:Ge}),mt=[ve(()=>({display:{requirement:"5m Well Depth",effectDisplay:"Gain 25% more coal for each metre of well depth (after the 3 elf milestone)."},shouldEarn:()=>a.gte(i.value,5)})),ve(()=>({display:{requirement:"10m Well Depth",effectDisplay:"Drill too slow? Unlock some drill upgrades!"},shouldEarn:()=>a.gte(i.value,10),visibility:()=>M(mt[0].earned.value)})),ve(()=>({display:{requirement:"25m Well Depth",effectDisplay:"Gain 5% more ore for each metre of well depth."},shouldEarn:()=>a.gte(i.value,25),visibility:()=>M(mt[1].earned.value)})),ve(()=>({display:{requirement:"60m Well Depth",effectDisplay:"Drill still too slow? Try unlocking another drill!"},shouldEarn:()=>a.gte(i.value,60),visibility:()=>M(mt[2].earned.value)})),ve(()=>({display:{requirement:"150m Well Depth",effectDisplay:"It appears that coal and metal appear a lot more when you go this deep! Unlock an upgrade apiece for coal and metal!"},shouldEarn:()=>a.gte(i.value,150),visibility:()=>M(mt[3].earned.value)})),ve(()=>({display:{requirement:"350m Well Depth",effectDisplay:"There is even more coal and metal than you thought. Why don't you utilize your heavy drill to mine them? Unlock a new drill upgrade!"},shouldEarn:()=>a.gte(i.value,350),visibility:()=>M(mt[4].earned.value)})),ve(()=>({display:{requirement:"1,000m Well Depth",effectDisplay:"You've finally found oil! Maybe it's time to make those oil useful! Unfortunately extracting them would use more coal, and also it's becoming much harder to mine deeper due to the thermal heat and pressure."},shouldEarn:()=>a.gte(i.value,1e3),visibility:()=>M(a.gte(i.value,1e3))})),ve(()=>({display:{requirement:"3,000m Well Depth",effectDisplay:"You found a large oil spot! Double oil gain!"},shouldEarn:()=>a.gte(i.value,3e3),visibility:()=>M(a.gte(i.value,2e3))}))],{collapseMilestones:re,display:xt}=Vl(mt),Pt=[ve(()=>({display:{requirement:"100 total oil",effectDisplay:"Hmm, these oil pumps are really expensive. Maybe you should find a way to solve this problem... maybe you can use oil as fuel instead of coal?"},shouldEarn:()=>a.gte(Al.value,100)})),ve(()=>({display:{requirement:"500 total oil",effectDisplay:"Unlocks oil upgrades! These can be bought with oil."},shouldEarn:()=>a.gte(Al.value,500),visibility:()=>M(Pt[0].earned.value)})),ve(()=>({display:{requirement:"10,000 total oil",effectDisplay:"Wow, this is really bright when you burn it. Maybe it can be helpful to use them to smelt metal?"},shouldEarn:()=>a.gte(Al.value,1e4),visibility:()=>M(Pt[1].earned.value)}))],{collapseMilestones:yl,display:bl}=Vl(Pt),Tt=[R(()=>({resource:O.coal,cost:1e18,display:{title:"Coal Drill Synergy",description:"Increase drill power by +4% per coal Mining Drill owned.",effectDisplay:B(()=>o(I,null,[c("x"),ge(vt[0].value)]))},style:{color:l}})),R(()=>({resource:At.metal,cost:15e4,display:{title:"Metal Drill Synergy",description:"Increase drill power by +4% per ore Mining Drill owned.",effectDisplay:B(()=>o(I,null,[c("x"),ge(vt[1].value)]))},style:{color:l}})),R(()=>({resource:O.coal,cost:1e20,display:{title:"Coal Drill Upgrade",description:"Increase drill power by +6% per OoM of coal owned.",effectDisplay:B(()=>o(I,null,[c("x"),ge(vt[2].value)]))},style:{color:l}})),R(()=>({resource:At.metal,cost:15e5,display:{title:"Metal Drill Upgrade",description:"Increase drill power by +10% per OoM of metal ingot owned.",effectDisplay:B(()=>o(I,null,[c("x"),ge(vt[3].value)]))},style:{color:l}})),R(()=>({resource:F(n),cost:100,display:{title:"Drill Oil",description:"Increase previous upgrades' effect by +0.1% per Heavy Drill owned.",effectDisplay:B(()=>o(I,null,[c("+"),ge(a.mul(vt[4].value,100)),c("%")]))},style:{color:l}}))],vt=[f(()=>a.mul(O.buildDrill.amount.value,a.add(.04,ll.value)).add(1)),f(()=>a.mul(At.oreDrill.amount.value,a.add(.04,ll.value)).add(1)),f(()=>a.mul(a.max(O.coal.value,1).log10().floor(),a.add(.06,ll.value)).add(1)),f(()=>a.mul(a.max(At.metal.value,1).log10().floor(),a.add(.1,ll.value)).add(1)),f(()=>a.mul(h.amount.value,.001))],ht=[R(()=>({resource:F(n),cost:100,display:{title:"Oil the Oil Pump",description:"Double oil gain."},style:{color:l}})),R(()=>({resource:F(n),cost:500,display:{title:"Oil the Mining Drills",description:"Double ore mining speed and square the coal drill amount in its effect."},style:{color:l}})),R(()=>({resource:F(n),cost:1500,display:{title:"Blaster Burner",description:"The Oil Burner can now increase your metal gain."},style:{color:l}})),R(()=>({resource:F(n),cost:25e3,display:{title:"Oil Integration",description:"Reduce Oil Pump's coal consumption multipler from 5 to 4"},style:{color:l}})),R(()=>({resource:F(n),cost:5e4,display:{title:"Be One with the Oil",description:B(()=>o(I,null,[c("Divide metal ingot prices of oil buildings by "),o("sup",null,[c("6")]),o(Un,null,{default:()=>[c("total oil + 1")]})]))},style:{color:l}}))],tl=W(()=>[te(()=>({addend:()=>a.negate(m.value),description:"Heavy Drill",enabled:()=>a.gt(p.value,0)})),k(()=>({multiplier:ye,description:"Oil Pump",enabled:()=>a.gt(Ce.value,0)})),te(()=>({addend:ma,description:"Oil to Coal Substitution",enabled:()=>a.gt(ma.value,0)}))]),Rt=f(()=>tl.apply(0)),Jt=W(()=>[te(()=>({addend:y,description:"Heavy Drill",enabled:()=>a.gt(p.value,0)})),k(()=>({multiplier:Ee,description:"Heavy Extractor",enabled:()=>a.gt(H.value,0)})),k(()=>({multiplier:vt[0],description:"Coal Drill Synergy",enabled:Tt[0].bought})),k(()=>({multiplier:vt[1],description:"Metal Drill Synergy",enabled:Tt[1].bought})),k(()=>({multiplier:vt[2],description:"Coal Drill Upgrade",enabled:Tt[2].bought})),k(()=>({multiplier:vt[3],description:"Metal Drill Upgrade",enabled:Tt[3].bought})),k(()=>({multiplier:2,description:"Guide to drilling",enabled:J.upgrades.drillingUpgrade.bought})),k(()=>({multiplier:()=>Xt.value,description:"Effectiveness",enabled:()=>a.lt(Xt.value,1)}))]),Yt=f(()=>Jt.apply(0)),wl=W(()=>[te(()=>({addend:vt[4],description:"Drill Oil",enabled:Tt[4].bought}))]),ll=f(()=>wl.apply(0)),Kl=W(()=>[te(()=>({addend:he,description:"Oil Pump",enabled:()=>a.gt(Ce.value,0)})),k(()=>({multiplier:2,description:"Oil the Oil Pump",enabled:ht[0].bought})),k(()=>({multiplier:2,description:"3000m Well Depth",enabled:mt[7].earned})),k(()=>({multiplier:2,description:"Oil and where to find it",enabled:J.upgrades.oilUpgrade.bought})),k(()=>({multiplier:()=>Xt.value,description:"Effectiveness",enabled:()=>a.lt(Xt.value,1)}))]),Bl=f(()=>Kl.apply(0)),zl=W(()=>[te(()=>({addend:()=>a.negate(se.value),description:"Oil Burner",enabled:()=>a.gt(j.value,0)})),te(()=>({addend:()=>a.negate(_t.value),description:"Oil Smelter",enabled:()=>a.gt(Ge.value,0)})),te(()=>({addend:()=>a.negate(Je.oilCost.value),description:"Oil Refinery",enabled:()=>a.gt(Je.activeRefinery.value,0)}))]),T=f(()=>zl.apply(0)),Qa=W(()=>[te(()=>({addend:je,description:"Oil Burner",enabled:()=>a.gt(j.value,0)})),k(()=>({multiplier:()=>dl.value,description:"Effectiveness",enabled:()=>a.lt(dl.value,1)}))]),ma=f(()=>Qa.apply(0)),Ga=W(()=>[te(()=>({addend:at.boosts.red1,description:"Red Dye Boost 1",enabled:()=>a.gte(at.dyes.red.amount.value,1)}))]),qa=f(()=>Ga.apply(0)),[ei,ti]=ol(()=>[{title:"Coal Consumption",modifier:tl,unit:"/s",base:0},{title:"Drill Power",modifier:Jt,base:0},{title:"Upgrade Bonus",modifier:wl,base:0,visible(){return a.gt(ll.value,0)}},{title:"Oil Speed",modifier:Kl,unit:"/s",base:0,visible(){return a.gt(Bl.value,0)}},{title:"Oil Consumption",modifier:zl,unit:"/s",base:0,visible(){return a.lt(T.value,0)}},{title:"Oil to Coal Substitution",modifier:Qa,unit:"/s",base:0,visible(){return a.gt(ma.value,0)}},{title:"Extra Oil Pumps",modifier:Ga,base:0,visible(){return a.gt(qa.value,0)}}]),ga=G(!1),li=B(()=>o(wt,{modelValue:ga.value,"onUpdate:modelValue":Ke=>ga.value=Ke},{header:()=>o("h2",null,[e,c(" Modifiers")]),body:ei})),Xt=G(a.dOne),dl=G(a.dOne);Qe.on("update",Ke=>{if(a.lt(z.day.value,ya))return;const St=a.negate(Rt.value);a.gt(St,0)?(Xt.value=a.min(a.div(O.coal.value,St),1),O.coal.value=a.sub(O.coal.value,a.mul(St,Xt.value).mul(Ke))):Xt.value=a.dOne,s.value=a.add(s.value,a.mul(Yt.value,Ke)),n.value=a.add(n.value,a.mul(Bl.value,Ke)),u();const fa=a.negate(T.value);a.gt(fa,0)?(dl.value=a.min(a.div(n.value,fa),1),n.value=a.sub(n.value,a.mul(fa,dl.value).mul(Ke)).max(0)):dl.value=a.dOne});const{total:Al,trackerDisplay:ai}=sl({resource:n,goal:25e4,name:e,day:ya,color:t,modal:{show:ga,display:li}});return{name:e,day:ya,color:t,oil:n,totalOil:Al,depth:i,drillProgress:s,activeHeavy:p,buildHeavy:h,activeHeavy2:x,buildHeavy2:E,activeExtractor:H,buildExtractor:Pe,activePump:Ce,buildPump:$e,activeBurner:j,buildBurner:me,activeSmelter:Ge,buildSmelter:ft,extractorCoal:pe,extractorOre:Re,coalEffectiveness:Xt,oilEffectiveness:dl,depthMilestones:mt,collapsedDepthMilestones:re,row1Upgrades:Tt,row2Upgrades:ht,minWidth:700,oilMilestones:Pt,collapsedOilMilestones:yl,generalTabCollapsed:ti,display:B(()=>o(I,null,[ie(ai),o(fe,null,null),a.lt(Xt.value,1)?o("div",null,[c("Coal efficiency: "),ge(a.mul(Xt.value,100)),c("%")]):null,a.lt(dl.value,1)?o("div",null,[c("Oil efficiency: "),ge(a.mul(dl.value,100)),c("%")]):null,o(Bt,{resource:n,color:t,sticky:!0,productionDisplay:B(()=>o(I,null,[a.lt(i.value,1e3)?"Reach 1000m to start gaining oil":o(I,null,[la(a.add(Bl.value,T.value))])]))},null),a.eq(Bl.value,0)?o(I,null,[c("(Need at least 1 Oil Pump, 1 Heavy Drill and 1 Heavy Extractor active to gain oil)"),o("br",null,null)]):"",o(xl,null,{default:()=>[mt[6].earned.value?o(Nt,null,{default:()=>[ie($e),o("div",null,[ce(a.floor(Ce.value)),c("/"),ce(a.floor($e.amount.value))]),Ve(st,le,Oe,xe)]}):null,Pt[0].earned.value?o(Nt,null,{default:()=>[ie(me),o("div",null,[ce(a.floor(j.value)),c("/"),ce(a.floor(me.amount.value))]),Ve(Xe,pt,Fe,rt)]}):null,Pt[2].earned.value?o(Nt,null,{default:()=>[ie(ft),o("div",null,[ce(a.floor(Ge.value)),c("/"),ce(a.floor(ft.amount.value))]),Ve(q,ul,$t,ae)]}):null]}),o("br",null,null),o("div",null,[o("span",null,[c("The well is ")]),o("h2",{style:"color: #6f767f; text-shadow: 0 0 10px #6f767f"},[ce(i.value)]),c("m deep"),o("br",null,null),c("Next at "),ge(a.sub(d.value,s.value)),c(" drill power seconds")]),o("div",null,[o("span",null,[c("Your drill power is ")]),o("h2",{style:"color: #6f767f; text-shadow: 0 0 10px #6f767f"},[ge(Yt.value)])]),o(fe,null,null),o(xl,null,{default:()=>[o(Nt,null,{default:()=>[ie(h),o("div",null,[ce(a.floor(p.value)),c("/"),ce(a.floor(h.amount.value))]),Ve(b,S,_,g)]}),mt[3].earned.value?o(Nt,null,{default:()=>[ie(E),o("div",null,[ce(a.floor(x.value)),c("/"),ce(a.floor(E.amount.value))]),Ve(C,ue,L,P)]}):null,mt[5].earned.value?o(Nt,null,{default:()=>[ie(Pe),o("div",null,[ce(a.floor(H.value)),c("/"),ce(a.floor(Pe.amount.value))]),Ve(De,K,Te,Ne)]}):null]}),o(fe,null,null),Tl(...Pt[1].earned.value?mt[1].earned.value?[Tt,ht]:[Tt]:[]),o(fe,null,null),xt(),a.gte(Al.value,50)?bl():""]))}}),pr="plastic",Xa=10,Je=Dt(pr,function(){const e="Plastic",t="#DCD9CD",l=it(0,"plastic"),[n,i]=ol(()=>[{title:"Plastic Gain",modifier:Pe,base:0}]),s=G(!1),d=B(()=>o(wt,{modelValue:s.value,"onUpdate:modelValue":K=>s.value=K},{header:()=>o("h2",null,[e,c(" Modifiers")]),body:n})),u=we(0),p=f(()=>a.times(u.value,100)),m=Me(()=>({resource:At.metal,cost(){const K=new a(this.amount.value);return a.pow(1.2,K).times(1e7)},display:B(()=>o(I,null,[o("h3",null,[c("Refinery")]),o("br",null,null),c("Refines oil into plastic pellets"),o("br",null,null),c("Consumes 100 oil/s to create 1 plastic/s"),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("-"),Z(p.value),c(" oil/sec"),o("br",null,null),c("+"),Z(u.value),c(" plastic/sec"),o("br",null,null),o("br",null,null),c("Cost: "),ee(r(m.cost))," ",m.resource.displayName])),onPurchase(){u.value=a.add(u.value,1)},style:{width:"300px"}})),{min:y,max:h,add:b,remove:g}=qt({buyable:m,active:u,style:{minHeight:"20px",width:"40px",color:"var(--feature-foreground)"}}),_=f(()=>a.pow(5,a.add([...Object.values(E),...Object.values(ue)].filter(K=>K.bought.value).length,2))),S=R(()=>({resource:F(l),cost:_,display:()=>({title:"Plastic Scissors",description:"Unlock paper upgrades",showCost:!S.bought.value})})),x=R(()=>({resource:F(l),cost:_,display:()=>({title:"Plastic Level",description:"Unlock box upgrades",showCost:!x.bought.value})})),V=R(()=>({resource:F(l),cost:_,display:()=>({title:"Plastic Cane",description:"Unlock cloth upgrades",showCost:!V.bought.value})})),E={paperTools:S,boxTools:x,clothTools:V},C=R(()=>({resource:F(l),cost:_,visibility:()=>M(S.bought.value),display:()=>({title:"Paper Elf Recruitment",description:"Double plastic gain and unlock a new elf for training",showCost:!C.bought.value})})),P=R(()=>({resource:F(l),cost:_,visibility:()=>M(x.bought.value),display:()=>({title:"Box Elf Recruitment",description:"Double plastic gain and unlock a new elf for training",showCost:!P.bought.value})})),L=R(()=>({resource:F(l),cost:_,visibility:()=>M(V.bought.value),display:()=>({title:"Cloth Elf Recruitment",description:"Double plastic gain and unlock a new elf for training",showCost:!L.bought.value})})),ue={paperElf:C,boxElf:P,clothElf:L},H=Me(()=>({resource:F(l),cost(){const K=this.amount.value;return a.pow(1.3,K).times(100)},visibility:()=>M(C.bought.value),display:{title:"Plastic Printing Press",description:"Gain +1% of your paper gain per second",effectDisplay:B(()=>o(I,null,[ee(H.amount.value),c("%")])),showAmount:!1}})),Ee=Me(()=>({resource:F(l),cost(){const K=this.amount.value;return a.pow(1.3,K).times(100)},visibility:()=>M(P.bought.value),display:{title:"Plastic Box Folder",description:"Gain +1% of your box gain per second",effectDisplay:B(()=>o(I,null,[ee(Ee.amount.value),c("%")])),showAmount:!1}})),pe=Me(()=>({resource:F(l),cost(){const K=this.amount.value;return a.pow(1.3,K).times(100)},visibility:()=>M(L.bought.value),display:{title:"Plastic Shepherd",description:"All cloth actions are +10% more efficient",effectDisplay:B(()=>o(I,null,[ee(a.times(pe.amount.value,10)),c("%")])),showAmount:!1}})),Re={passivePaper:H,passiveBoxes:Ee,clothGains:pe},Pe=W(()=>[te(()=>({addend:u,description:"Oil Refinery",enabled:()=>a.gt(u.value,0)})),k(()=>({multiplier:2,description:"Paper Elf Recruitment",enabled:C.bought})),k(()=>({multiplier:2,description:"Box Elf Recruitment",enabled:P.bought})),k(()=>({multiplier:2,description:"Cloth Elf Recruitment",enabled:L.bought})),k(()=>({multiplier:2,description:"Carry plastic in boxes",enabled:yt.row2Upgrades.plasticUpgrade.bought})),k(()=>({multiplier:()=>ze.oilEffectiveness.value,description:"Effectiveness",enabled:()=>a.lt(ze.oilEffectiveness.value,1)})),k(()=>({multiplier:at.boosts.yellow1,description:"Yellow Dye Boost 1",enabled:()=>a.gte(at.dyes.yellow.amount.value,1)}))]),De=f(()=>Pe.apply(0));Qe.on("update",K=>{a.lt(z.day.value,Xa)||(l.value=a.times(K,De.value).add(l.value))});const{total:Ne,trackerDisplay:Te}=sl({resource:l,goal:25e4,name:e,day:Xa,color:t,textColor:"var(--feature-foreground)",modal:{show:s,display:d}});return{name:e,color:t,plastic:l,totalPlastic:Ne,buildRefinery:m,activeRefinery:u,oilCost:p,upgrades:E,elfUpgrades:ue,buyables:Re,generalTabCollapsed:i,minWidth:700,display:B(()=>o(I,null,[ie(Te),o(fe,null,null),o(Bt,{resource:l,color:t,style:"margin-bottom: 0",effectDisplay:a.gt(De.value,0)?`+${Z(De.value)}/s`:void 0},null),o(fe,null,null),o(Nt,null,{default:()=>[ie(m),o("div",null,[ee(a.floor(u.value)),c("/"),ee(a.floor(m.amount.value))]),Ve(y,g,b,h)]}),o(xl,null,{default:()=>[Ht(S,C,H),Ht(x,P,Ee),Ht(V,L,pe)]})]))}}),mr="workshop",Fl=2,Et=Dt(mr,function(){const e="Workshop",t="#D66B02",l="#D66B02",n=it(0,"foundation progress"),i=Ls(()=>({scaling:Fa(250,1.5),baseResource:_e.logs,gainResource:F(n),roundUpCost:!0,buyMax:!1,spend(P,L){_e.logs.value=a.sub(_e.logs.value,L)}})),s=It(()=>({display:B(()=>o(I,null,[o("b",{style:"font-size: x-large"},[c("Build part of the foundation")]),o("br",null,null),o("br",null,null),o("span",{style:"font-size: large"},[c("Cost:")," ",jl(_e.logs,a.gte(i.actualGain.value,1)?i.currentAt.value:i.nextAt.value)," ",_e.logs.displayName])])),visibility:()=>M(a.lt(n.value,100)),canClick:()=>a.gte(i.actualGain.value,1)&&a.lt(n.value,100),onClick(){!r(this.canClick)||i.convert()},style:"width: 600px; min-height: unset"})),d=Dl(()=>({key:"w",description:"Build part of the foundation.",onPress:()=>{s.canClick.value&&s.onClick()}})),u=f(()=>!be.milestones[6].earned.value),p=ve(()=>({display:{requirement:"1% Foundation Completed",effectDisplay:"Trees give 5% more logs for each % of foundation completed"},shouldEarn:()=>a.gte(n.value,1),showPopups:u})),m=ve(()=>({display:{requirement:"10% Foundation Completed",effectDisplay:"Cut an additional tree per second for each 5% of foundation completed"},shouldEarn:()=>a.gte(n.value,10),visibility:()=>M(p.earned.value),showPopups:u})),y=ve(()=>({display:{requirement:"20% Foundation Completed",effectDisplay:"Plant an additional tree per second for each 10% of foundation completed"},shouldEarn:()=>a.gte(n.value,20),visibility:()=>M(m.earned.value),showPopups:u})),h=ve(()=>({display:{requirement:"30% Foundation Completed",effectDisplay:"All automatic tree cutting is doubled"},shouldEarn:()=>a.gte(n.value,30),visibility:()=>M(y.earned.value),showPopups:u})),b=ve(()=>({display:{requirement:"40% Foundation Completed",effectDisplay:"All automatic tree planting is doubled"},shouldEarn:()=>a.gte(n.value,40),visibility:()=>M(h.earned.value),showPopups:u})),g=ve(()=>({display:{requirement:"50% Foundation Completed",effectDisplay:"Trees give twice as many logs"},shouldEarn:()=>a.gte(n.value,50),visibility:()=>M(b.earned.value),showPopups:u})),_=ve(()=>({display:{requirement:"75% Foundation Completed",effectDisplay:"The forest gains an extra tree for every 2% of foundation completed"},shouldEarn:()=>a.gte(n.value,75),visibility:()=>M(g.earned.value),showPopups:u})),S=ve(()=>({display:{requirement:"100% Foundation Completed",effectDisplay:"Log per tree is raised to the 1.2th power"},shouldEarn:()=>a.gte(n.value,100),visibility:()=>M(_.earned.value),showPopups:u})),x={logGainMilestone1:p,autoCutMilestone1:m,autoPlantMilestone1:y,autoCutMilestone2:h,autoPlantMilestone2:b,logGainMilestone2:g,morePlantsMilestone1:_,logGainMilestone3:S},{collapseMilestones:V,display:E}=Vl(x),C=jt(()=>({direction:Se.Right,width:600,height:25,fillStyle:`backgroundColor: ${l}`,progress:()=>z.day.value===Fl?a.div(n.value,100):1,display:B(()=>z.day.value===Fl?o(I,null,[ee(n.value),c("%")]):"")}));return Mt(()=>{z.day.value===Fl&&a.gte(n.value,100)&&z.completeDay()}),{name:e,day:Fl,color:t,foundationProgress:n,foundationConversion:i,milestones:x,collapseMilestones:V,minWidth:700,buildFoundationHK:d,display:B(()=>o(I,null,[o("div",null,[z.day.value===Fl?"Complete the foundation to complete the day":`${e} Complete!`]),ie(C),o(fe,null,null),o("div",null,[o("span",null,[c("The foundation is ")]),o("h2",{style:`color: ${t}; text-shadow: 0 0 10px ${t}`},[ee(n.value)]),c("% completed")]),a.lt(n.value,100)?o(fe,null,null):null,ie(s),o(fe,null,null),E()]))}}),gr="elves",Ul=4,be=Dt(gr,function(){const e="Elves",t="red",l="#911D21",i=jt(()=>({direction:Se.Right,width:600,height:25,fillStyle:`backgroundColor: ${l}`,progress:()=>z.day.value===Ul?a.div(se.value,6).times(.8333333333333334).add(a.div(a.add(O.coal.value,1).log10(),a.log10(1e9)).clamp(0,1).div(6)):1,display:B(()=>z.day.value===Ul?a.lt(se.value,6)?o(I,null,[ee(se.value),c("/6 elves")]):o(I,null,[ee(O.coal.value),c("/"),ee(1e9),c(" coal")]):"")})),s=ar(()=>({thingsToReset:[_e,Et,O],onReset(){setTimeout(()=>{_t.earned.value?(_e.row1Upgrades.forEach(re=>re.bought.value=!0),_e.row2Upgrades.forEach(re=>re.bought.value=!0)):We.earned.value&&(_e.row1Upgrades[4].bought.value=!0,_e.row2Upgrades[4].bought.value=!0),pt.earned.value&&(Et.foundationProgress.value=100),ft.earned.value&&(O.warmerCutters.bought.value=!0,O.warmerPlanters.bought.value=!0,O.basicFertilizer.bought.value=!0,O.unlockBonfire.bought.value=!0,O.dedicatedCutters.bought.value=!0,O.dedicatedPlanters.bought.value=!0,O.betterFertilizer.bought.value=!0,O.unlockKiln.bought.value=!0,O.efficientSmelther.bought.value=!0)})}})),d=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.cuttersBook.amount.value,.1).add(1),description:"Now You're Logging!",enabled:()=>a.gt(J.books.cuttersBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),u=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.plantersBook.amount.value,.1).add(1),description:"The Man Who Planted Trees",enabled:()=>a.gt(J.books.plantersBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),p=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.expandersBook.amount.value,.1).add(1),description:"Logjam",enabled:()=>a.gt(J.books.expandersBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),m=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.heatedCuttersBook.amount.value,.1).add(1),description:"Fahrenheit 451",enabled:()=>a.gt(J.books.heatedCuttersBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),y=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.heatedPlantersBook.amount.value,.1).add(1),description:"Tillamook Burn Country",enabled:()=>a.gt(J.books.heatedPlantersBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),h=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.fertilizerBook.amount.value,.1).add(1),description:"The Garden Tree's Handbook",enabled:()=>a.gt(J.books.fertilizerBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),b=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.smallFireBook.amount.value,.1).add(1),description:"Firestarter",enabled:()=>a.gt(J.books.smallFireBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),g=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.bonfireBook.amount.value,.1).add(1),description:"An Arsonist's Guide to Writer's Homes in New England",enabled:()=>a.gt(J.books.bonfireBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),_=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.kilnBook.amount.value,.1).add(1),description:"Little Fires Everywhere",enabled:()=>a.gt(J.books.kilnBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),S=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.paperBook.amount.value,.1).add(1),description:"The Book Thief",enabled:()=>a.gt(J.books.paperBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),x=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.boxBook.amount.value,.1).add(1),description:"Not a box",enabled:()=>a.gt(J.books.boxBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),V=W(()=>[k(()=>({multiplier:2,description:"6 Elves Trained",enabled:Fe.earned})),k(()=>({multiplier:()=>a.times(J.books.clothBook.amount.value,.1).add(1),description:"Fuzzy Bee and Friends",enabled:()=>a.gt(J.books.clothBook.amount.value,0)})),k(()=>({multiplier:2,description:"10 Elves Trained",enabled:qe.earned}))]),[E,C]=ol(()=>[{title:"Holly Auto-Buy Frequency",modifier:d,base:10,unit:"/s",visible:j.cuttersElf.bought},{title:"Ivy Auto-Buy Frequency",modifier:u,base:10,unit:"/s",visible:j.plantersElf.bought},{title:"Hope Auto-Buy Frequency",modifier:p,base:10,unit:"/s",visible:j.expandersElf.bought},{title:"Jack Auto-Buy Frequency",modifier:m,base:10,unit:"/s",visible:j.heatedCuttersElf.bought},{title:"Mary Auto-Buy Frequency",modifier:y,base:10,unit:"/s",visible:j.heatedPlantersElf.bought},{title:"Noel Auto-Buy Frequency",modifier:h,base:10,unit:"/s",visible:j.fertilizerElf.bought},{title:"Joy Auto-Buy Frequency",modifier:b,base:10,unit:"/s",visible:j.smallFireElf.bought},{title:"Faith Auto-Buy Frequency",modifier:g,base:10,unit:"/s",visible:j.bonfireElf.bought},{title:"Snowball Auto-Buy Frequency",modifier:_,base:10,unit:"/s",visible:j.kilnElf.bought},{title:"Star Auto-Buy Frequency",modifier:S,base:10,unit:"/s",visible:j.paperElf.bought},{title:"Bell Auto-Buy Frequency",modifier:x,base:10,unit:"/s",visible:j.boxElf.bought},{title:"Gingersnap Auto-Buy Frequency",modifier:V,base:10,unit:"/s",visible:j.clothElf.bought}]),P=G(!1),L=B(()=>o(wt,{modelValue:P.value,"onUpdate:modelValue":re=>P.value=re},{header:()=>o("h2",null,[e,c(" Modifiers")]),body:E})),ue=f(()=>{let re=a.pow(4,se.value).times(1e6);return a.gte(se.value,9)&&(re=a.times(re,1e15)),re});function H(re){var tl;const xt=we(0),Pt=we(0),yl=re.hasToggle?we(!1):G(!0),bl=f(()=>re.cooldownModifier.apply(10)),Tt=gt((tl=re.canBuy)!=null?tl:!0);function vt(Rt){if(ht.bought.value&&r(Tt)){xt.value=a.add(xt.value,Rt);const Jt=a.recip(bl.value);Pt.value+=Rt/Jt.toNumber(),(Ca(re.buyable)?re.buyable:[re.buyable]).forEach(Yt=>{var wl;for(;a.gte(xt.value,Jt);)if(re.customCost==null?r(Yt.canPurchase):a.gte(Yt.resource.value,re.customCost(Yt.amount.value)))Yt.amount.value=a.add(Yt.amount.value,1),xt.value=a.sub(xt.value,Jt),(wl=re.onAutoPurchase)==null||wl.call(re);else{xt.value=Jt;break}})}}const ht=R(()=>({...re,buyable:void 0,toggle:yl,buyProgress:xt,update:vt,resource:O.coal,cost:ue,computedAutoBuyCooldown:bl,amountOfTimesDone:Pt,name:re.name,display:()=>({title:re.name,description:B(()=>o(I,null,[re.description,ht.bought.value?null:o(I,null,[" ",c("Training this elf will require resetting all your progress from days 1-3.")]),ht.bought.value&&re.hasToggle===!0?o(I,null,[o(al,{title:re.toggleDesc,"onUpdate:modelValue":Rt=>yl.value=Rt,modelValue:yl.value},null)]):null])),showCost:!ht.bought.value}),style:"width: 190px",onPurchase(){var Rt;(Rt=re.onPurchase)==null||Rt.call(re),s.reset()}}));return ht}const Ee=H({name:"Holly",description:"Holly will automatically purchase cutters you can afford, without actually spending any logs.",buyable:_e.row1Buyables[0],cooldownModifier:d}),pe=H({name:"Ivy",description:"Ivy will automatically purchase planters you can afford, without actually spending any logs.",buyable:_e.row1Buyables[1],cooldownModifier:u}),Re=H({name:"Hope",description:"Hope will automatically purchase forest expanders you can afford, without actually spending any logs.",buyable:_e.row1Buyables[2],cooldownModifier:p}),Pe=[Ee,pe,Re],De=H({name:"Jack",description:"Jack will automatically purchase heated cutters you can afford, without actually spending any coal.",buyable:O.heatedCutters,cooldownModifier:m}),Ne=H({name:"Mary",description:"Mary will automatically purchase heated planters you can afford, without actually spending any coal.",buyable:O.heatedPlanters,cooldownModifier:y}),Te=H({name:"Noel",description:"Noel will automatically purchase fertilized soil you can afford, without actually spending any ash.",buyable:O.moreFertilizer,cooldownModifier:h}),K=[De,Ne,Te],Ce=H({name:"Joy",description:"Joy will automatically purchase small fires you can afford, without actually spending any logs. You can toggle whether or not to enable the purchased small fires automatically. Small fires will start giving a boost to ash and coal gain.",buyable:O.buildFire,cooldownModifier:b,visibility:()=>M(yt.upgrades.logsUpgrade.bought.value),hasToggle:!0,toggleDesc:"Activate auto-purchased small fires",onAutoPurchase(){Ce.toggle.value&&(O.activeFires.value=a.add(O.activeFires.value,1))},onPurchase(){z.days[4].recentlyUpdated.value=!0}}),ye=H({name:"Faith",description:"Faith will automatically purchase bonfires you can afford. You can toggle whether or not to enable the purchased bonfires automatically. Bonfires will start giving a boost to ash and coal gain.",buyable:O.buildBonfire,cooldownModifier:g,visibility:()=>M(yt.upgrades.ashUpgrade.bought.value),hasToggle:!0,toggleDesc:"Activate auto-purchased bonfires",onAutoPurchase(){const re=r(this.buyable.cost);O.activeFires.value=a.sub(O.activeFires.value,re).max(0),O.buildFire.amount.value=a.sub(O.buildFire.amount.value,re).max(0),ye.toggle.value&&(O.activeBonfires.value=a.add(O.activeBonfires.value,1))},onPurchase(){z.days[4].recentlyUpdated.value=!0},canBuy:O.unlockBonfire.bought}),he=H({name:"Snowball",description:"Snowball will automatically purchase kilns you can afford, without actually spending any logs. You can toggle whether or not to enable the purchased kilns automatically. Kilns will start giving a boost to ash and coal gain.",buyable:O.buildKiln,cooldownModifier:_,visibility:()=>M(yt.upgrades.coalUpgrade.bought.value),hasToggle:!0,toggleDesc:"Activate auto-purchased kilns",onAutoPurchase(){he.toggle.value&&(O.activeKilns.value=a.add(O.activeKilns.value,1))},onPurchase(){z.days[4].recentlyUpdated.value=!0},canBuy:O.unlockKiln.bought}),$e=[Ce,ye,he],xe=H({name:"Star",description:"Star will automatically purchase all books you can afford, without actually spending any paper.",buyable:Object.values(J.books),cooldownModifier:S,visibility:()=>M(Je.elfUpgrades.paperElf.bought.value)}),st=H({name:"Bell",description:"Bell will automatically purchase all box buyables you can afford, without actually spending any boxes.",buyable:Object.values(yt.buyables),cooldownModifier:x,visibility:()=>M(Je.elfUpgrades.boxElf.bought.value)}),Oe=H({name:"Gingersnap",description:"Gingersnap will automatically purchase all cloth buyables you can afford, without actually spending any resources.",buyable:[bt.buildPens,bt.betterShears,bt.fasterSpinning],cooldownModifier:V,visibility:()=>M(Je.elfUpgrades.clothElf.bought.value)}),le=[xe,st,Oe],j={cuttersElf:Ee,plantersElf:pe,expandersElf:Re,heatedCuttersElf:De,heatedPlantersElf:Ne,fertilizerElf:Te,smallFireElf:Ce,bonfireElf:ye,kilnElf:he,paperElf:xe,boxElf:st,clothElf:Oe},se=f(()=>Object.values(j).filter(re=>re.bought.value).length),je=ve(()=>({display:{requirement:"1 Elf Trained",effectDisplay:"Manual cutting and planting can happen twice as often for each trained elf"},shouldEarn:()=>a.gte(se.value,1)})),We=ve(()=>({display:{requirement:"2 Elves Trained",effectDisplay:"Research I & II aren't reset after training"},shouldEarn:()=>a.gte(se.value,2),visibility:()=>M(je.earned.value)})),me=ve(()=>({display:{requirement:"3 Elves Trained",effectDisplay:"Coal gain is raised to the 1.25"},shouldEarn:()=>a.gte(se.value,3),visibility:()=>M(We.earned.value)})),rt=ve(()=>({display:{requirement:"4 Elves Trained",effectDisplay:"Trees give twice as many logs"},shouldEarn:()=>a.gte(se.value,4),visibility:()=>M(me.earned.value)})),Xe=ve(()=>({display:{requirement:"5 Elves Trained",effectDisplay:"Forest is twice as large"},shouldEarn:()=>a.gte(se.value,5),visibility:()=>M(rt.earned.value)})),Fe=ve(()=>({display:{requirement:"6 Elves Trained",effectDisplay:"Elves work twice as fast"},shouldEarn:()=>a.gte(se.value,6),visibility:()=>M(Xe.earned.value)})),pt=ve(()=>({display:{requirement:"7 Elves Trained",effectDisplay:"Workshop Foundation starts at 100% complete after training"},shouldEarn:()=>a.gte(se.value,7),visibility:()=>M(Fe.earned.value&&z.day.value>5)})),Ge=ve(()=>({display:{requirement:"8 Elves Trained",effectDisplay:"Forest is twice as large (again)"},shouldEarn:()=>a.gte(se.value,8),visibility:()=>M(pt.earned.value)})),_t=ve(()=>({display:{requirement:"9 Elves Trained",effectDisplay:"Trees upgrades aren't reset after training"},shouldEarn:()=>a.gte(se.value,9),visibility:()=>M(Ge.earned.value)})),qe=ve(()=>({display:{requirement:"10 Elves Trained",effectDisplay:"Elves work twice as fast (again)"},shouldEarn:()=>a.gte(se.value,10),visibility:()=>M(z.day.value>=10)})),ft=ve(()=>({display:{requirement:"11 Elves Trained",effectDisplay:"Coal upgrades aren't reset after training"},shouldEarn:()=>a.gte(se.value,11),visibility:()=>M(qe.earned.value)})),ae=ve(()=>({display:{requirement:"12 Elves Trained",effectDisplay:"Double coal gain"},shouldEarn:()=>a.gte(se.value,12),visibility:()=>M(ft.earned.value)})),q=[je,We,me,rt,Xe,Fe,pt,Ge,_t,qe,ft,ae],$t={manualMilestone:je,researchMilestone:We,coalGainMilestone:me,logGainMilestone:rt,forestMilestone:Xe,elvesMilestone:Fe,foundationMilestone:pt,forestMilestone2:Ge,treeUpgradesMilestone:_t,elvesMilestone2:qe,coalUpgradesMilestone:ft,coalGainMilestone2:ae},{collapseMilestones:ul,display:mt}=Vl($t);return Qe.on("update",re=>{a.lt(z.day.value,Ul)||Object.values(j).forEach(xt=>xt.update(re))}),Mt(()=>{z.day.value===Ul&&a.gte(se.value,6)&&a.gte(O.coal.value,1e9)&&z.completeDay()}),{name:e,color:t,elves:j,totalElves:se,milestones:q,collapseMilestones:ul,generalTabCollapsed:C,minWidth:700,display:B(()=>o(I,null,[o("div",null,[z.day.value===Ul?`Reach ${ee(6)} trained elves and ${ee(1e9)} ${O.coal.displayName} to complete the day`:`${e} Complete!`," ",c("-")," ",o("button",{class:"button",style:"display: inline-block;",onClick:()=>P.value=!0},[c("Check Modifiers")])]),ie(i),ie(L),o(fe,null,null),o("div",{style:"width: 600px"},[Tl(Pe,K,$e,le)]),mt()]))}}),fr="coal",Za=3,O=Dt(fr,function(){const e="Coal",t="#151716",l="#B2BeB5",n="var(--foreground)",i=it(0,"coal"),s=it(0,"ash"),d=we(0),u=f(()=>a.times(d.value,1e3)),p=f(()=>a.times(d.value,.1)),m=f(()=>a.times(d.value,50)),y=Me(()=>({resource:_e.logs,cost(){let T=a.times(P.amount.value,r(P.cost)).plus(this.amount.value);return a.gte(T,100)&&(T=a.pow(T,2).div(100)),a.gte(T,1e4)&&(T=a.pow(T,2).div(1e4)),T=a.pow(.95,J.books.smallFireBook.amount.value).times(T),T.pow(1.5).times(1e4)},display:B(()=>o(I,null,[o("h3",null,[c("Small Fire")]),o("br",null,null),c("Burn 1000 logs for 0.1 coal and 50 ash"),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("-"),Z(u.value),c(" logs/sec"),o("br",null,null),c("+"),Z(p.value),c(" coal/sec"),o("br",null,null),c("+"),Z(m.value),c(" ash/sec"),o("br",null,null),o("br",null,null),c("Cost: "),ee(r(y.cost)),c(" "),y.resource.displayName])),onPurchase(){d.value=a.add(d.value,1)},style:{color:n,width:"160px"}})),{min:h,max:b,add:g,remove:_}=qt({active:d,buyable:y}),S=it(y.amount,"small fires"),x=we(0),V=f(()=>a.times(x.value,1e4)),E=f(()=>a.times(x.value,10)),C=f(()=>a.times(x.value,1e3)),P=Me(()=>({resource:S,cost(){return a.pow(.95,J.books.bonfireBook.amount.value).times(10)},display:B(()=>o(I,null,[o("h3",null,[c("Bonfire")]),o("br",null,null),c("Burn 10,000 logs for 10 coal and 1000 ash"),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("-"),Z(V.value),c(" logs/sec"),o("br",null,null),c("+"),Z(E.value),c(" coal/sec"),o("br",null,null),c("+"),Z(C.value),c(" ash/sec"),o("br",null,null),o("br",null,null),c("Cost: "),ee(r(P.cost)),c(" "),P.resource.displayName])),onPurchase(T){d.value=a.sub(d.value,T).max(0),x.value=a.add(x.value,1)},style:{color:n,width:"160px"},visibility:()=>M(me.bought.value)})),{min:L,max:ue,add:H,remove:Ee}=qt({buyable:P,active:x}),pe=we(0),Re=f(()=>a.times(pe.value,1e6)),Pe=f(()=>a.times(pe.value,1e4)),De=f(()=>a.times(pe.value,1e4)),Ne=Me(()=>({resource:_e.logs,cost(){let T=this.amount.value;return a.gte(T,100)&&(T=a.pow(T,2).div(100)),a.gte(T,1e4)&&(T=a.pow(T,2).div(1e4)),T=a.pow(.95,J.books.kilnBook.amount.value).times(T),a.pow(1.1,T).times(1e7)},display:B(()=>o(I,null,[o("h3",null,[c("Charcoal Kiln")]),o("br",null,null),c("Burn 1,000,000 logs for 10,000 coal and 10,000 ash"),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("-"),Z(Re.value),c(" logs/sec"),o("br",null,null),c("+"),Z(Pe.value),c(" coal/sec"),o("br",null,null),c("+"),Z(De.value),c(" ash/sec"),o("br",null,null),o("br",null,null),c("Cost: "),ee(r(Ne.cost)),c(" "),Ne.resource.displayName])),onPurchase(){pe.value=a.add(pe.value,1)},style:{color:n,width:"160px"},visibility:()=>M(Ge.bought.value)})),{min:Te,max:K,add:Ce,remove:ye}=qt({buyable:Ne,active:pe}),he=we(0),$e=f(()=>a.times(a.pow(he.value,ze.row2Upgrades[1].bought.value?2:1),5e7).times(At.efficientDrill.bought.value?2:1)),xe=Me(()=>({resource:At.metal,cost(){let T=this.amount.value;return a.gte(T,100)&&(T=a.pow(T,2).div(100)),a.gte(T,1e4)&&(T=a.pow(T,2).div(1e4)),a.pow(1.15,T).times(10)},display:B(()=>o(I,null,[o("h3",null,[c("Mining Drill")]),o("br",null,null),c("Dig through the ground to find 50,000,000 coal"),o("br",null,null),o("br",null,null),c("Currently:"),o("br",null,null),c("+"),Z($e.value),c(" coal/sec"),o("br",null,null),o("br",null,null),c("Cost: "),ee(r(xe.cost)),c(" "),xe.resource.displayName])),onPurchase(){he.value=a.add(he.value,1)},style:{color:n,width:"160px"},visibility:()=>M(At.coalDrill.bought.value)})),{max:st,min:Oe,add:le,remove:j}=qt({buyable:xe,active:he}),se=R(()=>({resource:F(i),cost:5,display:{title:"Warmer Cutters",description:"Cut down twice as many trees/s"},style:{color:n}})),je=R(()=>({resource:F(i),cost:5,display:{title:"Warmer Planters",description:"Plant twice as many trees/s"},style:{color:n}})),We=R(()=>({resource:F(s),cost:5e3,display:{title:"Ashy Soil",description:"Trees give 25% more logs"},style:{color:n}})),me=R(()=>({resource:S,cost:10,display:{title:"Bigger Fires",description:"Put all those fires together into a larger blaze"},onPurchase(){S.value=a.add(S.value,this.cost)},style:{color:n}})),rt=[se,je,We,me],Xe=R(()=>({resource:F(i),cost:250,display:{title:"Dedicated Cutter Heaters",description:"Double the bonus from Heated Cutters"},style:{color:n},visibility:()=>M(me.bought.value)})),Fe=R(()=>({resource:F(i),cost:250,display:{title:"Dedicated Planter Heaters",description:"Double the bonus from Heated Planters"},style:{color:n},visibility:()=>M(me.bought.value)})),pt=R(()=>({canAfford(){return a.gte(_e.logs.value,1e5)&&a.gte(s.value,1e5)},onPurchase(){_e.logs.value=a.sub(_e.logs.value,1e5),s.value=a.sub(s.value,1e5)},display:B(()=>o(I,null,[o("h3",null,[c("Mulched Soil")]),o("br",null,null),c("Double the bonus from Fertilized Soil"),o("br",null,null),o("br",null,null),c("Cost: "),ee(1e5),c(" "),_e.logs.displayName,o("br",null,null),ee(1e5),c(" "),s.displayName])),style:{color:n},visibility:()=>M(me.bought.value)})),Ge=R(()=>({resource:_e.logs,cost:1e7,display:{title:"Efficient Fires",description:"Move the fires underground to keep the coal from turning to ash"},style:{color:n},visibility:()=>M(me.bought.value)})),_t=[Xe,Fe,pt,Ge],qe=R(()=>({resource:F(i),cost:1e19,display:{title:"Efficient Crucibles",description:"Double auto smelting speed and triple metal gain from auto smelting"},style:{color:n},visibility:()=>M(ze.depthMilestones[4].earned.value)})),ft=[qe],ae=Me(()=>({resource:F(i),cost(){let T=this.amount.value;return a.gte(T,50)&&(T=a.pow(T,2).div(50)),a.gte(T,200)&&(T=a.pow(T,2).div(200)),a.gte(T,2e6)&&(T=a.pow(T,2).div(2e6)),T=a.pow(.95,J.books.heatedCuttersBook.amount.value).times(T),a.add(T,1).pow(2.5).times(10)},display:{title:"Heated Cutters",description:"Even warmer cutters cut down trees faster",effectDisplay:B(()=>o(I,null,[c("Cutters cut down trees "),Z(re.value),c("x faster")]))},style:{color:n},visibility:()=>M(se.bought.value)})),q=Me(()=>({resource:F(i),cost(){let T=this.amount.value;return a.gte(T,50)&&(T=a.pow(T,2).div(50)),a.gte(T,200)&&(T=a.pow(T,2).div(200)),a.gte(T,2e6)&&(T=a.pow(T,2).div(2e6)),T=a.pow(.95,J.books.heatedPlantersBook.amount.value).times(T),a.add(T,1).pow(2.5).times(10)},display:{title:"Heated Planters",description:"Even warmer planters plant trees faster",effectDisplay:B(()=>o(I,null,[c("Planters plant trees "),Z(Pt.value),c("x faster")]))},style:{color:n},visibility:()=>M(je.bought.value)})),$t=Me(()=>({resource:F(s),cost(){let T=this.amount.value;return a.gte(T,50)&&(T=a.pow(T,2).div(50)),a.gte(T,200)&&(T=a.pow(T,2).div(200)),a.gte(T,2e6)&&(T=a.pow(T,2).div(2e6)),T=a.pow(.95,J.books.fertilizerBook.amount.value).times(T),a.add(T,1).pow(1.5).times(5e4)},display:{title:"Fertilized Soil",description:"More fertilizer helps trees grow bigger",effectDisplay:B(()=>o(I,null,[c("Trees give "),Z(bl.value),c("x more logs")]))},style:{color:n},visibility:()=>M(We.bought.value)})),ul=[ae,q,$t],mt=W(()=>[te(()=>({addend(){return a.times(ae.amount.value,.25)},description:"Heated Cutters",enabled(){return a.gt(ae.amount.value,0)}})),k(()=>({multiplier:2,description:"Dedicated Cutter Heaters",enabled:Xe.bought}))]),re=f(()=>mt.apply(1)),xt=W(()=>[te(()=>({addend(){return a.times(q.amount.value,.25)},description:"Heated Planters",enabled(){return a.gt(q.amount.value,0)}})),k(()=>({multiplier:2,description:"Dedicated Planter Heaters",enabled:Fe.bought}))]),Pt=f(()=>xt.apply(1)),yl=W(()=>[te(()=>({addend(){return a.times($t.amount.value,.25)},description:"Fertilized Soil",enabled(){return a.gt($t.amount.value,0)}})),k(()=>({multiplier:2,description:"Mulched Soil",enabled:pt.bought}))]),bl=f(()=>yl.apply(1)),Tt=W(()=>[te(()=>({addend(){return p.value},description:"Small Fires",enabled(){return a.gt(d.value,0)}})),te(()=>({addend(){return E.value},description:"Bonfires",enabled(){return a.gt(x.value,0)}})),te(()=>({addend(){return Pe.value},description:"Charcoal Kilns",enabled(){return a.gt(pe.value,0)}})),te(()=>({addend(){return $e.value},description:"Mining Drills",enabled(){return a.gt(he.value,0)}})),k(()=>({multiplier:2,description:"Carry coal in boxes",enabled:yt.upgrades.coalUpgrade.bought})),k(()=>({multiplier:()=>a.div(yt.buyables.coalBoxesBuyable.amount.value,2).add(1),description:"Carry more coal",enabled:yt.upgrades.coalUpgrade.bought})),k(()=>({multiplier:()=>a.div(y.amount.value,1e4).add(1),description:"Small Fires Synergy",enabled:be.elves.smallFireElf.bought})),k(()=>({multiplier:()=>a.div(P.amount.value,1e3).add(1),description:"Bonfires Synergy",enabled:be.elves.bonfireElf.bought})),k(()=>({multiplier:()=>a.div(Ne.amount.value,100).times(at.boosts.green2.value).add(1),description:"Kiln Synergy",enabled:be.elves.kilnElf.bought})),k(()=>({multiplier:2,description:"Mining overalls",enabled:bt.metalUpgrades.metalUpgrade2.bought})),k(()=>({multiplier:3,description:"Mining helmet",enabled:bt.metalUpgrades.metalUpgrade3.bought})),k(()=>({multiplier:4,description:"Felt-Gripped Pick",enabled:bt.metalUpgrades.metalUpgrade4.bought})),k(()=>({multiplier:2,description:"12 Elves Trained",enabled:be.milestones[11].earned})),Pn(()=>({exponent:1.25,description:"3 Elves Trained",enabled:be.milestones[2].earned,supportLowNumbers:!0})),k(()=>({multiplier:()=>a.mul(ze.depth.value,.25).add(1),description:"5m Well Depth",enabled:ze.depthMilestones[0].earned})),k(()=>({multiplier:ze.extractorCoal,description:"Heavy Extractor",enabled:()=>a.gt(ze.activeExtractor.value,0)}))]),vt=f(()=>Tt.apply(0)),ht=W(()=>[te(()=>({addend(){return m.value},description:"Small Fires",enabled(){return a.gt(d.value,0)}})),te(()=>({addend(){return C.value},description:"Bonfires",enabled(){return a.gt(x.value,0)}})),te(()=>({addend(){return De.value},description:"Charcoal Kilns",enabled(){return a.gt(pe.value,0)}})),k(()=>({multiplier:2,description:"Carry ash in boxes",enabled:yt.upgrades.ashUpgrade.bought})),k(()=>({multiplier:()=>a.div(yt.buyables.ashBoxesBuyable.amount.value,2).add(1),description:"Carry more ash",enabled:yt.upgrades.ashUpgrade.bought})),k(()=>({multiplier:()=>a.div(y.amount.value,1e3).add(1),description:"Small Fires Synergy",enabled:be.elves.smallFireElf.bought})),k(()=>({multiplier:()=>a.div(P.amount.value,1e3).add(1),description:"Bonfires Synergy",enabled:be.elves.bonfireElf.bought})),k(()=>({multiplier:()=>a.div(Ne.amount.value,100).times(at.boosts.green2.value).add(1),description:"Kiln Synergy",enabled:be.elves.kilnElf.bought})),k(()=>({multiplier:4,description:"Mining boots",enabled:bt.metalUpgrades.metalUpgrade1.bought}))]),tl=f(()=>ht.apply(0)),Rt=W(()=>[te(()=>({addend(){return a.negate(u.value)},description:"Small Fires",enabled(){return a.gt(d.value,0)}})),te(()=>({addend(){return a.negate(V.value)},description:"Bonfires",enabled(){return a.gt(x.value,0)}})),te(()=>({addend(){return a.negate(Re.value)},description:"Charcoal Kilns",enabled(){return a.gt(pe.value,0)}}))]),Jt=f(()=>Rt.apply(0)),[Yt,wl]=ol(()=>[{title:"Log Consumption",modifier:Rt,base:0,visible(){return a.gt(d.value,0)||a.gt(x.value,0)||a.gt(pe.value,0)}},{title:"Coal Gain",modifier:Tt,base:0,visible(){return a.gt(d.value,0)||a.gt(x.value,0)||a.gt(pe.value,0)}},{title:"Ash Gain",modifier:ht,base:0,visible(){return a.gt(d.value,0)||a.gt(x.value,0)||a.gt(pe.value,0)}}]),ll=G(!1),Kl=B(()=>o(wt,{modelValue:ll.value,"onUpdate:modelValue":T=>ll.value=T},{header:()=>o("h2",null,[e,c(" Modifiers")]),body:Yt}));Qe.on("update",T=>{a.lt(z.day.value,Za)||a.times(T,Jt.value).negate().gt(_e.logs.value)||(_e.logs.value=a.times(T,Jt.value).plus(_e.logs.value),i.value=a.times(T,vt.value).plus(i.value),s.value=a.times(T,tl.value).plus(s.value),d.value=a.max(d.value,0))});const{total:Bl,trackerDisplay:zl}=sl({resource:i,goal:1e7,name:e,day:Za,color:t,modal:{show:ll,display:Kl}});return{name:e,color:t,coal:i,totalCoal:Bl,computedCoalGain:vt,ash:s,activeFires:d,buildFire:y,activeBonfires:x,buildBonfire:P,activeKilns:pe,buildKiln:Ne,activeDrills:he,buildDrill:xe,warmerCutters:se,warmerPlanters:je,basicFertilizer:We,unlockBonfire:me,dedicatedCutters:Xe,dedicatedPlanters:Fe,betterFertilizer:pt,unlockKiln:Ge,efficientSmelther:qe,heatedCutters:ae,heatedPlanters:q,moreFertilizer:$t,computedHeatedCutterEffect:re,computedHeatedPlanterEffect:Pt,computedFertilizerEffect:bl,generalTabCollapsed:wl,minWidth:700,display:B(()=>o(I,null,[ie(zl),o(fe,null,null),o(Bt,{resource:i,color:t,style:"margin-bottom: 0",effectDisplay:a.gt(vt.value,0)?`+${Z(vt.value)}/s`:void 0},null),o(fe,null,null),o(Bt,{resource:s,color:l,style:"margin-bottom: 0",effectDisplay:a.gt(tl.value,0)?`+${Z(tl.value)}/s`:void 0},null),o(fe,null,null),o(xl,null,{default:()=>[o(Nt,null,{default:()=>[ie(y),o("div",null,[ee(a.floor(d.value)),c("/"),ee(a.floor(y.amount.value))]),Ve(h,_,g,b)]}),me.bought.value?o(I,null,[o(fe,null,null),o(Nt,null,{default:()=>[ie(P),o("div",null,[ee(x.value),c("/"),ee(P.amount.value)]),Ve(L,Ee,H,ue)]})]):void 0,Ge.bought.value?o(I,null,[o(fe,null,null),o(Nt,null,{default:()=>[ie(Ne),o("div",null,[ee(pe.value),c("/"),ee(Ne.amount.value)]),Ve(Te,ye,Ce,K)]})]):void 0,At.coalDrill.bought.value?o(I,null,[o(fe,null,null),o(Nt,null,{default:()=>[ie(xe),o("div",null,[ee(he.value),c("/"),ee(xe.amount.value)]),Ve(Oe,j,le,st)]})]):void 0]}),o(fe,null,null),Tl(rt,_t,ft),Ve(...ul)]))}}),vr="metal",en=7,At=Dt(vr,function(){const e="Metal",t="#888B8D",l=it(0,"metal ingots",void 0,!0),n=za(l),i=it(0,"ore"),s=za(i),d=W(()=>[k(()=>({multiplier:5,description:"Crucible",enabled:Ne.bought})),k(()=>({multiplier:1.5,description:"Industrial Crucible",enabled:()=>a.gte(he.amount.value,1)})),k(()=>({multiplier:2,description:"Industrial Furnace",enabled:K.bought})),k(()=>({multiplier:()=>a.add(st.value,1),description:"Hotter Forges",enabled:()=>a.gte(xe.amount.value,1)})),k(()=>({multiplier:2,description:"Carry metal in boxes",enabled:yt.row2Upgrades.metalUpgrade.bought})),k(()=>({multiplier:at.boosts.purple2,description:"Purple Dye Boost 2",enabled:()=>a.gte(at.dyes.purple.amount.value,1)})),k(()=>({multiplier:()=>a.add(bt.cloth.value,1).log10().plus(1),description:"Glistening Paint",enabled:at.upgrades.redDyeUpg.bought}))]),u=f(()=>d.apply(.1)),p=W(()=>[te(()=>({addend:()=>a.times(he.amount.value,10),description:"Industrial Crucibles",enabled:()=>a.gte(he.amount.value,1)})),k(()=>({multiplier:2,description:"Efficient Crucibles",enabled:O.efficientSmelther.bought})),k(()=>({multiplier:()=>a.mul(ze.activeSmelter.value,ze.oilEffectiveness.value).add(1),description:"Oil Smelter",enabled:()=>a.gt(ze.activeSmelter.value,0)})),k(()=>({multiplier:at.boosts.purple2,description:"Purple Dye Boost 2",enabled:()=>a.gte(at.dyes.purple.amount.value,1)})),k(()=>({multiplier:()=>a.add(Je.activeRefinery.value,1).sqrt(),description:"De Louvre",enabled:at.upgrades.redDyeUpg2.bought}))]),m=f(()=>p.apply(0)),y=W(()=>[k(()=>({multiplier:3,description:"Efficient Crucibles",enabled:O.efficientSmelther.bought})),k(()=>({multiplier:()=>a.add(ze.activeBurner.value,1).mul(ze.oilEffectiveness.value),description:"Blaster Burner",enabled:ze.row2Upgrades[2].bought}))]),h=f(()=>y.apply(1)),b=1e10,g=f(()=>a.min(i.value,a.div(O.coal.value,b)).floor().max(0)),_=It(()=>({display:B(()=>{const me=a.gte(g.value,1)?g.value:a.add(g.value,1);return o(I,null,[o("span",{style:"font-size: large"},[c("Smelt "),ge(a.times(g.value,u.value))," ",l.displayName]),o("br",null,null),o("span",{style:"font-size: large"},[c("Cost: "),ce(me),c(" "),i.displayName,c(";")," ",ce(a.times(me,b)),c(" "),O.coal.displayName])])}),canClick:()=>a.gte(g.value,1),onClick(){!r(this.canClick)||S(g.value)},style:{width:"600px",minHeight:"unset"}}));function S(me,rt=1){const[Xe,Fe,pt]=[a.times(me,u.value).times(rt),me,a.times(me,b)];l.value=a.add(l.value,Xe),i.value=a.sub(i.value,Fe),O.coal.value=a.sub(O.coal.value,pt)}const x=W(()=>[te(()=>({addend:()=>ye.amount.value,description:"Mining Drills",enabled:()=>a.gte(ye.amount.value,1)})),k(()=>({multiplier:()=>a.mul(ze.depth.value,.05).add(1),description:"25m Well Depth",enabled:ze.depthMilestones[2].earned})),k(()=>({multiplier:ze.extractorOre,description:"Heavy Extractor",enabled:()=>a.gt(ze.activeExtractor.value,0)})),k(()=>({multiplier:2,description:"Carry ore in boxes",enabled:yt.row2Upgrades.oreUpgrade.bought}))]),V=f(()=>x.apply(1)),E=W(()=>[k(()=>({multiplier:2,description:"A Simple Pickaxe",enabled:Pe.bought})),k(()=>({multiplier:2,description:"Double Pickaxe",enabled:De.bought})),k(()=>({multiplier:2.5,description:"Mining Drills",enabled:()=>a.gte(ye.amount.value,1)})),k(()=>({multiplier:2,description:"Efficient Drills",enabled:Ce.bought})),k(()=>({multiplier:2,description:"Oil the Mining Drills",enabled:ze.row2Upgrades[1].bought}))]),C=f(()=>E.apply(a.recip(L))),P=we(0),L=10,ue=jt(()=>({width:400,height:25,direction:Se.Right,fillStyle:{backgroundColor:t},progress:()=>P.value})),H=W(()=>[te(()=>({addend:V})),k(()=>({multiplier:C}))]),Ee=f(()=>H.apply(0)),pe=W(()=>[te(()=>({addend:Ee})),te(()=>({addend:()=>a.negate(m.value),enabled:$e}))]),Re=f(()=>pe.apply(0)),Pe=R(()=>({resource:F(l),cost:.1,display:{title:"A Simple Pickaxe",description:"Make a simple pickaxe to help mine faster.

Halve the time to mine more ore"}})),De=R(()=>({resource:F(l),cost:.1,display:{title:"Double Pickaxe",description:"This is too slow. What if you swung two pickaxes at once?

Halve the time to mine ore, again"},visibility:()=>M(De.bought.value)})),Ne=R(()=>({resource:F(l),cost:1,display:{title:"Crucible",description:"Smelting this all by hand is rather painful, and a lot of the metal is left in the slag. A small crucible should help a lot!

Increase the metal extracted per ore by 5x"},visibility:()=>M(Ne.bought.value||a.div(s.value,u.value).plus(n.value).gte(1))})),Te=R(()=>({resource:F(l),cost:0,display:{title:"Coal Drilling",description:"These mining drills are pretty powerful, mining more ore than you can actually smelt. Could be worth making some to mine coal instead"},visibility:()=>M(a.gte(ye.amount.value,1)&&(Te.bought.value||z.days[7].opened.value||a.lt(O.computedCoalGain.value,a.times(V.value,C.value).times(b)))),onPurchase(){z.days[2].recentlyUpdated.value=!0}})),K=R(()=>({canAfford(){return a.gte(l.value,50)&&a.gte(O.coal.value,1e11)},onPurchase(){l.value=a.sub(l.value,50),O.coal.value=a.sub(O.coal.value,1e11)},display:{title:"Industrial Furnace",description:`Moving smelting out of the open air and into a dedicated furnace should make efficiency even better. Double metal gained per ore -
-
- Cost: 50 ${l.displayName}
${ge(1e11)} ${O.coal.displayName}`}})),Ce=R(()=>({resource:F(l),cost:1e5,display:{title:"Efficient Drills",description:"Use metal and a bunch of R&D to make drilling stuff faster. Double coal and ore mining speed."},visibility:()=>M(ze.depthMilestones[4].earned.value)})),ye=Me(()=>({resource:F(l),cost(){return a.pow(1.15,this.amount.value).times(10)},display:{title:"Mining Drill",description:"An automated machine to help you mine more ore, faster",effectDisplay:B(()=>o(I,null,[c("Mine 2.5x faster. Increase ore mining amount by")," ",ce(ye.amount.value),c(" ore per operation")]))},visibility:()=>M(a.gte(ye.amount.value,1)||a.div(s.value,u.value).plus(n.value).gte(10)),style:{width:"200px"}})),he=Me(()=>({resource:F(l),cost(){return a.pow(1.15,a.times(this.amount.value,10)).times(10)},display:{title:"Industrial Crucible",description:"A giant automated crucible furnace, letting you smelt ore faster",effectDisplay:B(()=>o(I,null,[c("Automatically smelts")," ",ce(a.times(he.amount.value,10)),c(" ore per second")]))},visibility:()=>M(a.gte(he.amount.value,1)||a.gte(ye.amount.value,4)||a.gte(s.value,50)),style:{width:"200px"}})),$e=we(!0),xe=Me(()=>({resource:O.coal,cost(){return a.pow(10,this.amount.value).times(1e12)},display:{title:"Hotter Forges",description:"More coal makes the fires burn hotter, getting just a little more metal out of each bit of ore",effectDisplay:B(()=>o(I,null,[c("Gain "),ce(a.times(st.value,100)),c("% more metal per ore")]))},visibility:()=>M(a.gte(xe.amount.value,1)||K.bought.value),style:{width:"200px"}})),st=f(()=>a.times(xe.amount.value,.25));Qe.on("update",me=>{P.value=a.times(me,C.value).plus(P.value);const rt=P.value.trunc();P.value=P.value.minus(rt),i.value=a.add(i.value,a.times(rt,V.value)),$e.value&&S(a.min(g.value,a.times(m.value,me)),h.value)});const[Oe,le]=ol(()=>[{title:"Auto Smelt Speed",modifier:p,base:0,unit:"/s",visible(){return a.gt(he.amount.value,0)}},{title:"Auto Smelt Multiplier",modifier:y,base:1,visible(){return a.gt(h.value,1)}},{title:"Metal per Ore",modifier:d,base:.1},{title:"Ore per Mining Operation",modifier:x,base:1},{title:"Mining Speed",modifier:E,base:.1,unit:"/s"}]),j=G(!1),se=B(()=>o(wt,{modelValue:j.value,"onUpdate:modelValue":me=>j.value=me},{header:()=>o("h2",null,[e,c(" Modifiers")]),body:Oe})),{total:je,trackerDisplay:We}=sl({resource:l,goal:25e3,name:e,day:en,color:t,modal:{show:j,display:se}});return{name:e,day:en,color:t,ore:i,bestOre:s,oreProgress:P,metal:l,bestMetal:n,totalMetal:je,simplePickaxe:Pe,doublePickaxe:De,crucible:Ne,coalDrill:Te,industrialFurnace:K,efficientDrill:Ce,oreDrill:ye,industrialCrucible:he,autoSmeltEnabled:$e,hotterForge:xe,generalTabCollapsed:le,minWidth:700,display:B(()=>o(I,null,[ie(We),o(fe,null,null),o(Bt,{resource:l,color:t,style:"margin-bottom: 0",sticky:!1,productionDisplay:B(()=>o(I,null,[$e.value&&a.gte(he.amount.value,1)?`+${fn([[m.value,"smelting speed"],[Ee.value,"ore gain"],[a.div(O.computedCoalGain.value,b),"coal gain"]],"/s",a.mul(u.value,h.value))}`:void 0]))},null),o(fe,null,null),ie(_),a.gte(he.amount.value,1)?o("div",{style:{width:"150px"}},[o(al,{title:"Auto Smelt",modelValue:$e.value,"onUpdate:modelValue":me=>$e.value=me},null)]):void 0,o(fe,null,null),o(Bt,{resource:i,color:t,style:"margin-bottom: 0",sticky:!1,productionDisplay:B(()=>o(I,null,[vn(Re.value)]))},null),o(fe,null,null),o("div",null,[c("Currently mining "),ge(V.value),c(" ore every")," ",ge(a.recip(C.value)),c(" seconds")]),ie(ue),o(fe,null,null),Ve(Pe,De,Ne,Te,K,Ce),Ve(ye,he,xe)]))}}),hr="cloth",tn=8,bt=Dt(hr,function(){const e="Cloth",t="white",l=it(0,"cloth"),n=it(0,"wool"),i=it(10,"sheep"),s=we(0),d=jt(()=>({direction:Se.Right,width:100,height:10,style:"margin-top: 8px",borderStyle:"border-color: black",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s; background: black",progress:()=>a.div(s.value,Oe.value)})),u=It(()=>({display:{title:"Breed sheep",description:B(()=>o(I,null,[c("Breed "),ce(a.floor(xe.value)),c(" sheep"),o("br",null,null),ie(d)]))},style:{minHeight:"80px"},canClick:()=>a.gte(s.value,Oe.value),onClick(){if(a.lt(s.value,Oe.value))return;const ae=a.floor(xe.value);i.value=a.add(i.value,ae),s.value=0}})),p=we(0),m=jt(()=>({direction:Se.Right,width:100,height:10,style:"margin-top: 8px",borderStyle:"border-color: black",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s; background: black",progress:()=>a.div(p.value,je.value)})),y=It(()=>({display:{title:"Shear sheep",description:B(()=>o(I,null,[c("Shear up to "),ce(a.floor(j.value)),c(" sheep"),o("br",null,null),ie(m)]))},style:{minHeight:"80px"},canClick:()=>a.gte(p.value,je.value),onClick(){if(a.lt(p.value,je.value))return;const ae=a.min(i.value,j.value).floor();n.value=a.add(n.value,ae),p.value=0}})),h=we(0),b=jt(()=>({direction:Se.Right,width:100,height:10,style:"margin-top: 8px",borderStyle:"border-color: black",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s; background: black",progress:()=>a.div(h.value,Xe.value)})),g=It(()=>({display:{title:"Spinning wool",description:B(()=>o(I,null,[c("Spin "),ce(a.floor(me.value)),c(" wool"),o("br",null,null),ie(b)]))},style:{minHeight:"80px"},canClick:()=>a.gte(h.value,Xe.value),onClick(){if(a.lt(h.value,Xe.value))return;const ae=a.min(n.value,me.value).floor();l.value=a.add(l.value,ae),n.value=a.sub(n.value,ae),h.value=0}})),_=Dl(()=>({key:"b",description:'Press the "Breed Sheep" button',onPress:()=>{u.canClick.value&&u.onClick()}})),S=Dl(()=>({key:"h",description:'Press the "Shear Sheep" button',onPress:()=>{y.canClick.value&&y.onClick()}})),x=Dl(()=>({key:"s",description:'Press the "Spin Wool" button',onPress:()=>{g.canClick.value&&g.onClick()}})),V=Me(()=>({resource:_e.logs,cost(){let ae=this.amount.value;return a.gte(ae,100)&&(ae=a.pow(ae,2).div(100)),ae=a.pow(.95,J.books.clothBook.amount.value).times(ae),a.pow(1.5,ae).times(1e14)},display:{title:"Build more pens",description:"Breed +1 sheep at once"}})),E=Me(()=>({resource:At.metal,cost(){let ae=this.amount.value;return a.gte(ae,100)&&(ae=a.pow(ae,2).div(100)),ae=a.pow(.95,J.books.clothBook.amount.value).times(ae),a.pow(1.4,ae).times(1e4)},display:{title:"Make stronger shears",description:"Shear +1 sheep at once"}})),C=Me(()=>({resource:J.paper,cost(){let ae=this.amount.value;return a.gte(ae,100)&&(ae=a.pow(ae,2).div(100)),ae=a.pow(.95,J.books.clothBook.amount.value).times(ae),a.pow(1.3,ae).times(1e6)},display:{title:"Learn how to spin",description:"Spin +1 wool at once"}})),P=R(()=>({resource:F(l),cost:100,display:{title:"Lumberjack Boots",description:"Quadruple log gain"}})),L=R(()=>({resource:F(n),cost:150,visibility:()=>M(P.bought.value),display:{title:"Lumberjack Jeans",description:"Quadruple trees cut"}})),ue=R(()=>({resource:F(i),cost:200,visibility:()=>M(L.bought.value),display:{title:"Lumberjack Plaid",description:"Quadruple trees planted"}})),Ee={treesUpgrade4:R(()=>({resource:F(l),cost:1e3,visibility:()=>M(Je.upgrades.clothTools.bought.value),display:{title:"Felt-Gripped Axe",description:"10x log gain"}})),treesUpgrade3:ue,treesUpgrade2:L,treesUpgrade1:P},pe=R(()=>({resource:F(l),cost:150,display:{title:"Mining boots",description:"Quadruple ash gain"}})),Re=R(()=>({resource:F(n),cost:225,visibility:()=>M(pe.bought.value),display:{title:"Mining overalls",description:"Double coal gain"}})),Pe=R(()=>({resource:F(i),cost:300,visibility:()=>M(Re.bought.value),display:{title:"Mining helmet",description:"Triple coal gain"}})),Ne={metalUpgrade4:R(()=>({resource:F(l),cost:2e3,visibility:()=>M(Je.upgrades.clothTools.bought.value),display:{title:"Felt-Gripped Pick",description:"Quadruple coal gain"}})),metalUpgrade3:Pe,metalUpgrade2:Re,metalUpgrade1:pe},Te=R(()=>({resource:F(l),cost:200,display:{title:"Scholar's shoes",description:"Double paper gain"}})),K=R(()=>({resource:F(n),cost:200,visibility:()=>M(Te.bought.value),display:{title:"Scholar's slacks",description:"Double paper gain"}})),Ce=R(()=>({resource:F(i),cost:400,visibility:()=>M(K.bought.value),display:{title:"Scholar's jacket",description:"Double paper gain"}})),he={paperUpgrade4:R(()=>({resource:F(l),cost:4e3,visibility:()=>M(Je.upgrades.clothTools.bought.value),display:{title:"Felt Elbow Pads",description:"10x paper gain"}})),paperUpgrade3:Ce,paperUpgrade2:K,paperUpgrade1:Te},$e=W(()=>[te(()=>({addend:V.amount,description:"Build more pens"})),k(()=>({multiplier:()=>a.div(Je.buyables.clothGains.amount.value,10).add(1),description:"Plastic Shepherd",enabled:()=>a.gte(Je.buyables.clothGains.amount.value,1)})),k(()=>({multiplier:2,description:"Shepherding for Dummies",enabled:J.upgrades.clothUpgrade.bought}))]),xe=f(()=>$e.apply(1)),st=W(()=>[]),Oe=f(()=>st.apply(1)),le=W(()=>[te(()=>({addend:E.amount,description:"Make stronger shears"})),k(()=>({multiplier:()=>a.div(Je.buyables.clothGains.amount.value,10).add(1),description:"Plastic Shepherd",enabled:()=>a.gte(Je.buyables.clothGains.amount.value,1)})),k(()=>({multiplier:2,description:"Shepherding for Dummies",enabled:J.upgrades.clothUpgrade.bought}))]),j=f(()=>le.apply(1)),se=W(()=>[]),je=f(()=>se.apply(1)),We=W(()=>[te(()=>({addend:C.amount,description:"Learn how to spin"})),k(()=>({multiplier:()=>a.div(Je.buyables.clothGains.amount.value,10).add(1),description:"Plastic Shepherd",enabled:()=>a.gte(Je.buyables.clothGains.amount.value,1)})),k(()=>({multiplier:2,description:"Shepherding for Dummies",enabled:J.upgrades.clothUpgrade.bought}))]),me=f(()=>We.apply(1)),rt=W(()=>[]),Xe=f(()=>rt.apply(1)),[Fe,pt]=ol(()=>[{title:"Sheep Gain",modifier:$e,base:1},{title:"Sheep Breeding Cooldown",modifier:st,base:1,visible:!1,unit:"s"},{title:"Shearing Amount",modifier:le,base:1},{title:"Shearing Cooldown",modifier:se,base:1,visible:!1,unit:"s"},{title:"Spinning Amount",modifier:We,base:1},{title:"Spinning Cooldown",modifier:rt,base:1,visible:!1,unit:"s"}]),Ge=G(!1),_t=B(()=>o(wt,{modelValue:Ge.value,"onUpdate:modelValue":ae=>Ge.value=ae},{header:()=>o("h2",null,[e,c(" Modifiers")]),body:Fe}));Qe.on("update",ae=>{a.lt(z.day.value,tn)||(a.gte(s.value,Oe.value)?s.value=Oe.value:(s.value=a.add(s.value,ae),u.isHolding.value&&u.onClick()),a.gte(p.value,je.value)?p.value=je.value:(p.value=a.add(p.value,ae),y.isHolding.value&&y.onClick()),a.gte(h.value,Xe.value)?h.value=Xe.value:(h.value=a.add(h.value,ae),g.isHolding.value&&g.onClick()))});const{total:qe,trackerDisplay:ft}=sl({resource:l,goal:1e3,name:e,day:tn,color:t,textColor:"var(--feature-foreground)",modal:{show:Ge,display:_t}});return{name:e,color:t,cloth:l,totalCloth:qe,wool:n,sheep:i,buildPens:V,betterShears:E,fasterSpinning:C,treesUpgrades:Ee,metalUpgrades:Ne,paperUpgrades:he,generalTabCollapsed:pt,breedingProgress:s,shearingProgress:p,spinningProgress:h,breedSheepHK:_,shearSheepHK:S,spinWoolHK:x,minWidth:700,display:B(()=>o(I,null,[ie(ft),o(fe,null,null),o(Bt,{resource:l,style:"margin-bottom: 0"},null),o(Bt,{resource:n,style:"margin-bottom: 0"},null),o(Bt,{resource:i,style:"margin-bottom: 0"},null),Ve(u,y,g),Ve(V,E,C),o(fe,null,null),o(xl,null,{default:()=>[Ht(...Object.values(Ee)),Ht(...Object.values(Ne)),Ht(...Object.values(he))]})]))}}),yr="paper",ba=5,J=Dt(yr,function(){const e="Paper",t="#E8DCB8",l=it(0,"paper"),n=it(f(()=>a.min(a.div(_e.logs.value,1e9),a.div(O.ash.value,1e6))),"pulp"),i=Fn(()=>({scaling:Fa(1,1.2),baseResource:n,gainResource:F(l),roundUpCost:!0,spend(K,Ce){_e.logs.value=a.sub(_e.logs.value,a.times(Ce,1e9)),O.ash.value=a.sub(O.ash.value,a.times(Ce,1e6))},gainModifier:Ee})),s=It(()=>({display:B(()=>{const K=a.gte(i.actualGain.value,1)?i.currentAt.value:i.nextAt.value;return o(I,null,[o("span",{style:"font-size: large"},[c("Create "),ee(i.currentGain.value),c(" "),l.displayName]),o("br",null,null),o("span",{style:"font-size: large"},[c("Cost: "),jl(_e.logs,K),c(" "),n.displayName,c(" ("),ee(a.times(K,1e9)),c(" "),_e.logs.displayName,c(";")," ",ee(a.times(K,1e6)),c(" "),O.ash.displayName,c(")")])])}),canClick:()=>a.gte(i.actualGain.value,1),onClick(){!r(this.canClick)||i.convert()},style:"width: 600px; min-height: unset"}));function d(K){const Ce=Me(()=>({...K,display:{title:K.name,description:`Print a copy of "${K.name}", which ${K.elfName} will use to improve their skills! Each copy printed will reduce the "${K.buyableName}" price scaling by 0.95x and make ${K.elfName} purchase +10% faster!`,effectDisplay:B(()=>o(I,null,[Z(a.pow(.95,Ce.amount.value)),c("x price scaling,")," ",Z(a.div(Ce.amount.value,10).add(1)),c("x auto-purchase speed")])),showAmount:!1},resource:F(l),cost(){let ye=this.amount.value;return(K.elfName==="Star"||K.elfName==="Bell")&&(ye=a.pow(ye,2)),a.gte(ye,100)&&(ye=a.pow(ye,2).div(100)),a.gte(ye,1e4)&&(ye=a.pow(ye,2).div(1e4)),ye=a.pow(.95,x.amount.value).times(ye),a.pow(5,ye).times(10)},style:"width: 600px"}));return Ce}const u=d({name:"Now You're Logging!",elfName:"Holly",buyableName:"Generic Cutters"}),p=d({name:"The Man Who Planted Trees",elfName:"Ivy",buyableName:"Generic Planters"}),m=d({name:"Logjam",elfName:"Hope",buyableName:"Expand Forest"}),y=d({name:"Fahrenheit 451",elfName:"Jack",buyableName:"Heated Cutters"}),h=d({name:"Tillamook Burn Country",elfName:"Mary",buyableName:"Heated Planters"}),b=d({name:"The Garden Tree's Handbook",elfName:"Noel",buyableName:"Fertilized Soil"}),g=d({name:"Firestarter",elfName:"Joy",buyableName:"Small Fire",visibility:()=>M(be.elves.smallFireElf.bought.value)}),_=d({name:"An Arsonist's Guide to Writer's Homes in New England",elfName:"Faith",buyableName:"Bonfire",visibility:()=>M(be.elves.bonfireElf.bought.value)}),S=d({name:"Little Fires Everywhere",elfName:"Snowball",buyableName:"Kiln",visibility:()=>M(be.elves.kilnElf.bought.value)}),x=d({name:"The Book Thief",elfName:"Star",buyableName:"Paper Buyables",visibility:()=>M(be.elves.paperElf.bought.value)}),V=d({name:"Not a box",elfName:"Bell",buyableName:"Box Buyables",visibility:()=>M(be.elves.boxElf.bought.value)}),E=d({name:"Fuzzy Bee and Friends",elfName:"Gingersnap",buyableName:"Cloth Buyables",visibility:()=>M(be.elves.clothElf.bought.value)}),C={cuttersBook:u,plantersBook:p,expandersBook:m,heatedCuttersBook:y,heatedPlantersBook:h,fertilizerBook:b,smallFireBook:g,bonfireBook:_,kilnBook:S,paperBook:x,boxBook:V,clothBook:E},P=R(()=>({resource:F(l),cost:1e8,visibility:()=>M(Je.upgrades.paperTools.bought.value),display:{title:"Shepherding for Dummies",description:"Double effectiveness of all cloth actions"}})),L=R(()=>({resource:F(l),cost:1e9,visibility:()=>M(Je.upgrades.paperTools.bought.value),display:{title:"Guide to drilling",description:"Double drilling power"}})),ue=R(()=>({resource:F(l),cost:1e10,visibility:()=>M(Je.upgrades.paperTools.bought.value),display:{title:"Oil and where to find it",description:"Double oil gain"}})),H={clothUpgrade:P,drillingUpgrade:L,oilUpgrade:ue},Ee=W(()=>[k(()=>({multiplier:2,description:"Scholar's shoes",enabled:bt.paperUpgrades.paperUpgrade1.bought})),k(()=>({multiplier:2,description:"Scholar's slacks",enabled:bt.paperUpgrades.paperUpgrade2.bought})),k(()=>({multiplier:2,description:"Scholar's jacket",enabled:bt.paperUpgrades.paperUpgrade3.bought})),k(()=>({multiplier:10,description:"Felt Elbow Pads",enabled:bt.paperUpgrades.paperUpgrade4.bought})),k(()=>({multiplier:at.boosts.yellow1,description:"Yellow Dye Boost 1",enabled:()=>a.gte(at.dyes.yellow.amount.value,1)}))]),[pe,Re]=ol(()=>[{title:"Paper Gain",modifier:Ee,base:1}]),Pe=G(!1),De=B(()=>o(wt,{modelValue:Pe.value,"onUpdate:modelValue":K=>Pe.value=K},{header:()=>o("h2",null,[e,c(" Modifiers")]),body:pe}));Qe.on("update",K=>{a.lt(z.day.value,ba)||(l.value=a.times(K,Je.buyables.passivePaper.amount.value).times(i.currentGain.value).div(100).add(l.value))});const{total:Ne,trackerDisplay:Te}=sl({resource:l,goal:5e3,name:e,day:ba,color:t,textColor:"var(--feature-foreground)",modal:{show:Pe,display:De}});return{name:e,day:ba,color:t,paper:l,totalPaper:Ne,paperConversion:i,books:C,upgrades:H,generalTabCollapsed:Re,minWidth:700,display:B(()=>o(I,null,[ie(Te),o(fe,null,null),o(Bt,{resource:l,color:t,style:"margin-bottom: 0"},null),o(fe,null,null),ie(s),o(fe,null,null),Ve(...Object.values(H)),o(fe,null,null),Ht(...Object.values(C))]))}}),br="boxes",wa=6,yt=Dt(br,function(){const e="Boxes",t="#964B00",l=it(0,"boxes"),n=Fn(()=>({scaling:Fa(1e10,1),baseResource:_e.logs,gainResource:F(l),roundUpCost:!0})),i=It(()=>({display:B(()=>o(I,null,[o("span",{style:"font-size: large"},[c("Create "),ee(n.currentGain.value),c(" "),l.displayName]),o("br",null,null),o("span",{style:"font-size: large"},[c("Cost:")," ",jl(_e.logs,a.gte(n.actualGain.value,1)?n.currentAt.value:n.nextAt.value)," ",_e.logs.displayName])])),canClick:()=>a.gte(n.actualGain.value,1),onClick(){!r(this.canClick)||n.convert()},style:"width: 600px; min-height: unset"})),s=R(()=>({display:{title:"Carry logs in boxes",description:"Double log gain and unlock a new elf for training"},onPurchase(){z.days[3].recentlyUpdated.value=!0},resource:F(l),cost:100})),d=R(()=>({display:{title:"Carry ash in boxes",description:"Double ash gain and unlock a new elf for training"},onPurchase(){z.days[3].recentlyUpdated.value=!0},resource:F(l),cost:1e3})),u=R(()=>({display:{title:"Carry coal in boxes",description:"Double coal gain and unlock a new elf for training"},onPurchase(){z.days[3].recentlyUpdated.value=!0},resource:F(l),cost:4e3})),p={logsUpgrade:s,ashUpgrade:d,coalUpgrade:u},m=R(()=>({resource:F(l),cost:1e8,visibility:()=>M(Je.upgrades.boxTools.bought.value),display:{title:"Carry ore in boxes",description:"Double ore per mining op"}})),y=R(()=>({resource:F(l),cost:1e9,visibility:()=>M(Je.upgrades.boxTools.bought.value),display:{title:"Carry metal in boxes",description:"Double ore purity"}})),h=R(()=>({resource:F(l),cost:1e10,visibility:()=>M(Je.upgrades.boxTools.bought.value),display:{title:"Carry plastic in boxes",description:"Double plastic gain"}})),b={oreUpgrade:m,metalUpgrade:y,plasticUpgrade:h},g=Me(()=>({display:{title:"Carry more logs",description:"Use boxes to carry even more logs, boosting their gain",effectDisplay:B(()=>o(I,null,[Z(a.div(g.amount.value,2).add(1)),c("x")]))},resource:F(l),cost(){let C=this.amount.value;return C=a.pow(.95,J.books.boxBook.amount.value).times(C),a.pow(3,C).times(100).div(at.boosts.orange2.value)},visibility:()=>M(s.bought.value)})),_=Me(()=>({display:{title:"Carry more ash",description:"Use boxes to carry even more ash, boosting its gain",effectDisplay:B(()=>o(I,null,[Z(a.div(_.amount.value,2).add(1)),c("x")]))},resource:F(l),cost(){let C=this.amount.value;return C=a.pow(.95,J.books.boxBook.amount.value).times(C),a.pow(5,C).times(1e3).div(at.boosts.orange2.value)},visibility:()=>M(d.bought.value)})),S=Me(()=>({display:{title:"Carry more coal",description:"Use boxes to carry even more coal, boosting its gain",effectDisplay:B(()=>o(I,null,[Z(a.div(S.amount.value,2).add(1)),c("x")]))},resource:F(l),cost(){let C=this.amount.value;return C=a.pow(.95,J.books.boxBook.amount.value).times(C),a.pow(7,C).times(1e3).div(at.boosts.orange2.value)},visibility:()=>M(u.bought.value)})),x={logBoxesBuyable:g,ashBoxesBuyable:_,coalBoxesBuyable:S};Qe.on("update",C=>{a.lt(z.day.value,wa)||(l.value=a.times(C,Je.buyables.passiveBoxes.amount.value).times(n.currentGain.value).div(100).add(l.value))});const{total:V,trackerDisplay:E}=sl({resource:l,goal:5e4,name:e,day:wa,color:t});return{name:e,day:wa,color:t,boxes:l,totalBoxes:V,boxesConversion:n,upgrades:p,row2Upgrades:b,buyables:x,minWidth:700,display:B(()=>o(I,null,[ie(E),o(fe,null,null),o(Bt,{resource:l,color:t,style:"margin-bottom: 0"},null),o(fe,null,null),ie(i),o(fe,null,null),Tl(Object.values(p),Object.values(b)),o(fe,null,null),Ve(...Object.values(x))]))}}),wr="trees",ln=1,an=.1,_e=Dt(wr,function(){const e="Trees",t="#4BDC13",l="green",n=it(0,"logs"),i=it(0,"saplings"),s=G(0),d=W(()=>[te(()=>({addend:()=>a.times(H.amount.value,10),description:"Expand Forest",enabled:C.bought})),te(()=>({addend:()=>a.div(Et.foundationProgress.value,2),description:"75% Foundation Completed",enabled:Et.milestones.morePlantsMilestone1.earned})),k(()=>({multiplier:2,description:"5 Elves Trained",enabled:be.milestones[4].earned})),k(()=>({multiplier:2,description:"8 Elves Trained",enabled:be.milestones[7].earned})),k(()=>({multiplier:4,description:"Lumberjack Boots",enabled:bt.treesUpgrades.treesUpgrade1.bought})),te(()=>({addend:at.boosts.blue1,description:"Blue Dye Boost 1",enabled:()=>a.gte(at.dyes.blue.amount.value,1)}))]),u=it(f(()=>a.sub(d.apply(10),i.value)),"trees"),p=f(()=>d.apply(10)),m=R(()=>({resource:F(n),cost:10,display:{title:"Wooden Fingers",description:"Cut down an additional tree per click"}})),y=R(()=>({resource:F(n),cost:10,display:{title:"Leafy Fingers",description:"Plant an additional tree per click"}})),h=R(()=>({resource:F(n),cost:25,display:{title:"Automated Knives",description:"Cut down a tree every second"}})),b=R(()=>({resource:F(n),cost:25,display:{title:"Automated Spade",description:"Plant a tree every second"}})),g=R(()=>({resource:F(n),cost:40,display:{title:"Research I",description:"Trees give 25% more logs, and unlock more upgrades"}})),_=[m,y,h,b,g],S=R(()=>({resource:F(n),cost:50,visibility:()=>M(g.bought.value),display:{title:"Sharper Fingers",description:"Manually cut trees twice as often"}})),x=R(()=>({resource:F(n),cost:50,visibility:()=>M(g.bought.value),display:{title:"Greener Fingers",description:"Manually Plant trees twice as often"}})),V=R(()=>({resource:F(n),cost:150,visibility:()=>M(g.bought.value),display:{title:"Smart Knives",description:"Each time you manually chop trees, gain 1s of automatic tree chopping production"}})),E=R(()=>({resource:F(n),cost:150,visibility:()=>M(g.bought.value),display:{title:"Smart Spades",description:"Each time you manually plant trees, gain 1s of automatic tree planting production"}})),C=R(()=>({resource:F(n),cost:300,visibility:()=>M(g.bought.value),display:{title:"Research II",description:"Trees give 25% more logs, and unlock repeatable purchases"}})),P=[S,x,V,E,C],L=Me(()=>({resource:F(n),cost(){let q=this.amount.value;return a.gte(q,50)&&(q=a.pow(q,2).div(50)),a.gte(q,200)&&(q=a.pow(q,2).div(200)),a.gte(q,2e6)&&(q=a.pow(q,2).div(2e6)),q=a.pow(.95,J.books.cuttersBook.amount.value).times(q),a.times(100,q).add(200)},display:{title:"Generic Cutters",description:"Each cutter cuts down 1 tree/s"},visibility:()=>M(C.bought.value)})),ue=Me(()=>({resource:F(n),cost(){let q=this.amount.value;return a.gte(q,50)&&(q=a.pow(q,2).div(50)),a.gte(q,200)&&(q=a.pow(q,2).div(200)),a.gte(q,2e6)&&(q=a.pow(q,2).div(2e6)),q=a.pow(.95,J.books.plantersBook.amount.value).times(q),a.times(100,q).add(200)},display:{title:"Generic Planters",description:"Each planter plants 0.5 trees/s"},visibility:()=>M(C.bought.value)})),H=Me(()=>({resource:F(n),cost(){let q=this.amount.value;return a.gte(q,100)&&(q=a.pow(q,2).div(100)),a.gte(q,1e5)&&(q=a.pow(q,2).div(1e5)),q=a.pow(.95,J.books.expandersBook.amount.value).times(q),a.pow(a.add(q,1),1.5).times(500)},display:{title:"Expand Forest",description:"Add 10 trees to the forest"},visibility:()=>M(C.bought.value)})),Ee=[L,ue,H],pe=W(()=>[te(()=>({addend:1,description:"Wooden Fingers",enabled:m.bought})),te(()=>({addend:Te,description:"Smart Knives",enabled:V.bought}))]),Re=f(()=>pe.apply(1)),Pe=W(()=>[k(()=>({multiplier:.5,description:"Sharper Fingers",enabled:S.bought})),k(()=>({multiplier:()=>a.pow(.5,be.totalElves.value),description:"1 Elf Trained",enabled:be.milestones[0].earned}))]),De=f(()=>Pe.apply(1)),Ne=W(()=>[te(()=>({addend:1,description:"Automated Knives",enabled:h.bought})),te(()=>({addend:L.amount,description:"Generic Cutters",enabled:C.bought})),te(()=>({addend:()=>a.div(Et.foundationProgress.value,5).floor(),description:"10% Foundation Completed",enabled:Et.milestones.autoCutMilestone1.earned})),k(()=>({multiplier:2,description:"30% Foundation Completed",enabled:Et.milestones.autoCutMilestone2.earned})),k(()=>({multiplier:2,description:"Warmer Cutters",enabled:O.warmerCutters.bought})),k(()=>({multiplier:O.computedHeatedCutterEffect,description:"Heated Cutters",enabled:()=>a.gt(O.heatedCutters.amount.value,0)})),k(()=>({multiplier:4,description:"Lumberjack Jeans",enabled:bt.treesUpgrades.treesUpgrade2.bought}))]),Te=f(()=>Ne.apply(0)),K=W(()=>[te(()=>({addend:1,description:"Leafy Fingers",enabled:y.bought})),te(()=>({addend:xe,description:"Smart Spades",enabled:E.bought}))]),Ce=f(()=>K.apply(1)),ye=W(()=>[k(()=>({multiplier:.5,description:"Greener Fingers",enabled:x.bought})),k(()=>({multiplier:()=>a.pow(.5,be.totalElves.value),description:"1 Elf Trained",enabled:be.milestones[0].earned}))]),he=f(()=>ye.apply(1)),$e=W(()=>[te(()=>({addend:1,description:"Automated Spade",enabled:b.bought})),te(()=>({addend:()=>a.div(ue.amount.value,2),description:"Generic Planters",enabled:C.bought})),te(()=>({addend:()=>a.div(Et.foundationProgress.value,10).floor(),description:"20% Foundation Completed",enabled:Et.milestones.autoPlantMilestone1.earned})),k(()=>({multiplier:2,description:"40% Foundation Completed",enabled:Et.milestones.autoPlantMilestone2.earned})),k(()=>({multiplier:2,description:"Warmer Planters",enabled:O.warmerPlanters.bought})),k(()=>({multiplier:O.computedHeatedPlanterEffect,description:"Heated Planters",enabled:()=>a.gt(O.heatedPlanters.amount.value,0)})),k(()=>({multiplier:4,description:"Lumberjack Plaid",enabled:bt.treesUpgrades.treesUpgrade3.bought}))]),xe=f(()=>$e.apply(0)),st=W(()=>[k(()=>({multiplier:1.25,description:"Research I",enabled:g.bought})),k(()=>({multiplier:1.25,description:"Research II",enabled:C.bought})),k(()=>({multiplier:()=>a.div(Et.foundationProgress.value,20).add(1),description:"1% Foundation Completed",enabled:Et.milestones.logGainMilestone1.earned})),k(()=>({multiplier:2,description:"50% Foundation Completed",enabled:Et.milestones.logGainMilestone2.earned})),k(()=>({multiplier:1.25,description:"Ashy Soil",enabled:O.basicFertilizer.bought})),k(()=>({multiplier:O.computedFertilizerEffect,description:"Fertilized Soil",enabled:()=>a.gt(O.moreFertilizer.amount.value,0)})),k(()=>({multiplier:2,description:"4 Elves Trained",enabled:be.milestones[3].earned})),k(()=>({multiplier:2,description:"Carry logs in boxes",enabled:yt.upgrades.logsUpgrade.bought})),k(()=>({multiplier:()=>a.div(yt.buyables.logBoxesBuyable.amount.value,2).add(1),description:"Carry more logs",enabled:yt.upgrades.logsUpgrade.bought})),k(()=>({multiplier:10,description:"Felt-Gripped Axe",enabled:bt.treesUpgrades.treesUpgrade4.bought})),k(()=>({multiplier:f(()=>a.add(Te.value,1).log10().plus(1)),description:"Is Blue Dye just Water?",enabled:at.upgrades.blueDyeUpg.bought})),Pn(()=>({exponent:1.2,description:"100% Foundation Completed",enabled:Et.milestones.logGainMilestone3.earned}))]),Oe=we(0),le=jt(()=>({direction:Se.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>a.div(Oe.value,De.value)})),j=It(()=>({display:{title:"Cut trees",description:B(()=>o(I,null,[c("Cut down up to "),ee(a.floor(Re.value))," ",c("tree"),a.eq(Re.value,1)?"":"s",c(" at once!"),o("br",null,null),ie(le)]))},style:{minHeight:"80px"},canClick:()=>a.gte(u.value,1)&&a.gte(Oe.value,De.value),onClick(){if(a.lt(Oe.value,De.value))return;const q=a.floor(a.min(u.value,a.times(Re.value,a.div(Oe.value,De.value).floor())));n.value=a.add(n.value,a.times(st.apply(1),q)),i.value=a.add(i.value,q),Oe.value=0}})),se=we(0),je=jt(()=>({direction:Se.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>a.div(se.value,he.value)})),We=It(()=>({display:{title:"Plant trees",description:B(()=>o(I,null,[c("Plant up to "),ee(a.floor(Ce.value))," ",c("tree"),a.eq(Ce.value,1)?"":"s",c(" at once!"),o("br",null,null),ie(je)]))},style:{minHeight:"80px"},canClick:()=>a.gte(i.value,1)&&a.gte(se.value,he.value),onClick(){if(a.lt(se.value,he.value))return;const q=a.floor(a.min(i.value,a.times(Ce.value,a.div(se.value,he.value).floor())));i.value=a.sub(i.value,q),se.value=0}})),[me,rt]=ol(()=>[{title:"Logs per Tree",modifier:st,base:1,visible:g.bought},{title:"Manual Cutting Amount",modifier:pe,base:1,visible:m.bought,unit:"/click"},{title:"Manual Cutting Cooldown",modifier:Pe,base:1,visible:m.bought,unit:"s"},{title:"Manual Planting Amount",modifier:K,base:1,visible:y.bought,unit:"/click"},{title:"Manual Planting Cooldown",modifier:ye,base:1,visible:y.bought,unit:"s"},{title:"Auto Cutting Amount",modifier:Ne,base:0,visible:h.bought,unit:"/s"},{title:"Auto Planting Amount",modifier:$e,base:0,visible:b.bought,unit:"/s"},{title:"Forest Size",modifier:d,base:10,visible:C.bought}]),Xe=G(!1),Fe=B(()=>o(wt,{modelValue:Xe.value,"onUpdate:modelValue":q=>Xe.value=q},{header:()=>o("h2",null,[e,c(" Modifiers")]),body:me}));Qe.on("update",q=>{if(a.lt(z.day.value,ln))return;a.gte(Oe.value,De.value)?Oe.value=De.value:(Oe.value=a.add(Oe.value,q),j.isHolding.value&&j.onClick()),a.gte(se.value,he.value)?se.value=he.value:(se.value=a.add(se.value,q),We.isHolding.value&&We.onClick());const $t=a.min(u.value,a.times(Te.value,q)),ul=a.mul(st.apply(1),$t),mt=a.div(ul,q);s.value=a.mul(mt,an).add(a.mul(s.value,a.dOne.sub(an))),n.value=a.add(n.value,ul),i.value=a.add(i.value,$t);const re=a.min(i.value,a.times(xe.value,q));i.value=a.sub(i.value,re)});const pt=f(()=>a.sub(Te.value,xe.value)),Ge=f(()=>a.sub(xe.value,Te.value)),_t=Dl(()=>({key:"c",description:'Press the "Cut trees" button.',onPress:()=>{j.canClick.value&&j.onClick()}})),qe=Dl(()=>({key:"p",description:'Press the "Plant trees" button.',onPress:()=>{We.canClick.value&&We.onClick()}})),{total:ft,trackerDisplay:ae}=sl({resource:n,goal:1e4,name:e,day:ln,color:l,modal:{show:Xe,display:Fe}});return{name:e,color:t,logs:n,totalLogs:ft,trees:u,saplings:i,cutTree:j,plantTree:We,cutTreeHK:_t,plantTreeHK:qe,row1Upgrades:_,row2Upgrades:P,row1Buyables:Ee,manualCutProgress:Oe,manualPlantProgress:se,generalTabCollapsed:rt,minWidth:700,display:B(()=>o(I,null,[ie(ae),o(fe,null,null),o(Bt,{resource:n,color:t,style:"margin-bottom: 0",productionDisplay:a.gt(Te.value,0)?`+${Z(s.value)}/s average
equilibrium: +${hn([[Te.value,"cutting speed"],[xe.value,"planting speed"],[a.mul(p.value,20),"forest cap"]],"/s",st.apply(1))}`:void 0},null),o(Bt,{resource:i,color:l,style:"margin-bottom: 0",productionDisplay:la(pt.value)},null),o(Bt,{resource:u,color:l,style:"margin-bottom: 0",productionDisplay:la(Ge.value)},null),o(fe,null,null),Ve(j,We),o("div",null,[c("Tip: You can hold down on actions to perform them automatically")]),o(fe,null,null),Tl(_,P),o(fe,null,null),Ve(...Ee)]))}});var Rn="./assets/tree.35808197.png",On="./assets/sws.714ad454.png",$n="data:image/png;base64,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",Qn="./assets/elf.9fbfa563.png",Gn="./assets/paperStacks.4c96ec8c.png",qn="data:image/png;base64,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",Vn="./assets/metal.7407f5d1.png",Hn="./assets/cloth.7bcd7f37.png",Ln="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAFxGAABcRgEUlENBAAAAG3RFWHRTb2Z0d2FyZQBDZWxzeXMgU3R1ZGlvIFRvb2zBp+F8AAAE/ElEQVR42u3dW3baMBRAURhzO4x2zO5P25WPPAhIuq99JhAsayNwbHG/rusm6f3ugEiASIBIgEiASIBIgEiASIBIgNQ+mPv9/8Fc13V3ejUeyFsUnwWMRgF5FAYoGgXkWRiQqD2QFThAUUsgq3FAIkAgESCQCJDtQCARIJAIEEAECCQCJArISSQfHRekgIxG4h4yQCBZdAyQADLi+0jlGyw/e+2dAY+7mzdqgr76ek9OQjeENgBSDUl2IO51awjkJJRXTnTWd2T/WxoCJDOSla9r1UQ7faGjMpKWmzZk+riQCUgEjOpIWu9qsmNCfOckZ3nAKxpGZSRjtv2JeCePXj0ywQBkEJZHTnLk6pERBiDDsHx1oqOAZMZREYmdFZ+YYBlXkAowABmAJuqd/LO/WwkHIDqGoxoM30F0DEhFHIBoO5CqMADRFiBwAALIA5MKDkCWTbTIk7Hj41V1HIAknmCnT06HyQxHUiDVd0+EoxeOVEA6PKMASC8caYBkmFjVn7WAoymQrBPr7ZfjTvdBwVEISPVbJcDojQMQwQGI4ABEcAAiMAARMIAAAgwggKg8FEAECSACBBBB0gsIJIAAAogAgUS+gwAiQCARHAmBQAIIIJCoGKCU+2JBAgwgkKgAFiuIQPElXZAUBgKGsiJxq4kgyQgEDFVAEgIEDlVBchwIHAIEDDVBcgQIHAIEDgEChwABRJDsBgKHAIFDgAAiQOAQIIAIEEAECCASIBIgUk4cgAgQQAQHIAKkBhBI1AXHNiCgqAOO7UAgUWUcR4DAooowQoAAo0o4woFAoqwwrCACAxCBURQIHMoMIxQIHLKCAKIGWGxeLVCyAIFD1ZAAIlAyAInG8dXgwgvJWCDfHVRYIDkKJGLCrRhEUABpB2T14EEyG0mr50F2DRokgJQHsn13C0hGImnxyO2RgSoI5N+4dMUNSLblNvlEm3a1rjSQbjiyT6iJV+0ASQYk8yRaOQ5VoACSEMjfY/t1u91+JJknv6/r+ukNoRCQDpd2AckNBRBAUgHJhgWQpDgSvpseBxI9FuVvNekOJNEqEooj4ryXv5u3+8crQOLmQYvnQSasHoCcnxdtth4FpAaQj85T0EWPK9O5BaTPl/WngDzyujPvVQVIkZMXDGT56gELIIC88NonQgFkKBBImgLJdoICkSy5gvXs658Cpdw/CgFZC+TVY+gOpRSQlJsbNwACCSDdgGz5ByEkh4DsmDhZT0AnIJAcBLJyAmUf+AAkKYF0RAIIIJBEApmwbAPSF0nqnz+oMsiAAHJ08CsO7uG7e0ts1NABSaqfga48oAeBbH8GZOWKWB1JKJBOdQEy5fI8IH2/h5RaQcp/MgAEkN3HAYhOfsyyggACSCcglZEAAggggAACCCCAAAIIIDV3cwdEp5AAAgggnYC4zKt2QFYiAUQtgaxA4l4stQbyChK3u2sEkGeRAKIxQL4DxTPpikSS5kdz3sNiVxMB8g4UG8cJkInnEhBABAggAgQQAQIIIIAAAgggkAACCCCAACJAABEggAgQAQKIAAFEgAAiQACBBBBAAAEEEEAAESCACBBABAggRqEeEEgAAQQQQAABBBBAAAFEp4FAAggggAACCCCAAAIJIAIEECXCAQgggEACCCCAAAIIIIAoAggkgAACCCBwAAIIIJAAAggggCgZEEgAgQMQQACBBBBAAAEEDkgK9wfV+oLa+LwMvQAAAABJRU5ErkJggg==",jn="./assets/plastic.b8ac74ff.png",Wn="data:image/png;base64,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",Ar="./assets/elfManagement.436c8744.png";const Cr=oe({props:{visibility:{type:Q(Number),required:!0},display:{type:Q(Object,String,Function),required:!0},style:Q(String,Object,Array),classes:Q(Object),glowColor:Q(String),active:Boolean,floating:Boolean},emits:["selectTab"],setup(e,{emit:t}){const{display:l,glowColor:n,floating:i}=ot(e),s=Pl(l),d=f(()=>{const p=tt(n);return p?r(i)?Zs(p):{boxShadow:`0px 9px 5px -6px ${p}`}:{}});function u(){t("selectTab")}return{selectTab:u,component:s,glowColorStyle:d,unref:r,Visibility:He}}});function kr(e,t,l,n,i,s){var d;return e.unref(e.visibility)!==e.Visibility.None?(w(),D("button",{key:0,onClick:t[0]||(t[0]=(...u)=>e.selectTab&&e.selectTab(...u)),class:Ye(["tabButton",{active:e.active,...e.unref(e.classes)}]),style:et([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},e.glowColorStyle,(d=e.unref(e.style))!=null?d:{}])},[(w(),X(Le(e.component)))],6)):U("",!0)}var Kn=Ie(Cr,[["render",kr],["__scopeId","data-v-610a2549"]]);const _r=oe({props:{visibility:{type:Q(Number),required:!0},activeTab:{type:Q(Object),required:!0},selected:{type:Object,required:!0},tabs:{type:Q(Object),required:!0},style:Q(String,Object,Array),classes:Q(Object),buttonContainerStyle:Q(String,Object,Array),buttonContainerClasses:Q(Object)},components:{Sticky:xn,TabButton:Kn},setup(e){const{activeTab:t}=ot(e),l=f(()=>El[Ze.theme].floatingTabs),n=Ft("");Mt(()=>{const u=tt(t);if(u==null){n.value="";return}if(Ot(u)){n.value=Be(u);return}n.value=Be(r(u.display))});const i=f(()=>{const u=tt(t);return Ot(u)||!u?void 0:r(u.classes)}),s=f(()=>{const u=tt(t);return Ot(u)||!u?void 0:r(u.style)});function d(u){const{display:p,style:m,classes:y,glowColor:h,visibility:b}=u;return{display:p,style:r(m),classes:y,glowColor:h,visibility:b}}return{floating:l,tabClasses:i,tabStyle:s,Visibility:He,component:n,gatherButtonProps:d,unref:r}}});function Sr(e,t,l,n,i,s){var p,m;const d=Zt("TabButton"),u=Zt("Sticky");return e.unref(e.visibility)!==e.Visibility.None?(w(),D("div",{key:0,class:Ye(["tab-family-container",{...e.unref(e.classes),...e.tabClasses}]),style:et([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(p=e.unref(e.style))!=null?p:[],(m=e.tabStyle)!=null?m:[]])},[o(u,{class:Ye(["tab-buttons-container",e.unref(e.buttonContainerClasses)]),style:et(e.unref(e.buttonContainerStyle))},{default:ne(()=>[v("div",{class:Ye(["tab-buttons",{floating:e.floating}])},[(w(!0),D(I,null,_a(e.unref(e.tabs),(y,h)=>(w(),X(d,fl({onSelectTab:b=>e.selected.value=h,floating:e.floating,key:h,active:e.unref(y.tab)===e.unref(e.activeTab)},e.gatherButtonProps(y)),null,16,["onSelectTab","floating","active"]))),128))],2)]),_:1},8,["class","style"]),e.unref(e.activeTab)?(w(),X(Le(e.unref(e.component)),{key:0})):U("",!0)],6)):U("",!0)}var Er=Ie(_r,[["render",Sr],["__scopeId","data-v-11575f45"]]);const Br=Symbol("TabButton"),Nr=Symbol("TabFamily");function Ir(e,t){if(Object.keys(e).length===0)throw console.warn("Cannot create tab family with 0 tabs"),"Cannot create tab family with 0 tabs";const l=we(Object.keys(e)[0]);return kt(()=>{var s;const n=(s=t==null?void 0:t())!=null?s:{};n.id=hl("tabFamily-"),n.type=Nr,n[zt]=Er,n.tabs=Object.keys(e).reduce((d,u)=>{const p=e[u]();return p.type=Br,p[zt]=Kn,$(p,"visibility"),ct(p,"visibility",He.Visible),$(p,"tab"),$(p,"display"),$(p,"classes"),$(p,"style"),$(p,"glowColor"),d[u]=p,d},{}),n.selected=l,n.activeTab=f(()=>{const d=r(i.tabs);if(l.value in d&&r(d[l.value].visibility)===He.Visible)return r(d[l.value].tab);const u=Object.values(d).find(p=>r(p.visibility)===He.Visible);return u?r(u.tab):null}),$(n,"visibility"),ct(n,"visibility",He.Visible),$(n,"classes"),$(n,"style"),$(n,"buttonContainerClasses"),$(n,"buttonContainerStyle"),n[el]=function(){const{visibility:d,activeTab:u,selected:p,tabs:m,style:y,classes:h,buttonContainerClasses:b,buttonContainerStyle:g}=this;return{visibility:d,activeTab:u,selected:p,tabs:m,style:r(y),classes:h,buttonContainerClasses:b,buttonContainerStyle:g}};const i=n;return i})}const Mr=oe({__name:"Tab",props:{display:null},setup(e){const t=e,{display:l}=ot(t),n=Pl(l);return(i,s)=>(w(),X(Le(r(n))))}}),Dr=Symbol("Tab");function nn(e){return kt(()=>{const t=e();return t.id=hl("tab-"),t.type=Dr,t[zt]=Mr,t[el]=function(){const{display:l}=this;return{display:l}},t})}const xr="management",Aa=12,Pr=Dt(xr,()=>{const e="Management",t="green";jt(()=>({direction:Se.Right,width:600,height:25,fillStyle:`backgroundColor: ${t}`,progress:()=>z.day.value===Aa?l.value/(be.totalElves.value*10):1,display:B(()=>z.day.value===Aa?o(I,null,[ee(l.value),c("/"),ee(be.totalElves.value*10)]):"")}));const l=f(()=>{let le=0;for(const j of Object.values(xe))le+=j.level.value;return le}),i=W(()=>[]).apply(1);function s(le,j,...se){const je=we(0),We=f(()=>1/0),me=f(()=>0),rt=f(()=>0),Xe=jt(()=>({direction:Se.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>a.div(rt.value,We.value)})),{collapseMilestones:Fe,display:pt}=Vl(j),Ge=W(()=>[k(()=>({multiplier:i,description:"Global XP Multiplier"})),...se]),_t=f(()=>Ge.apply(1));return It(()=>({display:{title:le.name,description:B(()=>o(I,null,[le.name,c(" is currently at level "),ee(me.value),c("! They have")," ",Z(je.value),c("/"),Z(je.value),c(" XP. They work")," ",ee(le.computedAutoBuyCooldown.value),c(" times per second, gaining about")," ",Z(a.mul(_t.value,le.computedAutoBuyCooldown.value))," ",c("XP/sec.")," ",E.value!==le.name?"Click to see this elf's milestones.":void 0,ie(Xe)]))},style:"width: 190px",onClick(){E.value=le.name},canClick(){return E.value!==le.name},state:Fe,displayMilestone:pt,level:me,exp:je,milestones:j,timeForExp:le.computedAutoBuyCooldown,amountOfTimesDone:le.amountOfTimesDone,elfXPGainComputed:_t}))}const d=[ve(()=>({display:{requirement:"Holly Level 1",effectDisplay:"???"},shouldEarn:()=>a.gte(P.level.value,1)})),ve(()=>({display:{requirement:"Holly Level 2",effectDisplay:"???"},visibility:M(d[0].earned.value),shouldEarn:()=>a.gte(P.level.value,2)})),ve(()=>({display:{requirement:"Holly Level 3",effectDisplay:"???"},visibility:M(d[1].earned.value),shouldEarn:()=>a.gte(P.level.value,3)}))],u=[ve(()=>({display:{requirement:"Ivy Level 1",effectDisplay:"???"},shouldEarn:()=>a.gte(L.level.value,1)})),ve(()=>({display:{requirement:"Ivy Level 2",effectDisplay:"???"},visibility:M(u[0].earned.value),shouldEarn:()=>a.gte(L.level.value,2)})),ve(()=>({display:{requirement:"Ivy Level 3",effectDisplay:"???"},visibility:M(u[1].earned.value),shouldEarn:()=>a.gte(L.level.value,3)})),ve(()=>({display:{requirement:"Ivy Level 4",effectDisplay:"???"},visibility:M(u[2].earned.value),shouldEarn:()=>a.gte(L.level.value,4)})),ve(()=>({display:{requirement:"Ivy Level 5",effectDisplay:"???"},visibility:M(u[3].earned.value),shouldEarn:()=>a.gte(L.level.value,5)}))],p=[ve(()=>({display:{requirement:"Hope Level 1",effectDisplay:"???"},shouldEarn:()=>a.gte(ue.level.value,3)}))],m=[],y=[],h=[],b=[],g=[],_=[],S=[],x=[],V=[],E=we("Holly"),C=f(()=>{let le={displayMilestone:B(()=>"")};switch(E.value){case"Holly":le=P;break;case"Ivy":le=L;break;case"Hope":le=ue;break;case"Jack":le=Ee;break;case"Mary":le=pe;break;case"Noel":le=Re;break;case"Joy":le=De;break;case"Faith":le=Ne;break;case"Snowball":le=Te;break;case"Star":le=Ce;break;case"Bell":le=ye;break;case"Gingersnap":le=he;break;default:console.warn("This should not happen.",E.value);break}return{name:E.value,disp:le.displayMilestone}}),P=s(be.elves.cuttersElf,d),L=s(be.elves.plantersElf,u),ue=s(be.elves.expandersElf,p),H=[P,L,ue],Ee=s(be.elves.heatedCuttersElf,m),pe=s(be.elves.heatedPlantersElf,y),Re=s(be.elves.fertilizerElf,h),Pe=[Ee,pe,Re],De=s(be.elves.smallFireElf,b),Ne=s(be.elves.bonfireElf,g),Te=s(be.elves.kilnElf,_),K=[De,Ne,Te],Ce=s(be.elves.paperElf,S),ye=s(be.elves.boxElf,x),he=s(be.elves.clothElf,V),$e=[Ce,ye,he],xe={cutterElfTraining:P,planterElfTraining:L,expandersElfTraining:ue,heatedCutterElfTraining:Ee,heatedPlanterElfTraining:pe,fertilizerElfTraining:Re,smallfireElfTraining:De,bonfireElfTraining:Ne,kilnElfTraining:Te,paperElfTraining:Ce,boxElfTraining:ye,clothElfTraining:he};Qe.on("update",()=>{for(const le of Object.values(xe)){const j=Math.floor(le.amountOfTimesDone.value);j>=1&&(le.amountOfTimesDone.value-=j,le.exp.value=a.mul(le.elfXPGainComputed.value,j).add(le.exp.value))}});const st=B(()=>o(I,null,[C.value.name,c("'s milestones: "),C.value.disp()])),Oe=Ir({training:()=>({tab:nn(()=>({display:B(()=>o(I,null,[Tl(H,Pe,K,$e),o(fe,null,null),st()]))})),display:"Elf Training"}),info:()=>({tab:nn(()=>({display:B(()=>o(I,null,[c("Each elf gains experience points (XP) every time they perform their action (they don't have to buy anything though). When they get enough XP, they can level up, granting special rewards.")]))})),display:"Info"})});return{name:e,day:Aa,color:t,minWidth:700,elfTraining:xe,currentShown:E,tabs:Oe,display:B(()=>o(I,null,[void 0]))}}),z=Dt("main",function(){const e=we(1),t=f(()=>(+new Date(new Date().getFullYear(),11,e.value)-Y.time)/1e3),l=G(!1),n=G(-1),i=G(""),s=G();function d(m){const y=we(!1),h=we(!1);return kt(()=>{const b=m(),g=gt(b.shouldNotify),_=gt(()=>r(g)||r(h));return{...b,opened:y,shouldNotify:_,recentlyUpdated:h,[zt]:os,[el]:function(){const{day:S,layer:x,symbol:V,opened:E,shouldNotify:C,story:P,completedStory:L,recentlyUpdated:ue}=this;return{day:S,symbol:V,layer:x,opened:E,recentlyUpdated:ue,shouldNotify:C,onOpenLore(){var pe,Re;const H=z.day.value>S;n.value=H?S-1:-1;const Ee=r((Re=(pe=Ct[x!=null?x:"trees"])==null?void 0:pe.name)!=null?Re:"");i.value=H?`${Ee} - Completed!`:Ee,s.value=H?`${P}
${L}`:P,l.value=!0},onOpenLayer(){if(ue.value=!1,window.matchMedia("(min-width: 1468px)").matches)if(Y.tabs.includes(x!=null?x:"trees")){const H=Y.tabs.lastIndexOf(x!=null?x:"trees");Y.tabs.splice(H,1)}else Y.tabs.push(x!=null?x:"trees"),z.minimized.value=!0;else Y.tabs.splice(1,1/0,x!=null?x:"trees")},onUnlockLayer(){x&&(E.value=!0,setTimeout(()=>{var H,Ee;n.value=-1,i.value=r((Ee=(H=Ct[x!=null?x:"trees"])==null?void 0:H.name)!=null?Ee:""),s.value=P,Y.devSpeed=null,l.value=!0},1e3))}}}}})}const u=[d(()=>({day:1,shouldNotify:!1,layer:"trees",symbol:Rn,story:"Oh no! Santa forgot about Christmas and it's only 25 days away! He's asked for your help due to your history getting large quantities of things in short amounts of time. Unfortunately you're really starting from scratch here - let's start with getting wood, which you'll need for everything from building workshops to wrapping paper to many of the toys themselves!",completedStory:"Santa looks at all the wood you've gathered and tells you you've done well! He says you should take the rest of the day off so you're refreshed for tomorrow's work. Good Job!"})),d(()=>({day:2,shouldNotify:!1,layer:"workshop",symbol:On,story:"Santa looked over your tree farm and was impressed with how much you could accomplish in just one day. Today's goal is to get a workshop built up for the elves to work in - and apparently, they need quite a lot of space to work!",completedStory:"The workshop complete, Santa once again dismisses you for the day. With a strong foundation, this workshop should suffice for supporting future work toward this impossible mission. Good Job!"})),d(()=>({day:3,shouldNotify:!1,layer:"coal",symbol:$n,story:"Santa tells you that unfortunately there are quite a few naughty children out there this year, and he's going to need you to gather as much coal as you can for him to give out.",completedStory:"Santa looks at all the coal you've gathered and tells you you've done well! He says you should take the rest of the day off so you're refreshed for tomorrow's work. Good Job!"})),d(()=>({day:4,shouldNotify:!1,layer:"elves",symbol:Qn,story:"Alright, it seems you finally have enough things set up to start bringing in the elves! Unfortunately, it seems they'll need to be retrained on how to help, since they've stopped practicing for 11 months!",completedStory:"The workshop now hums with the bustling elves working on everything. They can take it from here - you deserve a break after such a long day! Good Job!"})),d(()=>({day:5,shouldNotify:!1,layer:"paper",symbol:Gn,story:"With the elves trained, we're almost ready to start working on these presents! Just a couple more pre-reqs first, starting with turning all this wood into wood pulp and finally into paper, which will be required for wrapping paper later on but in the meantime can be used to help write guides which will help these elves continue their education!",completedStory:"You look upon your rivers of book pulp as you hand out stacks of papers to elves to read through. You've continued getting closer and closer to preparing for Christmas, and can go to bed satisfied with your progress. Good Job!"})),d(()=>({day:6,shouldNotify:!1,layer:"boxes",symbol:qn,story:"You watch all these elves carrying incredibly large loads just in their open elf-sized hands, and realize there's probably a better way. You need to put the toys in boxes anyways, so why don't we get started working on those so the workers can take advantage as well?",completedStory:"Wow, those boxes are really convenient! The workshop feels more and more proper with every day. You tick another requirement on your list and start looking towards tomorrow. Good Job!"})),d(()=>({day:7,shouldNotify:!1,layer:"metal",symbol:Vn,story:"You woke up ready to make some toys, before realizing most toys these days are made out of more than just wood! You're sure you're close to really getting to work, but there's a few more materials you're going to need - like metal! Lots of things need metal!",completedStory:"The sounds of drills and metal clanging join the already loud din as yet another piece of the puzzle fits into place. You're making solid progress, Good Job!"})),d(()=>({day:8,shouldNotify:!1,layer:"cloth",symbol:Hn,story:"Another resource you're going to need for gifts is cloth! Fortunately you think this should be pretty easy to prepare using a sheep farm - and as you've already proven with the tree farm, that's something you can handle!",completedStory:"You fall into a pile of wool, sighing contentedly as you look at all the progress you've made today. Good Job!"})),d(()=>({day:9,shouldNotify:!1,layer:"oil",symbol:Ln,story:"Looks like you just need one more thing before the toy factory can start running: plastic! Every toy nowadays is made with plastic! But wait, how are you going to get plastic? What can make plastic? Wait that's right, oil! You figured out you might as well repurpose your coal and ore drills into something that can get you oil, but unfortunately you'll need to mine much deeper that you're currently doing, so let's get to work!",completedStory:"It took a while, but you finally got enough oil for the next step! You deserve a good rest after all this digging work - tomorrow will be a busy day! Good Job!"})),d(()=>({day:10,shouldNotify:!1,layer:"plastic",symbol:jn,story:"Now that plenty of oil has been prepared, it's time to start refining it into plastic! This should be incredibly useful not only for toys, but making tools and other items!",completedStory:"You've started refining massive amounts of oil into slightly less massive amounts of plastic. You have a slight pang of regret thinking of the environmental impact, but ultimately decide Christmas is worth it. Good Job!"})),d(()=>({day:11,shouldNotify:!1,layer:"dyes",symbol:Wn,story:"To make toys, we're going to need some color to make them look nice and enticing! We can't just give kids clear toys after all! To add some color to our toys, we'll need some dyes!",completedStory:"After all that effort, you finally have a rainbow of dyes to choose from! Now the children won't be able to resist the toys you have to offer, once you get them made of course..."})),d(()=>({day:12,shouldNotify:!1,layer:"management",symbol:Ar,story:"You watch as the elves work, and you realize that they could probably be trained to help out better. Just then, Santa comes over to check on your progress. You reply that you're doing fine, except that the elves may need a bit of behavior management. Santa offers to help, saying that he doesn't want to leave you to do everything. Unfortunately for you, the behavior problems won't fix themselves, so let's get to work!",completedStory:""})),d(()=>({day:13,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:14,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:15,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:16,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:17,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:18,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:19,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:20,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:21,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:22,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:23,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),d(()=>({day:24,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""}))];function p(){n.value=e.value-1,i.value="Day Complete!",s.value=u[e.value-1].completedStory,l.value=!0,e.value++,z.minimized.value=!1,Y.devSpeed=0}return{name:"Calendar",days:u,day:e,timeUntilNewDay:t,loreScene:n,loreTitle:i,loreBody:s,showLoreModal:l,completeDay:p,minWidth:700,display:B(()=>o(I,null,[Y.devSpeed===0?o("div",null,[c("Game Paused")]):null,Y.devSpeed&&Y.devSpeed!==1?o("div",null,[c("Dev Speed: "),Z(Y.devSpeed),c("x")]):null,Y.offlineTime?o("div",null,[c("Offline Time: "),ra(Y.offlineTime)]):null,o(fe,null,null),o("div",{class:"advent"},[u.reduce((m,y)=>(m[m.length-1].length===4&&m.push([]),m[m.length-1].push(y),m),[[]]).map(m=>Ve(...m))])]))}}),Tr=e=>[z,_e,Et,O,be,J,yt,At,bt,ze,Je,at,Pr],Ra=f(()=>!1);function Fr(e,t){t.offlineProd=!1}var Ur=Object.freeze(Object.defineProperty({__proto__:null,main:z,getInitialLayers:Tr,hasWon:Ra,fixOldSave:Fr},Symbol.toStringTag,{value:"Module"}));const Rr={class:"scene"},Or=["src"],$r=["src"],Qr=["src"],Gr=["src"],qr=["src"],Vr=["src"],Hr=["src"],Lr={key:7,class:"scene-bubble",style:{left:"50%",bottom:"38%"}},jr=["src"],Wr=["src"],Kr=["src"],zr=["src"],Jr=oe({__name:"Scene",props:{day:null},setup(e){return(t,l)=>(w(),D("div",Rr,[e.day>=7?(w(),D("img",{key:0,src:r(Hn),class:"scene-item",style:{left:"4%",bottom:"3%",width:"40px",height:"40px"}},null,8,Or)):U("",!0),e.day>=0?(w(),D("img",{key:1,src:r(Rn),class:"scene-item",style:{left:"10%",bottom:"10%"}},null,8,$r)):U("",!0),e.day>=1?(w(),D("img",{key:2,src:r(On),class:"scene-item",style:{left:"40%",bottom:"12%"}},null,8,Qr)):U("",!0),e.day>=2?(w(),D("img",{key:3,src:r($n),class:"scene-item",style:{left:"65%",bottom:"12%",width:"40px",height:"40px"}},null,8,Gr)):U("",!0),e.day>=6?(w(),D("img",{key:4,src:r(Vn),class:"scene-item",style:{left:"72%",bottom:"8%",width:"40px",height:"40px"}},null,8,qr)):U("",!0),e.day>=8?(w(),D("img",{key:5,src:r(Ln),class:"scene-item",style:{left:"80%",bottom:"6%"}},null,8,Vr)):U("",!0),e.day>=3?(w(),D("img",{key:6,src:r(Qn),class:"scene-item",style:{left:"52%",bottom:"12%"}},null,8,Hr)):U("",!0),e.day>=4?(w(),D("div",Lr,[e.day>=4?(w(),D("img",{key:0,src:r(Gn),class:"scene-item"},null,8,jr)):U("",!0),e.day>=5?(w(),D("img",{key:1,src:r(qn),class:"scene-item"},null,8,Wr)):U("",!0),e.day>=9?(w(),D("img",{key:2,src:r(jn),class:"scene-item"},null,8,Kr)):U("",!0),e.day>=10?(w(),D("img",{key:3,src:r(Wn),class:"scene-item"},null,8,zr)):U("",!0)])):U("",!0)]))}});var Yr=Ie(Jr,[["__scopeId","data-v-47b4d886"]]);const Xr=oe({components:{Context:wn},props:{index:{type:Number,required:!0},tab:{type:Function,required:!0},display:{type:Q(Object,String,Function),required:!0},minimized:{type:Object,required:!0},minWidth:{type:Q(Number,String),required:!0},name:{type:Q(String),required:!0},color:Q(String),minimizable:Q(Boolean),nodes:{type:Object,required:!0}},setup(e){const{display:t,index:l,minimized:n,minWidth:i,tab:s}=ot(e),d=Pl(t),u=f(()=>Ue.allowGoBack&&l.value>0&&!n.value);function p(){Y.tabs.splice(r(e.index),1)}Sl(()=>y(n.value,r(i.value))),Wt([n,Go(i)],([h,b])=>y(h,b));function m(h){e.nodes.value=h}function y(h,b){const g=typeof b=="number"||Number.isNaN(parseInt(b))?b+"px":b,_=s.value();_!=null&&(h?(_.style.flexGrow="0",_.style.flexShrink="0",_.style.width="60px",_.style.minWidth=_.style.flexBasis="",_.style.margin="0"):(_.style.flexGrow="",_.style.flexShrink="",_.style.width="",_.style.minWidth=_.style.flexBasis=g,_.style.margin=""))}return{component:d,showGoBack:u,updateNodes:m,unref:r,goBack:p}}});function Zr(e,t,l,n,i,s){const d=Zt("Context");return w(),D("div",{class:"layer-container",style:et({"--layer-color":e.unref(e.color)})},[e.showGoBack?(w(),D("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...u)=>e.goBack&&e.goBack(...u))},"\u274C")):U("",!0),e.minimized.value?(w(),D("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=u=>e.minimized.value=!1)},[v("div",null,Ae(e.unref(e.name)),1)])):(w(),D("div",{key:2,class:Ye(["layer-tab",{showGoBack:e.showGoBack}])},[o(d,{onUpdateNodes:e.updateNodes},{default:ne(()=>[(w(),X(Le(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(w(),D("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=u=>e.minimized.value=!0)}," \u25BC ")):U("",!0)],4)}var eu=Ie(Xr,[["render",Zr],["__scopeId","data-v-0158bec3"]]);const zn=e=>(nl("data-v-4b4bda40"),e=e(),il(),e),tu=zn(()=>v("h2",null,"Changelog",-1)),lu=zn(()=>v("details",{open:""},[v("summary",null,[c("v0.0 Initial Commit - "),v("time",null,"2021-09-04")]),c(" This is the first release :D "),v("ul",null,[v("li",{class:"feature"},"Did everything"),v("li",{class:"fix"},"Had some fun"),v("li",{class:"breaking"},"Removed everything"),v("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),au=oe({__name:"Changelog",setup(e,{expose:t}){const l=G(!1);return t({open(){l.value=!0}}),(n,i)=>(w(),X(wt,{modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=s=>l.value=s)},{header:ne(()=>[tu]),body:ne(()=>[lu]),_:1},8,["modelValue"]))}});var nu=Ie(au,[["__scopeId","data-v-4b4bda40"]]),iu=oe({props:{element:Object,display:{type:Q(Object,String,Function),required:!0},style:Q(Object,String,Array),classes:Q(Object),direction:Q(String),xoffset:Q(String),yoffset:Q(String),pinned:Object},setup(e){const{element:t,display:l,pinned:n}=ot(e),i=G(!1),s=f(()=>(tt(n)||i.value)&&d.value),d=vl(l),u=Ft(Be(B(()=>{const y=tt(t);return y==null?"":Lt(y)})));function p(y){const h=n;y.shiftKey&&h&&(h.value=!h.value,y.stopPropagation(),y.preventDefault())}const m=f(()=>tt(n)&&El[Ze.theme].showPin);return{Direction:Se,isHovered:i,isShown:s,comp:d,elementComp:u,unref:r,togglePinned:p,showPin:m}}});const ou={key:0,class:"material-icons pinned"};function su(e,t,l,n,i,s){return w(),D("div",{class:Ye(["tooltip-container",{shown:e.isShown}]),onMouseenter:t[0]||(t[0]=d=>e.isHovered=!0),onMouseleave:t[1]||(t[1]=d=>e.isHovered=!1),onClickCapture:t[2]||(t[2]=(...d)=>e.togglePinned&&e.togglePinned(...d))},[Vt(e.$slots,"default",{},void 0,!0),e.elementComp?(w(),X(Le(e.elementComp),{key:0})):U("",!0),o(oa,{name:"fade"},{default:ne(()=>{var d;return[e.isShown?(w(),D("div",{key:0,class:Ye(["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:et([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(d=e.unref(e.style))!=null?d:{}])},[e.showPin?(w(),D("span",ou,"push_pin")):U("",!0),e.comp?(w(),X(Le(e.comp),{key:1})):U("",!0)],6)):U("",!0)]}),_:1})],34)}var ut=Ie(iu,[["render",su],["__scopeId","data-v-6102fa3a"]]);const ru={class:"info-modal-header"},uu=["src","alt"],du={class:"info-modal-title"},cu={key:0},pu=c(" - "),mu={key:0},gu={key:0},fu=v("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1),vu=v("br",null,null,-1),hu=v("br",null,null,-1),yu=["href"],bu=v("span",{class:"material-icons info-modal-discord"},"discord",-1),wu=v("div",null,[v("a",{href:"https://discord.gg/WzejVAx",class:"info-modal-discord-link",target:"_blank"},[v("span",{class:"material-icons info-modal-discord"},"discord"),c(" The Paper Pilot Community ")])],-1),Au=v("div",null,[v("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link",target:"_blank"},[v("span",{class:"material-icons info-modal-discord"},"discord"),c(" The Modding Tree ")])],-1),Cu=v("br",null,null,-1);var ku=oe({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const l=e,{title:n,logo:i,author:s,discordName:d,discordLink:u,versionNumber:p,versionTitle:m}=Ue,y=ot(l),h=G(!1),b=f(()=>ra(Y.timePlayed)),g=f(()=>Be(B(()=>o(I,null,[In.map(ie)]))));t({open(){h.value=!0}});function _(){var S;(S=r(y.changelog))==null||S.open()}return(S,x)=>(w(),X(wt,{class:"info-modal",modelValue:h.value,"onUpdate:modelValue":x[0]||(x[0]=V=>h.value=V)},{header:ne(()=>[v("div",ru,[r(i)?(w(),D("img",{key:0,class:"info-modal-logo",src:r(i),alt:r(n)},null,8,uu)):U("",!0),v("div",du,[v("h2",null,"- "+Ae(r(n))+" -",1),v("h4",null,[c(" - v"+Ae(r(p)),1),r(m)?(w(),D("span",cu,": "+Ae(r(m)),1)):U("",!0),pu])])])]),body:ne(({shown:V})=>[V?(w(),D("div",mu,[r(s)?(w(),D("div",gu,"By "+Ae(r(s)),1)):U("",!0),fu,vu,v("div",{class:"link",onClick:_},"Changelog"),hu,v("div",null,[r(u)?(w(),D("a",{key:0,href:r(u),class:"info-modal-discord-link",target:"_blank"},[bu,c(" "+Ae(r(d)),1)],8,yu)):U("",!0)]),wu,Au,Cu,v("div",null,"Time Played: "+Ae(r(b)),1),(w(),X(Le(r(g))))])):U("",!0)]),_:1},8,["modelValue"]))}});const Jn=e=>(nl("data-v-0d685451"),e=e(),il(),e),_u=Jn(()=>v("h2",null,"Options",-1)),Su=Jn(()=>v("hr",null,null,-1));var Eu=oe({__name:"Options",setup(e,{expose:t}){const l=G(!1);t({open(){l.value=!0}});const n=Object.keys(El).map(g=>({label:yn(g),value:g})),i=f(()=>Be(B(()=>o(I,null,[Nn.map(ie)])))),{showTPS:s,theme:d}=ot(Ze),{autosave:u,usingLog:p}=ot(Y),m=f({get(){return Y.devSpeed===0},set(g){Y.devSpeed=g?0:null}}),y=B(()=>o("span",null,[c("Autosave"),o(ut,{display:"Save-specific"},{default:()=>[c("*")]})])),h=B(()=>o("span",null,[c("Pause game"),o(ut,{display:"Save-specific"},{default:()=>[c("*")]})])),b=B(()=>o("span",null,[c("Use log for progress bar"),o(ut,{display:"Save-specific"},{default:()=>[c("*")]})]));return(g,_)=>(w(),X(wt,{modelValue:l.value,"onUpdate:modelValue":_[5]||(_[5]=S=>l.value=S)},{header:ne(()=>[_u]),body:ne(()=>[o(Ua,{title:"Theme",options:r(n),modelValue:r(d),"onUpdate:modelValue":_[0]||(_[0]=S=>dt(d)?d.value=S:null)},null,8,["options","modelValue"]),(w(),X(Le(r(i)))),o(al,{title:"Show TPS",modelValue:r(s),"onUpdate:modelValue":_[1]||(_[1]=S=>dt(s)?s.value=S:null)},null,8,["modelValue"]),Su,o(al,{title:r(y),modelValue:r(u),"onUpdate:modelValue":_[2]||(_[2]=S=>dt(u)?u.value=S:null)},null,8,["title","modelValue"]),r(Ue).enablePausing?(w(),X(al,{key:0,title:r(h),modelValue:r(m),"onUpdate:modelValue":_[3]||(_[3]=S=>dt(m)?m.value=S:null)},null,8,["title","modelValue"])):U("",!0),o(al,{title:r(b),modelValue:r(p),"onUpdate:modelValue":_[4]||(_[4]=S=>dt(p)?p.value=S:null)},null,8,["title","modelValue"])]),_:1},8,["modelValue"]))}});var Bu=Ie(Eu,[["__scopeId","data-v-0d685451"]]);const Nu=["onSubmit"],Iu={class:"field"},Mu={key:0,class:"field-title"},Du=["placeholder"],xu=oe({__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 l=e,n=vl(Kt(l,"title"),"span"),i=Ft(null);na(()=>{var p;(p=i.value)==null||p.focus()});const s=f({get(){return r(l.modelValue)||""},set(p){t("update:modelValue",p)}});function d(){t("submit")}function u(){l.submitOnBlur!==!1?t("submit"):t("cancel")}return(p,m)=>(w(),D("form",{onSubmit:$l(d,["prevent"])},[v("div",Iu,[r(n)?(w(),D("span",Mu,[(w(),X(Le(r(n))))])):U("",!0),e.textArea?(w(),X(r(fi),{key:1,modelValue:r(s),"onUpdate:modelValue":m[0]||(m[0]=y=>dt(s)?s.value=y:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:u,ref_key:"field",ref:i},null,8,["modelValue","placeholder","maxHeight"])):ia((w(),D("input",{key:2,type:"text","onUpdate:modelValue":m[1]||(m[1]=y=>dt(s)?s.value=y:null),placeholder:e.placeholder,class:Ye({fullWidth:!e.title}),onBlur:u,ref_key:"field",ref:i},null,42,Du)),[[ui,r(s)]])])],40,Nu))}});var Yn=Ie(xu,[["__scopeId","data-v-67b44a54"]]);const Pu={key:0},Tu=["onClick","disabled"],Fu={key:0},Uu=["onClick"],Ru=oe({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const n=ot(e),i=G(!1);Wt(i,u=>{t("confirmingChanged",u)});function s(){if(r(n.skipConfirm)){t("click");return}i.value&&t("click"),i.value=!i.value}function d(){i.value=!1}return(u,p)=>(w(),D("span",{class:Ye(["container",{confirming:i.value}])},[i.value?(w(),D("span",Pu,"Are you sure?")):U("",!0),v("button",{onClick:$l(s,["stop"]),class:"button danger",disabled:e.disabled},[i.value?(w(),D("span",Fu,"Yes")):Vt(u.$slots,"default",{key:1},void 0,!0)],8,Tu),i.value?(w(),D("button",{key:1,class:"button",onClick:$l(d,["stop"])},"No",8,Uu)):U("",!0)],2))}});var Ou=Ie(Ru,[["__scopeId","data-v-2f8ef34c"]]);const $u=["onClick"],Qu=oe({__name:"FeedbackButton",props:{left:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const l=G(!1),n=G(null);function i(){t("click"),n.value&&clearTimeout(n.value),l.value=!1,Sl(()=>{l.value=!0,n.value=setTimeout(()=>l.value=!1,500)})}return(s,d)=>(w(),D("button",{onClick:$l(i,["stop"]),class:Ye(["feedback",{activated:l.value,left:e.left}])},[Vt(s.$slots,"default",{},void 0,!0)],10,$u))}});var Gu=Ie(Qu,[["__scopeId","data-v-01a1b95c"]]);const rl=e=>(nl("data-v-5285ac49"),e=e(),il(),e),qu=rl(()=>v("div",{class:"handle material-icons"},"drag_handle",-1)),Vu={key:0,class:"actions"},Hu=rl(()=>v("span",{class:"material-icons"},"content_paste",-1)),Lu=rl(()=>v("span",{class:"material-icons"},"content_copy",-1)),ju=rl(()=>v("span",{class:"material-icons"},"edit",-1)),Wu=rl(()=>v("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),Ku={key:1,class:"actions"},zu=rl(()=>v("span",{class:"material-icons"},"check",-1)),Ju=rl(()=>v("span",{class:"material-icons"},"close",-1)),Yu={key:2,class:"details"},Xu={class:"save-version"},Zu=rl(()=>v("br",null,null,-1)),ed={key:0},td={key:1},ld={key:3,class:"details"},ad={key:4,class:"details error"},nd=rl(()=>v("br",null,null,-1)),id=oe({__name:"Save",props:{save:null},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const l=e,{save:n}=ot(l),i=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),s=G(!1),d=G(!1),u=G("");Wt(s,()=>u.value=n.value.name||"");const p=f(()=>n.value&&n.value.id===Y.id),m=f(()=>p.value?Y.time:n.value&&n.value.time||0),y=Pl(f(()=>{var b,g,_,S;return`Day ${(S=(_=(g=(b=n.value)==null?void 0:b.layers)==null?void 0:g.main)==null?void 0:_.day)!=null?S:1}`}));function h(){t("editName",u.value),s.value=!1}return(b,g)=>(w(),D("div",{class:Ye(["save",{active:r(p)}])},[qu,s.value?(w(),D("div",Ku,[v("button",{onClick:h,class:"button"},[o(ut,{display:"Save",direction:r(Se).Left,class:"info"},{default:ne(()=>[zu]),_:1},8,["direction"])]),v("button",{onClick:g[5]||(g[5]=_=>s.value=!s.value),class:"button"},[o(ut,{display:"Cancel",direction:r(Se).Left,class:"info"},{default:ne(()=>[Ju]),_:1},8,["direction"])])])):(w(),D("div",Vu,[r(n).error==null&&!d.value?(w(),X(Gu,{key:0,onClick:g[0]||(g[0]=_=>t("export")),class:"button",left:""},{default:ne(()=>[o(ut,{display:"Export",direction:r(Se).Left,class:"info"},{default:ne(()=>[Hu]),_:1},8,["direction"])]),_:1})):U("",!0),r(n).error==null&&!d.value?(w(),D("button",{key:1,onClick:g[1]||(g[1]=_=>t("duplicate")),class:"button"},[o(ut,{display:"Duplicate",direction:r(Se).Left,class:"info"},{default:ne(()=>[Lu]),_:1},8,["direction"])])):U("",!0),r(n).error==null&&!d.value?(w(),D("button",{key:2,onClick:g[2]||(g[2]=_=>s.value=!s.value),class:"button"},[o(ut,{display:"Edit Name",direction:r(Se).Left,class:"info"},{default:ne(()=>[ju]),_:1},8,["direction"])])):U("",!0),o(Ou,{disabled:r(p),onClick:g[3]||(g[3]=_=>t("delete")),onConfirmingChanged:g[4]||(g[4]=_=>d.value=_)},{default:ne(()=>[o(ut,{display:"Delete",direction:r(Se).Left,class:"info"},{default:ne(()=>[Wu]),_:1},8,["direction"])]),_:1},8,["disabled"])])),r(n).error==null&&!s.value?(w(),D("div",Yu,[v("button",{class:"button open",onClick:g[6]||(g[6]=_=>t("open"))},[v("h3",null,Ae(r(n).name),1)]),v("span",Xu,"v"+Ae(r(n).modVersion),1),Zu,r(m)?(w(),D("div",ed,"Last played "+Ae(r(i).format(r(m))),1)):U("",!0),r(y)?(w(),D("div",td,[(w(),X(Le(r(y))))])):U("",!0)])):r(n).error==null&&s.value?(w(),D("div",ld,[o(Yn,{modelValue:u.value,"onUpdate:modelValue":g[7]||(g[7]=_=>u.value=_),class:"editname",onSubmit:h},null,8,["modelValue"])])):(w(),D("div",ad,[c(" Error: Failed to load save with id "+Ae(r(n).id),1),nd,c(Ae(r(n).error),1)]))],2))}});var od=Ie(id,[["__scopeId","data-v-5285ac49"]]);const Oa=e=>(nl("data-v-3b9991aa"),e=e(),il(),e),sd=Oa(()=>v("h2",null,"Saves Manager",-1)),rd={class:"modal-footer"},ud={class:"field"},dd=Oa(()=>v("span",{class:"field-title"},"Create Save",-1)),cd={class:"field-buttons"},pd={class:"footer"},md=Oa(()=>v("div",{style:{"flex-grow":"1"}},null,-1)),gd=oe({__name:"SavesManager",setup(e,{expose:t}){const l=G(!1),n=G(null);t({open(){l.value=!0}});const i=G(!1),s=G(""),d=G(null);Wt(s,E=>{E?Sl(()=>{try{if(E[0]!=="{")if(E[0]==="e")E=decodeURIComponent(escape(atob(E)));else if(E[0]==="\u1BE1")E=pl.decompressFromUTF16(E);else{console.warn("Unable to determine preset encoding",E),i.value=!0;return}const C=JSON.parse(E);if(typeof C!="object"){i.value=!0;return}const P=Xl();C.id=P,Gt(C),s.value="",i.value=!1,Ze.saves.push(P)}catch{i.value=!0}}):i.value=!1});let u={},p=G(Object.keys(u).reduce((E,C)=>(E.push({label:C.split("/").slice(-1)[0].slice(0,-4),value:u[C]}),E),[]));const m=sa({});function y(E){if(m[E]==null){let C=localStorage.getItem(E);if(C==null)m[E]={error:"Save doesn't exist in localStorage",id:E};else if(C==="dW5kZWZpbmVk")m[E]={error:"Save is undefined",id:E};else try{if(C[0]!=="{")if(C[0]==="e")C=decodeURIComponent(escape(atob(C)));else if(C[0]==="\u1BE1")C=pl.decompressFromUTF16(C);else return console.warn("Unable to determine preset encoding",C),i.value=!0,m[E]={error:"Unable to determine preset encoding",id:E},m[E];m[E]={...JSON.parse(C),id:E}}catch(P){m[E]={error:P,id:E},console.warn(`SavesManager: Failed to load info about save with id ${E}: -${P} -${C}`)}}return m[E]}Wt(l,E=>{E&&Object.keys(m).forEach(C=>delete m[C])});const h=f(()=>Ze.saves.reduce((E,C)=>(E[C]=y(C),E),{}));function b(E){let C;switch(Y.id===E?C=Sn(Y[lt]):C=JSON.stringify(h.value[E]),Ue.exportEncoding){default:console.warn(`Unknown save encoding: ${Ue.exportEncoding}. Defaulting to lz`);case"lz":C=pl.compressToUTF16(C);break;case"base64":C=btoa(unescape(encodeURIComponent(C)));break;case"plain":break}const P=document.createElement("textarea");P.value=C,document.body.appendChild(P),P.select(),P.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(P)}function g(E){Y.id===E&&Gt();const C={...h.value[E],id:Xl()};Gt(C),Ze.saves.push(C.id)}function _(E){Ze.saves=Ze.saves.filter(C=>C!==E),localStorage.removeItem(E),m[E]=void 0}function S(E){h.value[Y.id].time=Y.time,Gt(),m[Y.id]=void 0,_l(h.value[E]),m[E]=void 0}function x(E){if(d.value=E,Sl(()=>{d.value=null}),E[0]!=="{")if(E[0]==="e")E=decodeURIComponent(escape(atob(E)));else if(E[0]==="\u1BE1")E=pl.decompressFromUTF16(E);else{console.warn("Unable to determine preset encoding",E);return}const C=JSON.parse(E);C.id=Xl(),Gt(C),Ze.saves.push(C.id),S(C.id)}function V(E,C){const P=h.value[E];P&&(P.name=C,Y.id===E?(Y.name=C,Gt()):(Gt(P),m[E]=void 0))}return(E,C)=>(w(),X(wt,{modelValue:l.value,"onUpdate:modelValue":C[4]||(C[4]=P=>l.value=P),ref_key:"modal",ref:n},{header:ne(()=>[sd]),body:ne(({shown:P})=>[P?(w(),X(r(gi),{key:0,list:r(Ze).saves,handle:".handle",itemKey:L=>L},{item:ne(({element:L})=>[o(od,{save:r(h)[L],onOpen:ue=>S(L),onExport:ue=>b(L),onEditName:ue=>V(L,ue),onDuplicate:ue=>g(L),onDelete:ue=>_(L)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):U("",!0)]),footer:ne(()=>[v("div",rd,[o(Yn,{modelValue:s.value,"onUpdate:modelValue":C[0]||(C[0]=P=>s.value=P),title:"Import Save",placeholder:"Paste your save here!",class:Ye({importingFailed:i.value})},null,8,["modelValue","class"]),v("div",ud,[dd,v("div",cd,[v("button",{class:"button",onClick:C[1]||(C[1]=P=>S(r(Ml)().id))},"New Game"),Object.keys(r(p)).length>0?(w(),X(Ua,{key:0,options:r(p),modelValue:d.value,"onUpdate:modelValue":C[2]||(C[2]=P=>x(P)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):U("",!0)])]),v("div",pd,[md,v("button",{class:"button modal-default-button",onClick:C[3]||(C[3]=P=>l.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var Xn=Ie(gd,[["__scopeId","data-v-3b9991aa"]]);const Ut=e=>(nl("data-v-8495e562"),e=e(),il(),e),fd=["src","alt"],vd={key:1,class:"title"},hd=Ut(()=>v("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),yd={class:"discord"},bd={class:"discord-links"},wd={key:0},Ad=["href"],Cd=Ut(()=>v("li",null,[v("a",{href:"https://discord.gg/WzejVAx",target:"_blank"},"The Paper Pilot Community")],-1)),kd=Ut(()=>v("li",null,[v("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),_d={href:"https://forums.moddingtree.com/",target:"_blank"},Sd=Ut(()=>v("span",{class:"material-icons"},"forum",-1)),Ed=Ut(()=>v("span",{class:"material-icons"},"info",-1)),Bd=Ut(()=>v("span",{class:"material-icons"},"library_books",-1)),Nd=Ut(()=>v("span",{class:"material-icons"},"settings",-1)),Id=Ut(()=>v("span",{class:"material-icons"},"library_books",-1)),Md=Ut(()=>v("span",{class:"material-icons"},"settings",-1)),Dd=Ut(()=>v("span",{class:"material-icons"},"info",-1)),xd={href:"https://forums.moddingtree.com/",target:"_blank"},Pd=Ut(()=>v("span",{class:"material-icons"},"forum",-1)),Td={class:"discord"},Fd={class:"discord-links"},Ud={key:0},Rd=["href"],Od=Ut(()=>v("li",null,[v("a",{href:"https://discord.gg/WzejVAx",target:"_blank"},"The Paper Pilot Community")],-1)),$d=Ut(()=>v("li",null,[v("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),Qd=oe({__name:"Nav",setup(e){const t=G(null),l=G(null),n=G(null),i=G(null),{useHeader:s,banner:d,title:u,discordName:p,discordLink:m,versionNumber:y}=Ue;function h(){window.open(m,"mywindow")}return(b,g)=>(w(),D(I,null,[r(s)?(w(),D("div",fl({key:0,class:"nav"},b.$attrs),[r(d)?(w(),D("img",{key:0,src:r(d),class:"banner",alt:r(u)},null,8,fd)):(w(),D("div",vd,Ae(r(u)),1)),v("div",{onClick:g[0]||(g[0]=_=>{var S;return(S=i.value)==null?void 0:S.open()}),class:"version-container"},[o(ut,{display:"Changelog",direction:r(Se).Down,class:"version"},{default:ne(()=>[v("span",null,"v"+Ae(r(y)),1)]),_:1},8,["direction"])]),hd,v("div",yd,[v("span",{onClick:h,class:"material-icons"},"discord"),v("ul",bd,[r(m)?(w(),D("li",wd,[v("a",{href:r(m),target:"_blank"},Ae(r(p)),9,Ad)])):U("",!0),Cd,kd])]),v("div",null,[v("a",_d,[o(ut,{display:"Forums",direction:r(Se).Down,yoffset:"5px"},{default:ne(()=>[Sd]),_:1},8,["direction"])])]),v("div",{onClick:g[1]||(g[1]=_=>{var S;return(S=t.value)==null?void 0:S.open()})},[o(ut,{display:"Info",direction:r(Se).Down,class:"info"},{default:ne(()=>[Ed]),_:1},8,["direction"])]),v("div",{onClick:g[2]||(g[2]=_=>{var S;return(S=l.value)==null?void 0:S.open()})},[o(ut,{display:"Saves",direction:r(Se).Down,xoffset:"-20px"},{default:ne(()=>[Bd]),_:1},8,["direction"])]),v("div",{onClick:g[3]||(g[3]=_=>{var S;return(S=n.value)==null?void 0:S.open()})},[o(ut,{display:"Options",direction:r(Se).Down,xoffset:"-66px"},{default:ne(()=>[Nd]),_:1},8,["direction"])])],16)):(w(),D("div",fl({key:1,class:"overlay-nav"},b.$attrs),[v("div",{onClick:g[4]||(g[4]=_=>{var S;return(S=i.value)==null?void 0:S.open()}),class:"version-container"},[o(ut,{display:"Changelog",direction:r(Se).Right,xoffset:"25%",class:"version"},{default:ne(()=>[v("span",null,"v"+Ae(r(y)),1)]),_:1},8,["direction"])]),v("div",{onClick:g[5]||(g[5]=_=>{var S;return(S=l.value)==null?void 0:S.open()})},[o(ut,{display:"Saves",direction:r(Se).Right},{default:ne(()=>[Id]),_:1},8,["direction"])]),v("div",{onClick:g[6]||(g[6]=_=>{var S;return(S=n.value)==null?void 0:S.open()})},[o(ut,{display:"Options",direction:r(Se).Right},{default:ne(()=>[Md]),_:1},8,["direction"])]),v("div",{onClick:g[7]||(g[7]=_=>{var S;return(S=t.value)==null?void 0:S.open()})},[o(ut,{display:"Info",direction:r(Se).Right},{default:ne(()=>[Dd]),_:1},8,["direction"])]),v("div",null,[v("a",xd,[o(ut,{display:"Forums",direction:r(Se).Right,xoffset:"7px"},{default:ne(()=>[Pd]),_:1},8,["direction"])])]),v("div",Td,[v("span",{onClick:h,class:"material-icons"},"discord"),v("ul",Fd,[r(m)?(w(),D("li",Ud,[v("a",{href:r(m),target:"_blank"},Ae(r(p)),9,Rd)])):U("",!0),Od,$d])])],16)),o(ku,{ref_key:"info",ref:t,changelog:i.value},null,8,["changelog"]),o(Xn,{ref_key:"savesManager",ref:l},null,512),o(Bu,{ref_key:"options",ref:n},null,512),o(nu,{ref_key:"changelog",ref:i},null,512)],64))}});var Zn=Ie(Qd,[["__scopeId","data-v-8495e562"]]);const $a=e=>(nl("data-v-248e2ebb"),e=e(),il(),e),Gd={class:"inner-tab"},qd={key:1},Vd=$a(()=>v("br",null,null,-1)),Hd=c(" You can help continue the "),Ld=$a(()=>v("i",null,"advent",-1)),jd=c("ure at: "),Wd=$a(()=>v("a",{href:"https://discord.gg/WzejVAx",class:"info-modal-discord-link",target:"_blank"},[v("span",{class:"material-icons info-modal-discord"},"discord"),c(" The Paper Pilot Community ")],-1)),Kd=oe({__name:"Game",setup(e){const t=Kt(Y,"tabs"),l=f(()=>Object.keys(Ct)),n=Ue.useHeader,i=vl(z.loreBody);function s(d){const{display:u,minimized:p,minWidth:m,name:y,color:h,minimizable:b,nodes:g}=d;return{display:u,minimized:p,minWidth:m,name:y,color:h,minimizable:b,nodes:g}}return(d,u)=>(w(),D("div",{class:Ye(["tabs-container",{useHeader:r(n)}])},[(w(!0),D(I,null,_a(r(t),(p,m)=>{var y,h;return w(),D("div",{key:m,class:Ye(["tab",r((y=r(Ct)[p])==null?void 0:y.classes)]),ref_for:!0,ref:`tab-${m}`,style:et(r((h=r(Ct)[p])==null?void 0:h.style))},[m===0&&!r(n)?(w(),X(Zn,{key:0})):U("",!0),v("div",Gd,[r(l).includes(p)?(w(),X(eu,fl({key:0},s(r(Ct)[p]),{index:m,tab:()=>{var b;return(b=d.$refs[`tab-${m}`])==null?void 0:b[0]}}),null,16,["index","tab"])):(w(),X(Le(p),{key:1,index:m},null,8,["index"]))])],6)}),128)),o(wt,{modelValue:r(z).showLoreModal.value,"onUpdate:modelValue":u[0]||(u[0]=p=>r(z).showLoreModal.value=p)},{header:ne(()=>[v("h2",null,Ae(r(z).loreTitle.value),1)]),body:ne(()=>[r(i)?(w(),X(Le(r(i)),{key:0})):U("",!0),r(z).loreScene.value!==-1?(w(),D("div",qd,[o(Yr,{day:r(z).loreScene.value},null,8,["day"]),Vd,Hd,Ld,jd,Wd])):U("",!0)]),_:1},8,["modelValue"])],2))}});var zd=Ie(Kd,[["__scopeId","data-v-248e2ebb"]]);const Wl=e=>(nl("data-v-4a50ce42"),e=e(),il(),e),Jd={class:"game-over-modal-header"},Yd=["src","alt"],Xd={class:"game-over-modal-title"},Zd=Wl(()=>v("h2",null,"Congratulations!",-1)),ec={key:0},tc=Wl(()=>v("br",null,null,-1)),lc=Wl(()=>v("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),ac=Wl(()=>v("br",null,null,-1)),nc=["href"],ic=Wl(()=>v("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),oc=oe({__name:"GameOverScreen",setup(e){const{title:t,logo:l,discordName:n,discordLink:i,versionNumber:s,versionTitle:d}=Ue,u=f(()=>ra(Y.timePlayed)),p=f(()=>Ra.value&&!Y.keepGoing),m=Kt(Y,"autosave");function y(){Y.keepGoing=!0}function h(){_l(Ml())}return(b,g)=>(w(),X(wt,{"model-value":r(p)},{header:ne(()=>[v("div",Jd,[r(l)?(w(),D("img",{key:0,class:"game-over-modal-logo",src:r(l),alt:r(t)},null,8,Yd)):U("",!0),v("div",Xd,[Zd,v("h4",null,"You've beaten "+Ae(r(t))+" v"+Ae(r(s))+": "+Ae(r(d)),1)])])]),body:ne(({shown:_})=>[_?(w(),D("div",ec,[v("div",null,"It took you "+Ae(r(u))+" to beat the game.",1),tc,lc,ac,v("div",null,[v("a",{href:r(i),class:"game-over-modal-discord-link"},[ic,c(" "+Ae(r(n)),1)],8,nc)]),o(al,{title:"Autosave",modelValue:r(m),"onUpdate:modelValue":g[0]||(g[0]=S=>dt(m)?m.value=S:null)},null,8,["modelValue"])])):U("",!0)]),footer:ne(()=>[v("div",{class:"game-over-footer"},[v("button",{onClick:y,class:"button"},"Keep Going"),v("button",{onClick:h,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var sc=Ie(oc,[["__scopeId","data-v-4a50ce42"]]);const pa=e=>(nl("data-v-3de07c06"),e=e(),il(),e),rc=pa(()=>v("div",{class:"nan-modal-header"},[v("h2",null,"NaN value detected!")],-1)),uc={key:0},dc=pa(()=>v("br",null,null,-1)),cc=["href"],pc=pa(()=>v("span",{class:"material-icons nan-modal-discord"},"discord",-1)),mc=pa(()=>v("br",null,null,-1)),gc={class:"nan-footer"},fc=oe({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:l}=Ue,n=Kt(Y,"autosave"),i=Kt(nt,"hasNaN"),s=G(null),d=f(()=>{var g;return(g=nt.NaNPath)==null?void 0:g.join(".")}),u=f(()=>{var g;return(g=nt.NaNPath)==null?void 0:g.slice(-1)[0]}),p=f(()=>nt.NaNReceiver&&u.value?nt.NaNReceiver[u.value]:null),m=f({get(){return Y.devSpeed===0},set(g){Y.devSpeed=g?null:0}});function y(){nt.NaNReceiver&&u.value&&(nt.NaNReceiver[u.value]=new a(0),nt.hasNaN=!1)}function h(){nt.NaNReceiver&&u.value&&(nt.NaNReceiver[u.value]=new a(1),nt.hasNaN=!1)}function b(){nt.NaNReceiver&&u.value&&(nt.NaNReceiver[u.value]=new a(NaN),nt.hasNaN=!1)}return(g,_)=>(w(),D(I,null,[o(wt,fl({modelValue:r(i),"onUpdate:modelValue":_[4]||(_[4]=S=>dt(i)?i.value=S:null)},g.$attrs),{header:ne(()=>[rc]),body:ne(()=>[v("div",null,[c(' Attempted to assign "'+Ae(r(d))+'" to NaN',1),r(p)?(w(),D("span",uc,Ae(" ")+"(previously "+Ae(r(Z)(r(p)))+")",1)):U("",!0),c(". Auto-saving has been "+Ae(r(n)?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),dc,v("div",null,[v("a",{href:r(l),class:"nan-modal-discord-link"},[pc,c(" "+Ae(r(t)),1)],8,cc)]),mc,o(al,{title:"Autosave",modelValue:r(n),"onUpdate:modelValue":_[0]||(_[0]=S=>dt(n)?n.value=S:null)},null,8,["modelValue"]),r(Ue).enablePausing?(w(),X(al,{key:0,title:"Pause game",modelValue:r(m),"onUpdate:modelValue":_[1]||(_[1]=S=>dt(m)?m.value=S:null)},null,8,["modelValue"])):U("",!0)]),footer:ne(()=>[v("div",gc,[v("button",{onClick:_[2]||(_[2]=S=>{var x;return(x=s.value)==null?void 0:x.open()}),class:"button"},"Open Saves Manager"),v("button",{onClick:y,class:"button"},"Set to 0"),v("button",{onClick:h,class:"button"},"Set to 1"),r(p)&&r(a).neq(r(p),0)&&r(a).neq(r(p),1)?(w(),D("button",{key:0,onClick:_[3]||(_[3]=S=>i.value=!1),class:"button"}," Set to previous ")):U("",!0),v("button",{onClick:b,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),o(Xn,{ref_key:"savesManager",ref:s},null,512)],64))}});var vc=Ie(fc,[["__scopeId","data-v-3de07c06"]]);const hc={key:0,class:"tpsDisplay"},yc={key:0,class:"low"},bc=oe({__name:"TPS",setup(e){const t=f(()=>a.div(nt.lastTenTicks.length,nt.lastTenTicks.reduce((s,d)=>s+d,0))),l=G([]);Mt(()=>{l.value.push(Math.round(t.value.toNumber())),l.value.length>10&&(l.value=l.value.slice(1))});const n=f(()=>l.value.reduce((s,d)=>a.max(s,d),0)),i=f(()=>a.sub(t.value,n.value).gt(1));return(s,d)=>r(t).isNan()?U("",!0):(w(),D("div",hc,[c(" TPS: "+Ae(r(ee)(r(t)))+" ",1),o(oa,{name:"fade"},{default:ne(()=>[r(i)?(w(),D("span",yc,Ae(r(ee)(r(n))),1)):U("",!0)]),_:1})]))}});var wc=Ie(bc,[["__scopeId","data-v-46a3ed5b"]]);var Ac=oe({__name:"App",setup(e){const t=Ue.useHeader,l=f(()=>El[Ze.theme].variables),n=Kt(Ze,"showTPS"),i=f(()=>Be(B(()=>o(I,null,[Uo.map(ie)]))));return(s,d)=>(w(),D(I,null,[v("div",{id:"modal-root",style:et(r(l))},null,4),v("div",{class:Ye(["app",{useHeader:r(t)}]),style:et(r(l))},[r(t)?(w(),X(Zn,{key:0})):U("",!0),o(zd),r(r(n))?(w(),X(wc,{key:1})):U("",!0),o(sc),o(vc),(w(),X(Le(r(i))))],6)],64))}});var Cc=Ie(Ac,[["__scopeId","data-v-580927bb"]]);function kc(e={}){const{immediate:t=!1,onNeedRefresh:l,onOfflineReady:n,onRegistered:i,onRegisterError:s}=e;let d,u;const p=async(m=!0)=>{m&&(d==null||d.addEventListener("controlling",y=>{y.isUpdate&&window.location.reload()})),u&&u.waiting&&await hi(u.waiting,{type:"SKIP_WAITING"})};if("serviceWorker"in navigator){d=new vi("./sw.js",{scope:"./",type:"classic"}),d.addEventListener("activated",m=>{m.isUpdate||n==null||n()});{const m=()=>{l==null||l()};d.addEventListener("waiting",m),d.addEventListener("externalwaiting",m)}d.register({immediate:t}).then(m=>{u=m,i==null||i(m)}).catch(m=>{s==null||s(m)})}return p}function _c(e={}){const{immediate:t=!0,onNeedRefresh:l,onOfflineReady:n,onRegistered:i,onRegisterError:s}=e,d=G(!1),u=G(!1);return{updateServiceWorker:kc({immediate:t,onNeedRefresh(){d.value=!0,l==null||l()},onOfflineReady(){u.value=!0,n==null||n()},onRegistered:i,onRegisterError:s}),offlineReady:u,needRefresh:d}}document.title=Ue.title;window.projInfo=Ue;if(Ue.id==="")throw"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 Do();const{globalBus:e}=await ea(()=>Promise.resolve().then(function(){return go}),void 0),{startGameLoop:t}=await ea(()=>import("./gameLoop.75f55d3b.js"),["assets/gameLoop.75f55d3b.js","assets/@fontsource.c175eac8.css","assets/vue.92681fcb.js","assets/lz-string.731cedc5.js","assets/@vue.4ce677c2.js","assets/nanoevents.1080beb7.js","assets/is-plain-object.906d88e8.js","assets/vue-next-select.a2bfab1d.js","assets/vue-next-select.9e6f4164.css","assets/vue-toastification.6f567382.js","assets/vue-toastification.4b5f8ac8.css","assets/vuedraggable.7949458c.js","assets/sortablejs.29100d8a.js","assets/vue-textarea-autosize.35804eaf.js","assets/workbox-window.8d14e8b7.js"]),l=window.vue=di(Cc);e.emit("setupVue",l),l.mount("#app"),Sl(()=>{const n=un(),{updateServiceWorker:i}=_c({onNeedRefresh(){n.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(){n.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(s){s&&setInterval(()=>s.update(),60*60*1e3)}})}),t()});export{a as D,ea as _,nt as a,Ue as b,Ur as c,Qe as g,xa as l,Y as p,Ze as s}; diff --git a/assets/index.e090fffb.js b/assets/index.e090fffb.js new file mode 100644 index 0000000..798ab42 --- /dev/null +++ b/assets/index.e090fffb.js @@ -0,0 +1,19 @@ +/* empty css */import"./vue.92681fcb.js";import{Z as v,l as ft,aa as ce,t as j,ay as ia,ar as Sl,aE as w,a0 as D,aK as Vt,a1 as f,O as B,aG as Xl,A as ct,_ as ae,a8 as i,b6 as ue,b8 as sa,bs as rn,C as u,aq as fl,bu as Gl,bb as ra,T as oo,a7 as d,u as ua,j as io,bv as _a,q as Ll,b1 as Wt,G as Ye,aC as un,w as Ut,b2 as Pt,ao as so,I as nt,J as ke,$ as O,aH as il,aF as sl,z as Kt,aN as Ke,al as ta,aL as el,H as ro,aJ as Ea,bn as uo,br as co,be as po}from"./@vue.4ce677c2.js";import{c as dn}from"./nanoevents.1080beb7.js";import{L as ml}from"./lz-string.731cedc5.js";import{i as mo}from"./is-plain-object.906d88e8.js";import{Y as go}from"./vue-next-select.a2bfab1d.js";import{s as vo,u as cn}from"./vue-toastification.6f567382.js";import{D as fo}from"./vuedraggable.7949458c.js";import{p as ho}from"./vue-textarea-autosize.35804eaf.js";import{v as yo,n as bo}from"./workbox-window.8d14e8b7.js";import"./sortablejs.29100d8a.js";const wo=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const c of s.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function l(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerpolicy&&(s.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?s.credentials="include":o.crossorigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(o){if(o.ep)return;o.ep=!0;const s=l(o);fetch(o.href,s)}};wo();const Ao="modulepreload",ja={},Co="./",la=function(t,l){return!l||l.length===0?t():Promise.all(l.map(n=>{if(n=`${Co}${n}`,n in ja)return;ja[n]=!0;const o=n.endsWith(".css"),s=o?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${n}"]${s}`))return;const c=document.createElement("link");if(c.rel=o?"stylesheet":Ao,o||(c.as="script",c.crossOrigin=""),c.href=n,document.head.appendChild(c),o)return new Promise((r,p)=>{c.addEventListener("load",r),c.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t())},ko="./projInfo-schema.json",_o="Advent Incremental",So="An incremental game you play a day at a time, leading up to Christmas!",Eo="advent-incremental",Bo="thepaperpilot and friends",No="",Io="",Mo="0.3",Do="Initial Commit",xo=!0,Po=!1,To=2,Fo=!0,Uo=null,Ro="",Oo=["main"],Go=3600,$o=0,Qo=!0,qo="base64";var Qe={$schema:ko,title:_o,description:So,id:Eo,author:Bo,discordName:No,discordLink:Io,versionNumber:Mo,versionTitle:Do,allowGoBack:xo,defaultShowSmall:Po,defaultDecimalsShown:To,useHeader:Fo,banner:Uo,logo:Ro,initialTabs:Oo,maxTickLength:Go,offlineLimit:$o,enablePausing:Qo,exportEncoding:qo};const ya=17,Vo=9e15,Ho=Math.log10(9e15),Lo=1/9e15,jo=308,Wo=-324,Wa=5,Ko=function(){const e=[];for(let l=Wo+1;l<=jo;l++)e.push(Number("1e"+l));const t=323;return function(l){return e[l+t]}}(),Cl=[2,Math.E,3,4,5,6,7,8,9,10],zo=[[1,1.0891168053867777,1.1789745164521264,1.2701428397304229,1.3632066654400328,1.4587804913784246,1.557523817412741,1.660158301473385,1.767487542936873,1.8804205225512542,2],[1,1.1121114330934,1.23103892493161,1.35838369631113,1.49605193039935,1.64635423375119,1.81213853570186,1.99697132461829,2.20538955455724,2.44325744833852,Math.E],[1,1.1187738849693603,1.2464963939368214,1.38527004705667,1.5376664685821402,1.7068895236551784,1.897001227148399,2.1132403089001035,2.362480153784171,2.6539010333870774,3],[1,1.1367350847096405,1.2889510672956703,1.4606478703324786,1.6570295196661111,1.8850062585672889,2.1539465047453485,2.476829779693097,2.872061932789197,3.3664204535587183,4],[1,1.1494592900767588,1.319708228183931,1.5166291280087583,1.748171114438024,2.0253263297298045,2.3636668498288547,2.7858359149579424,3.3257226212448145,4.035730287722532,5],[1,1.159225940787673,1.343712473580932,1.5611293155111927,1.8221199554561318,2.14183924486326,2.542468319282638,3.0574682501653316,3.7390572020926873,4.6719550537360774,6],[1,1.1670905356972596,1.3632807444991446,1.5979222279405536,1.8842640123816674,2.2416069644878687,2.69893426559423,3.3012632110403577,4.121250340630164,5.281493033448316,7],[1,1.1736630594087796,1.379783782386201,1.6292821855668218,1.9378971836180754,2.3289975651071977,2.8384347394720835,3.5232708454565906,4.478242031114584,5.868592169644505,8],[1,1.1793017514670474,1.394054150657457,1.65664127441059,1.985170999970283,2.4069682290577457,2.9647310119960752,3.7278665320924946,4.814462547283592,6.436522247411611,9],[1,1.18422737399915,1.4066113788546144,1.680911177655277,2.027492094355525,2.4775152854601967,3.080455730250329,3.918234505962507,5.1332705696484595,6.9878696918072905,10]],Jo=[[-1,-.9194161097107025,-.8335625019330468,-.7425599821143978,-.6466611521029437,-.5462617907227869,-.4419033816638769,-.3342645487554494,-.224140440909962,-.11241087890006762,0],[-1,-.90603157029014,-.80786507256596,-.7064666939634,-.60294836853664,-.49849837513117,-.39430303318768,-.29147201034755,-.19097820800866,-.09361896280296,0],[-1,-.9021579584316141,-.8005762598234203,-.6964780623319391,-.5911906810998454,-.486050182576545,-.3823089430815083,-.28106046722897615,-.1831906535795894,-.08935809204418144,0],[-1,-.8917227442365535,-.781258746326964,-.6705130326902455,-.5612813129406509,-.4551067709033134,-.35319256652135966,-.2563741554088552,-.1651412821106526,-.0796919581982668,0],[-1,-.8843387974366064,-.7678744063886243,-.6529563724510552,-.5415870994657841,-.4352842206588936,-.33504449124791424,-.24138853420685147,-.15445285440944467,-.07409659641336663,0],[-1,-.8786709358426346,-.7577735191184886,-.6399546189952064,-.527284921869926,-.4211627631006314,-.3223479611761232,-.23107655627789858,-.1472057700818259,-.07035171210706326,0],[-1,-.8740862815291583,-.7497032990976209,-.6297119746181752,-.5161838335958787,-.41036238255751956,-.31277212146489963,-.2233976621705518,-.1418697367979619,-.06762117662323441,0],[-1,-.8702632331800649,-.7430366914122081,-.6213373075161548,-.5072025698095242,-.40171437727184167,-.30517930701410456,-.21736343968190863,-.137710238299109,-.06550774483471955,0],[-1,-.8670016295947213,-.7373984232432306,-.6143173985094293,-.49973884395492807,-.394584953527678,-.2989649949848695,-.21245647317021688,-.13434688362382652,-.0638072667348083,0],[-1,-.8641642839543857,-.732534623168535,-.6083127477059322,-.4934049257184696,-.3885773075899922,-.29376029055315767,-.2083678561173622,-.13155653399373268,-.062401588652553186,0]],A=function(t){return a.fromValue_noAlloc(t)},me=function(e,t,l){return a.fromComponents(e,t,l)},Se=function(t,l,n){return a.fromComponents_noNormalize(t,l,n)},pl=function(t,l){const n=l+1,o=Math.ceil(Math.log10(Math.abs(t))),s=Math.round(t*Math.pow(10,n-o))*Math.pow(10,o-n);return parseFloat(s.toFixed(Math.max(n-o,0)))},ba=function(e){return Math.sign(e)*Math.log10(Math.abs(e))},Xo=function(e){if(!isFinite(e))return e;if(e<-50)return e===Math.trunc(e)?Number.NEGATIVE_INFINITY:0;let t=1;for(;e<10;)t=t*e,++e;e-=1;let l=.9189385332046727;l=l+(e+.5)*Math.log(e),l=l-e;const n=e*e;let o=e;return l=l+1/(12*o),o=o*n,l=l+1/(360*o),o=o*n,l=l+1/(1260*o),o=o*n,l=l+1/(1680*o),o=o*n,l=l+1/(1188*o),o=o*n,l=l+691/(360360*o),o=o*n,l=l+7/(1092*o),o=o*n,l=l+3617/(122400*o),Math.exp(l)/t},pn=.5671432904097838,Ka=function(e,t=1e-10){let l,n;if(!Number.isFinite(e)||e===0)return e;if(e===1)return pn;e<10?l=0:l=Math.log(e)-Math.log(Math.log(e));for(let o=0;o<100;++o){if(n=(e*Math.exp(-l)+l*l)/(l+1),Math.abs(n-l).5?1:-1;if(Math.random()*20<1)return Se(t,0,1);const l=Math.floor(Math.random()*(e+1));let n=l===0?Math.random()*616-308:Math.random()*16;Math.random()>.9&&(n=Math.trunc(n));let o=Math.pow(10,n);return Math.random()>.9&&(o=Math.trunc(o)),me(t,l,o)}static affordGeometricSeries_core(e,t,l,n){const o=t.mul(l.pow(n));return N.floor(e.div(o).mul(l.sub(1)).add(1).log10().div(l.log10()))}static sumGeometricSeries_core(e,t,l,n){return t.mul(l.pow(n)).mul(N.sub(1,l.pow(e))).div(N.sub(1,l))}static affordArithmeticSeries_core(e,t,l,n){const s=t.add(n.mul(l)).sub(l.div(2)),c=s.pow(2);return s.neg().add(c.add(l.mul(e).mul(2)).sqrt()).div(l).floor()}static sumArithmeticSeries_core(e,t,l,n){const o=t.add(n.mul(l));return e.div(2).mul(o.mul(2).plus(e.sub(1).mul(l)))}static efficiencyOfPurchase_core(e,t,l){return e.div(t).add(e.div(l))}normalize(){if(this.sign===0||this.mag===0&&this.layer===0)return this.sign=0,this.mag=0,this.layer=0,this;if(this.layer===0&&this.mag<0&&(this.mag=-this.mag,this.sign=-this.sign),this.layer===0&&this.mag=Vo)return this.layer+=1,this.mag=t*Math.log10(e),this;for(;e0;)this.layer-=1,this.layer===0?this.mag=Math.pow(10,this.mag):(this.mag=t*Math.pow(10,e),e=Math.abs(this.mag),t=Math.sign(this.mag));return this.layer===0&&(this.mag<0?(this.mag=-this.mag,this.sign=-this.sign):this.mag===0&&(this.sign=0)),this}fromComponents(e,t,l){return this.sign=e,this.layer=t,this.mag=l,this.normalize(),this}fromComponents_noNormalize(e,t,l){return this.sign=e,this.layer=t,this.mag=l,this}fromMantissaExponent(e,t){return this.layer=1,this.sign=Math.sign(e),e=Math.abs(e),this.mag=t+Math.log10(e),this.normalize(),this}fromMantissaExponent_noNormalize(e,t){return this.fromMantissaExponent(e,t),this}fromDecimal(e){return this.sign=e.sign,this.layer=e.layer,this.mag=e.mag,this}fromNumber(e){return this.mag=Math.abs(e),this.sign=Math.sign(e),this.layer=0,this.normalize(),this}fromString(e){e=e.replace(",","");const t=e.split("^^^");if(t.length===2){const b=parseFloat(t[0]),g=parseFloat(t[1]),_=t[1].split(";");let S=1;if(_.length===2&&(S=parseFloat(_[1]),isFinite(S)||(S=1)),isFinite(b)&&isFinite(g)){const x=N.pentate(b,g,S);return this.sign=x.sign,this.layer=x.layer,this.mag=x.mag,this}}const l=e.split("^^");if(l.length===2){const b=parseFloat(l[0]),g=parseFloat(l[1]),_=l[1].split(";");let S=1;if(_.length===2&&(S=parseFloat(_[1]),isFinite(S)||(S=1)),isFinite(b)&&isFinite(g)){const x=N.tetrate(b,g,S);return this.sign=x.sign,this.layer=x.layer,this.mag=x.mag,this}}const n=e.split("^");if(n.length===2){const b=parseFloat(n[0]),g=parseFloat(n[1]);if(isFinite(b)&&isFinite(g)){const _=N.pow(b,g);return this.sign=_.sign,this.layer=_.layer,this.mag=_.mag,this}}e=e.trim().toLowerCase();let o,s,c=e.split("pt");if(c.length===2){o=10,s=parseFloat(c[0]),c[1]=c[1].replace("(",""),c[1]=c[1].replace(")","");let b=parseFloat(c[1]);if(isFinite(b)||(b=1),isFinite(o)&&isFinite(s)){const g=N.tetrate(o,s,b);return this.sign=g.sign,this.layer=g.layer,this.mag=g.mag,this}}if(c=e.split("p"),c.length===2){o=10,s=parseFloat(c[0]),c[1]=c[1].replace("(",""),c[1]=c[1].replace(")","");let b=parseFloat(c[1]);if(isFinite(b)||(b=1),isFinite(o)&&isFinite(s)){const g=N.tetrate(o,s,b);return this.sign=g.sign,this.layer=g.layer,this.mag=g.mag,this}}const r=e.split("e"),p=r.length-1;if(p===0){const b=parseFloat(e);if(isFinite(b))return this.fromNumber(b)}else if(p===1){const b=parseFloat(e);if(isFinite(b)&&b!==0)return this.fromNumber(b)}const m=e.split("e^");if(m.length===2){this.sign=1,m[0].charAt(0)=="-"&&(this.sign=-1);let b="";for(let g=0;g=43&&_<=57||_===101)b+=m[1].charAt(g);else return this.layer=parseFloat(b),this.mag=parseFloat(m[1].substr(g+1)),this.normalize(),this}}if(p<1)return this.sign=0,this.layer=0,this.mag=0,this;const y=parseFloat(r[0]);if(y===0)return this.sign=0,this.layer=0,this.mag=0,this;let h=parseFloat(r[r.length-1]);if(p>=2){const b=parseFloat(r[r.length-2]);isFinite(b)&&(h*=Math.sign(b),h+=ba(b))}if(!isFinite(y))this.sign=r[0]==="-"?-1:1,this.layer=p,this.mag=h;else if(p===1)this.sign=Math.sign(y),this.layer=1,this.mag=h+Math.log10(Math.abs(y));else if(this.sign=Math.sign(y),this.layer=p,p===2){const b=N.mul(me(1,2,h),A(y));return this.sign=b.sign,this.layer=b.layer,this.mag=b.mag,this}else this.mag=h;return this.normalize(),this}fromValue(e){return e instanceof N||e!=null&&typeof e=="object"&&"sign"in e&&"mag"in e&&"layer"in e?this.fromDecimal(e):typeof e=="number"?this.fromNumber(e):typeof e=="string"?this.fromString(e):(this.sign=0,this.layer=0,this.mag=0,this)}toNumber(){return Number.isFinite(this.layer)?this.layer===0?this.sign*this.mag:this.layer===1?this.sign*Math.pow(10,this.mag):this.mag>0?this.sign>0?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:0:Number.NaN}mantissaWithDecimalPlaces(e){return isNaN(this.m)?Number.NaN:this.m===0?0:pl(this.m,e)}magnitudeWithDecimalPlaces(e){return isNaN(this.mag)?Number.NaN:this.mag===0?0:pl(this.mag,e)}toString(){return isNaN(this.layer)||isNaN(this.sign)||isNaN(this.mag)?"NaN":this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY?this.sign===1?"Infinity":"-Infinity":this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toString():this.m+"e"+this.e:this.layer===1?this.m+"e"+this.e:this.layer<=Wa?(this.sign===-1?"-":"")+"e".repeat(this.layer)+this.mag:(this.sign===-1?"-":"")+"(e^"+this.layer+")"+this.mag}toExponential(e){return this.layer===0?(this.sign*this.mag).toExponential(e):this.toStringWithDecimalPlaces(e)}toFixed(e){return this.layer===0?(this.sign*this.mag).toFixed(e):this.toStringWithDecimalPlaces(e)}toPrecision(e){return this.e<=-7?this.toExponential(e-1):e>this.e?this.toFixed(e-this.exponent-1):this.toExponential(e-1)}valueOf(){return this.toString()}toJSON(){return this.toString()}toStringWithDecimalPlaces(e){return this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toFixed(e):pl(this.m,e)+"e"+pl(this.e,e):this.layer===1?pl(this.m,e)+"e"+pl(this.e,e):this.layer<=Wa?(this.sign===-1?"-":"")+"e".repeat(this.layer)+pl(this.mag,e):(this.sign===-1?"-":"")+"(e^"+this.layer+")"+pl(this.mag,e)}abs(){return Se(this.sign===0?0:1,this.layer,this.mag)}neg(){return Se(-this.sign,this.layer,this.mag)}negate(){return this.neg()}negated(){return this.neg()}sgn(){return this.sign}round(){return this.mag<0?N.dZero:this.layer===0?me(this.sign,0,Math.round(this.mag)):this}floor(){return this.mag<0?N.dZero:this.layer===0?me(this.sign,0,Math.floor(this.mag)):this}ceil(){return this.mag<0?N.dZero:this.layer===0?me(this.sign,0,Math.ceil(this.mag)):this}trunc(){return this.mag<0?N.dZero:this.layer===0?me(this.sign,0,Math.trunc(this.mag)):this}add(e){const t=A(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer)||this.sign===0)return t;if(t.sign===0)return this;if(this.sign===-t.sign&&this.layer===t.layer&&this.mag===t.mag)return Se(0,0,0);let l,n;if(this.layer>=2||t.layer>=2)return this.maxabs(t);if(N.cmpabs(this,t)>0?(l=this,n=t):(l=t,n=this),l.layer===0&&n.layer===0)return A(l.sign*l.mag+n.sign*n.mag);const o=l.layer*Math.sign(l.mag),s=n.layer*Math.sign(n.mag);if(o-s>=2)return l;if(o===0&&s===-1){if(Math.abs(n.mag-Math.log10(l.mag))>ya)return l;{const c=Math.pow(10,Math.log10(l.mag)-n.mag),r=n.sign+l.sign*c;return me(Math.sign(r),1,n.mag+Math.log10(Math.abs(r)))}}if(o===1&&s===0){if(Math.abs(l.mag-Math.log10(n.mag))>ya)return l;{const c=Math.pow(10,l.mag-Math.log10(n.mag)),r=n.sign+l.sign*c;return me(Math.sign(r),1,Math.log10(n.mag)+Math.log10(Math.abs(r)))}}if(Math.abs(l.mag-n.mag)>ya)return l;{const c=Math.pow(10,l.mag-n.mag),r=n.sign+l.sign*c;return me(Math.sign(r),1,n.mag+Math.log10(Math.abs(r)))}}plus(e){return this.add(e)}sub(e){return this.add(A(e).neg())}subtract(e){return this.sub(e)}minus(e){return this.sub(e)}mul(e){const t=A(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer))return t;if(this.sign===0||t.sign===0)return Se(0,0,0);if(this.layer===t.layer&&this.mag===-t.mag)return Se(this.sign*t.sign,0,1);let l,n;if(this.layer>t.layer||this.layer==t.layer&&Math.abs(this.mag)>Math.abs(t.mag)?(l=this,n=t):(l=t,n=this),l.layer===0&&n.layer===0)return A(l.sign*n.sign*l.mag*n.mag);if(l.layer>=3||l.layer-n.layer>=2)return me(l.sign*n.sign,l.layer,l.mag);if(l.layer===1&&n.layer===0)return me(l.sign*n.sign,1,l.mag+Math.log10(n.mag));if(l.layer===1&&n.layer===1)return me(l.sign*n.sign,1,l.mag+n.mag);if(l.layer===2&&n.layer===1){const o=me(Math.sign(l.mag),l.layer-1,Math.abs(l.mag)).add(me(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)));return me(l.sign*n.sign,o.layer+1,o.sign*o.mag)}if(l.layer===2&&n.layer===2){const o=me(Math.sign(l.mag),l.layer-1,Math.abs(l.mag)).add(me(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)));return me(l.sign*n.sign,o.layer+1,o.sign*o.mag)}throw Error("Bad arguments to mul: "+this+", "+e)}multiply(e){return this.mul(e)}times(e){return this.mul(e)}div(e){const t=A(e);return this.mul(t.recip())}divide(e){return this.div(e)}divideBy(e){return this.div(e)}dividedBy(e){return this.div(e)}recip(){return this.mag===0?N.dNaN:this.layer===0?me(this.sign,0,1/this.mag):me(this.sign,this.layer,-this.mag)}reciprocal(){return this.recip()}reciprocate(){return this.recip()}cmp(e){const t=A(e);return this.sign>t.sign?1:this.sign0?this.layer:-this.layer,n=t.mag>0?t.layer:-t.layer;return l>n?1:lt.mag?1:this.mag0?t:this}clamp(e,t){return this.max(e).min(t)}clampMin(e){return this.max(e)}clampMax(e){return this.min(e)}cmp_tolerance(e,t){const l=A(e);return this.eq_tolerance(l,t)?0:this.cmp(l)}compare_tolerance(e,t){return this.cmp_tolerance(e,t)}eq_tolerance(e,t){const l=A(e);if(t==null&&(t=1e-7),this.sign!==l.sign||Math.abs(this.layer-l.layer)>1)return!1;let n=this.mag,o=l.mag;return this.layer>l.layer&&(o=ba(o)),this.layer0?me(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):me(1,0,Math.log10(this.mag))}log10(){return this.sign<=0?N.dNaN:this.layer>0?me(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):me(this.sign,0,Math.log10(this.mag))}log(e){return e=A(e),this.sign<=0||e.sign<=0||e.sign===1&&e.layer===0&&e.mag===1?N.dNaN:this.layer===0&&e.layer===0?me(this.sign,0,Math.log(this.mag)/Math.log(e.mag)):N.div(this.log10(),e.log10())}log2(){return this.sign<=0?N.dNaN:this.layer===0?me(this.sign,0,Math.log2(this.mag)):this.layer===1?me(Math.sign(this.mag),0,Math.abs(this.mag)*3.321928094887362):this.layer===2?me(Math.sign(this.mag),1,Math.abs(this.mag)+.5213902276543247):me(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}ln(){return this.sign<=0?N.dNaN:this.layer===0?me(this.sign,0,Math.log(this.mag)):this.layer===1?me(Math.sign(this.mag),0,Math.abs(this.mag)*2.302585092994046):this.layer===2?me(Math.sign(this.mag),1,Math.abs(this.mag)+.36221568869946325):me(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}logarithm(e){return this.log(e)}pow(e){const t=A(e),l=this,n=t;if(l.sign===0)return n.eq(0)?Se(1,0,1):l;if(l.sign===1&&l.layer===0&&l.mag===1)return l;if(n.sign===0)return Se(1,0,1);if(n.sign===1&&n.layer===0&&n.mag===1)return l;const o=l.absLog10().mul(n).pow10();return this.sign===-1?Math.abs(n.toNumber()%2)%2===1?o.neg():Math.abs(n.toNumber()%2)%2===0?o:N.dNaN:o}pow10(){if(!Number.isFinite(this.layer)||!Number.isFinite(this.mag))return N.dNaN;let e=this;if(e.layer===0){const t=Math.pow(10,e.sign*e.mag);if(Number.isFinite(t)&&Math.abs(t)>=.1)return me(1,0,t);if(e.sign===0)return N.dOne;e=Se(e.sign,e.layer+1,Math.log10(e.mag))}return e.sign>0&&e.mag>=0?me(e.sign,e.layer+1,e.mag):e.sign<0&&e.mag>=0?me(-e.sign,e.layer+1,-e.mag):N.dOne}pow_base(e){return A(e).pow(this)}root(e){const t=A(e);return this.pow(t.recip())}factorial(){return this.mag<0?this.add(1).gamma():this.layer===0?this.add(1).gamma():this.layer===1?N.exp(N.mul(this,N.ln(this).sub(1))):N.exp(this)}gamma(){if(this.mag<0)return this.recip();if(this.layer===0){if(this.lt(Se(1,0,24)))return A(Xo(this.sign*this.mag));const e=this.mag-1;let t=.9189385332046727;t=t+(e+.5)*Math.log(e),t=t-e;const l=e*e;let n=e,o=12*n,s=1/o,c=t+s;if(c===t||(t=c,n=n*l,o=360*n,s=1/o,c=t-s,c===t))return N.exp(t);t=c,n=n*l,o=1260*n;let r=1/o;return t=t+r,n=n*l,o=1680*n,r=1/o,t=t-r,N.exp(t)}else return this.layer===1?N.exp(N.mul(this,N.ln(this).sub(1))):N.exp(this)}lngamma(){return this.gamma().ln()}exp(){return this.mag<0?N.dOne:this.layer===0&&this.mag<=709.7?A(Math.exp(this.sign*this.mag)):this.layer===0?me(1,1,this.sign*Math.log10(Math.E)*this.mag):this.layer===1?me(1,2,this.sign*(Math.log10(.4342944819032518)+this.mag)):me(1,this.layer+1,this.sign*this.mag)}sqr(){return this.pow(2)}sqrt(){if(this.layer===0)return A(Math.sqrt(this.sign*this.mag));if(this.layer===1)return me(1,2,Math.log10(this.mag)-.3010299956639812);{const e=N.div(Se(this.sign,this.layer-1,this.mag),Se(1,0,2));return e.layer+=1,e.normalize(),e}}cube(){return this.pow(3)}cbrt(){return this.pow(1/3)}tetrate(e=2,t=Se(1,0,1)){if(e===1)return N.pow(this,t);if(e===0)return new N(t);if(this.eq(N.dOne))return N.dOne;if(this.eq(-1))return N.pow(this,t);if(e===Number.POSITIVE_INFINITY){const o=this.toNumber();if(o<=1.444667861009766&&o>=.06598803584531254){if(o>1.444667861009099)return new N(Math.E);const s=N.ln(this).neg();return s.lambertw().div(s)}else return o>1.444667861009766?new N(Number.POSITIVE_INFINITY):N.dNaN}if(this.eq(N.dZero)){let o=Math.abs((e+1)%2);return o>1&&(o=2-o),new N(o)}if(e<0)return N.iteratedlog(t,this,-e);t=A(t);const l=e;e=Math.trunc(e);const n=l-e;if(this.gt(N.dZero)&&this.lte(1.444667861009766)){e=Math.min(1e4,e);for(let o=0;o3)return Se(t.sign,t.layer+(e-o-1),t.mag);if(o>1e4)return t}return t}iteratedexp(e=2,t=Se(1,0,1)){return this.tetrate(e,t)}iteratedlog(e=10,t=1){if(t<0)return N.tetrate(e,-t,this);e=A(e);let l=A(this);const n=t;t=Math.trunc(t);const o=n-t;if(l.layer-e.layer>3){const s=Math.min(t,l.layer-e.layer-3);t-=s,l.layer-=s}for(let s=0;s1e4)return l}return o>0&&o<1&&(e.eq(10)?l=l.layeradd10(-o):l=l.layeradd(-o,e)),l}slog(e=10){if(e=A(e),e.lte(N.dZero)||e.eq(N.dOne))return N.dNaN;if(e.lt(N.dOne))return this.eq(N.dOne)?N.dZero:this.eq(N.dZero)?N.dNegOne:N.dNaN;if(this.mag<0||this.eq(N.dZero))return N.dNegOne;let t=0,l=A(this);if(l.layer-e.layer>3){const n=l.layer-e.layer-3;t+=n,l.layer-=n}for(let n=0;n<100;++n)if(l.lt(N.dZero))l=N.pow(e,l),t-=1;else{if(l.lte(N.dOne))return A(t+N.slog_critical(e.toNumber(),l.toNumber()));t+=1,l=N.log(l,e)}return A(t)}static slog_critical(e,t){return e>10?t-1:N.critical_section(e,t,Jo)}static tetrate_critical(e,t){return N.critical_section(e,t,zo)}static critical_section(e,t,l){t*=10,t<0&&(t=0),t>10&&(t=10),e<2&&(e=2),e>10&&(e=10);let n=0,o=0;for(let r=0;re){const p=(e-Cl[r])/(Cl[r+1]-Cl[r]);n=l[r][Math.floor(t)]*(1-p)+l[r+1][Math.floor(t)]*p,o=l[r][Math.ceil(t)]*(1-p)+l[r+1][Math.ceil(t)]*p;break}const s=t-Math.floor(t);return n*(1-s)+o*s}layeradd10(e){e=N.fromValue_noAlloc(e).toNumber();const t=A(this);if(e>=1){t.mag<0&&t.layer>0?(t.sign=0,t.mag=0,t.layer=0):t.sign===-1&&t.layer==0&&(t.sign=1,t.mag=-t.mag);const l=Math.trunc(e);e-=l,t.layer+=l}if(e<=-1){const l=Math.trunc(e);if(e-=l,t.layer+=l,t.layer<0)for(let n=0;n<100;++n){if(t.layer++,t.mag=Math.log10(t.mag),!isFinite(t.mag))return t.sign===0&&(t.sign=1),t.layer<0&&(t.layer=0),t.normalize();if(t.layer>=0)break}}for(;t.layer<0;)t.layer++,t.mag=Math.log10(t.mag);return t.sign===0&&(t.sign=1,t.mag===0&&t.layer>=1&&(t.layer-=1,t.mag=1)),t.normalize(),e!==0?t.layeradd(e,10):t}layeradd(e,t){const n=this.slog(t).toNumber()+e;return n>=0?N.tetrate(t,n):Number.isFinite(n)?n>=-1?N.log(N.tetrate(t,n+1),t):N.log(N.log(N.tetrate(t,n+2),t),t):N.dNaN}lambertw(){if(this.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");if(this.mag<0)return A(Ka(this.toNumber()));if(this.layer===0)return A(Ka(this.sign*this.mag));if(this.layer===1)return za(this);if(this.layer===2)return za(this);if(this.layer>=3)return Se(this.sign,this.layer-1,this.mag);throw"Unhandled behavior in lambertw()"}ssqrt(){if(this.sign==1&&this.layer>=3)return Se(this.sign,this.layer-1,this.mag);const e=this.ln();return e.div(e.lambertw())}pentate(e=2,t=Se(1,0,1)){t=A(t);const l=e;e=Math.trunc(e);const n=l-e;n!==0&&(t.eq(N.dOne)?(++e,t=new N(n)):this.eq(10)?t=t.layeradd10(n):t=t.layeradd(n,this));for(let o=0;o10)return t}return t}sin(){return this.mag<0?this:this.layer===0?A(Math.sin(this.sign*this.mag)):Se(0,0,0)}cos(){return this.mag<0?N.dOne:this.layer===0?A(Math.cos(this.sign*this.mag)):Se(0,0,0)}tan(){return this.mag<0?this:this.layer===0?A(Math.tan(this.sign*this.mag)):Se(0,0,0)}asin(){return this.mag<0?this:this.layer===0?A(Math.asin(this.sign*this.mag)):Se(Number.NaN,Number.NaN,Number.NaN)}acos(){return this.mag<0?A(Math.acos(this.toNumber())):this.layer===0?A(Math.acos(this.sign*this.mag)):Se(Number.NaN,Number.NaN,Number.NaN)}atan(){return this.mag<0?this:this.layer===0?A(Math.atan(this.sign*this.mag)):A(Math.atan(this.sign*(1/0)))}sinh(){return this.exp().sub(this.negate().exp()).div(2)}cosh(){return this.exp().add(this.negate().exp()).div(2)}tanh(){return this.sinh().div(this.cosh())}asinh(){return N.ln(this.add(this.sqr().add(1).sqrt()))}acosh(){return N.ln(this.add(this.sqr().sub(1).sqrt()))}atanh(){return this.abs().gte(1)?Se(Number.NaN,Number.NaN,Number.NaN):N.ln(this.add(1).div(A(1).sub(this))).div(2)}ascensionPenalty(e){return e===0?this:this.root(N.pow(10,e))}egg(){return this.add(9)}lessThanOrEqualTo(e){return this.cmp(e)<1}lessThan(e){return this.cmp(e)<0}greaterThanOrEqualTo(e){return this.cmp(e)>-1}greaterThan(e){return this.cmp(e)>0}};let a=N;a.dZero=Se(0,0,0);a.dOne=Se(1,0,1);a.dNegOne=Se(-1,0,1);a.dTwo=Se(1,0,2);a.dTen=Se(1,0,10);a.dNaN=Se(Number.NaN,Number.NaN,Number.NaN);a.dInf=Se(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);a.dNegInf=Se(-1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);a.dNumberMax=me(1,0,Number.MAX_VALUE);a.dNumberMin=me(1,0,Number.MIN_VALUE);const Yo=new a(1);function Rl(e,t,l=!0){let n=a.log10(e).floor(),o=a.div(e,a.pow(10,n));o.toStringWithDecimalPlaces(t)==="10"&&(o=Yo,n=n.add(1));const s=n.gte(1e9)?ve(n,Math.max(Math.max(t,3),Qe.defaultDecimalsShown)):n.gte(1e4)?aa(n,0):n.toStringWithDecimalPlaces(0);return l?o.toStringWithDecimalPlaces(t)+"e"+s:"e"+s}function aa(e,t){if(e==null)return"NaN";if(e=new a(e),e.mag<.001)return 0 .toFixed(t);const n=e.toStringWithDecimalPlaces(t).split(".");return n[0]=n[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),n.length==1?n[0]:n[0]+"."+n[1]}function mn(e,t){return e==null?"NaN":(e=new a(e),e.mag<1e-4?0 .toFixed(t):(e.mag<.1&&t!==0&&(t=Math.max(Math.max(t,e.log10().negate().ceil().toNumber()),Qe.defaultDecimalsShown)),e.toStringWithDecimalPlaces(t)))}const Zo=new a("eeee1000"),ei=new a("e100000"),Ja=new a("e1000"),gn=new a(1e9),ti=new a(1e6),li=new a(1e3),ai=new a(.98),ni=new a(.001),vn=new a(0);function ve(e,t,l){if(t==null&&(t=Qe.defaultDecimalsShown),l=l!=null?l:Qe.defaultShowSmall,e=new a(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag))return"NaN";if(e.sign<0)return"-"+ve(e.neg(),t);if(e.mag===Number.POSITIVE_INFINITY)return"Infinity";if(e.gte(Zo)){const n=e.slog();return n.gte(ti)?"F"+ve(n.floor()):a.pow(10,n.sub(n.floor())).toStringWithDecimalPlaces(3)+"F"+aa(n.floor(),0)}else{if(e.gte(ei))return Rl(e,0,!1);if(e.gte(Ja))return Rl(e,0);if(e.gte(gn))return Rl(e,t);if(e.gte(li))return aa(e,0);if(e.gte(ni)||!l)return mn(e,t);if(e.eq(vn))return 0 .toFixed(t)}return e=fn(e),e.lt(Ja)?Rl(e,t).replace(/([^(?:e|F)]*)$/,"-$1"):ve(e,t)+"\u207B\xB9"}function ge(e){return e=new a(e),e.sign<0?"-"+ge(e.neg()):e.gte(gn)||e.lte(ai)&&!e.eq(vn)?ve(e):ve(e,0)}function Ba(e,t){return t==null&&(t=Qe.defaultDecimalsShown),a.lt(e,0)?"-"+Ba(a.neg(e),t):a.gt(e,2**51)?ve(a.div(e,31536e3))+"y":(e=new a(e).toNumber(),e<60?ve(e)+"s":e<3600?ge(Math.floor(e/60))+"m "+ve(e%60,t)+"s":e<86400?ge(Math.floor(e/3600))+"h "+ge(Math.floor(e/60)%60)+"m "+ge(e%60)+"s":e<31536e3?ge(Math.floor(e/84600)%365)+"d "+ge(Math.floor(e/3600)%24)+"h "+ge(Math.floor(e/60)%60)+"m":ge(Math.floor(e/31536e3))+"y "+ge(Math.floor(e/84600)%365)+"d "+ge(Math.floor(e/3600)%24)+"h")}function oi(e,t,l){e=new a(e);let n=e.toStringWithDecimalPlaces(t);return new a(n).gte(l)&&(n=a.sub(l,Math.pow(.1,t)).toStringWithDecimalPlaces(t)),n}function ii(e,t){return ve(e,t,!0)}function fn(e){let t=a.log10(e).ceil();const l=a.div(e,a.pow(10,t));return t=t.neg(),e=new a(10).pow(t).times(l),e}function hn(e,t,l=a.dOne){let n=e[0][0],o=e[0][1];for(let s=1;s(e.Up="Up",e.Down="Down",e.Left="Left",e.Right="Right",e.Default="Up",e))(Be||{});const $l=Symbol("DoNotCache");function Q(e,t){const l=e[t];Sa(l)&&l.length===0&&!l[$l]?e[t]=v(l.bind(e)):Sa(l)&&(e[t]=l.bind(e),e[t][$l]=!0)}function yt(e){return Sa(e)&&!e[$l]&&(e=v(e)),e}const zt=Symbol("Component"),tl=Symbol("GatherProps");let gi=0;function yl(e="feature-"){return e+gi++}var We=(e=>(e[e.Visible=0]="Visible",e[e.Hidden=1]="Hidden",e[e.None=2]="None",e))(We||{});function E(e){return e[$l]=!0,e}function I(e,t=2){return e?0:t}function ht(e,t,l){e[t]===void 0&&l!=null&&(e[t]=l)}function An(e,...t){const l=[],n=o=>{Object.keys(o).forEach(s=>{const c=o[s];c&&typeof c=="object"&&(t.includes(c.type)?l.push(c):!(c instanceof a)&&!ft(c)&&n(c))})};return n(e),l}const kl={variables:{"--foreground":"#dfdfdf","--background":"#0f0f0f","--feature-foreground":"#0f0f0f","--tooltip-background":"rgba(0, 0, 0, 0.75)","--raised-background":"#0f0f0f","--points":"#ffffff","--locked":"#bf8f8f","--highlighted":"#333","--bought":"#77bf5f","--danger":"rgb(220, 53, 69)","--link":"#02f2f2","--outline":"#dfdfdf","--accent1":"#627a82","--accent2":"#658262","--accent3":"#7c6282","--border-radius":"15px","--modal-border":"solid 2px var(--color)","--feature-margin":"0px"},floatingTabs:!0,mergeAdjacent:!0,showPin:!0};var Na=(e=>(e.Classic="classic",e.Paper="paper",e.Nordic="nordic",e.Aqua="aqua",e))(Na||{}),Bl={classic:kl,paper:{...kl,variables:{...kl.variables,"--background":"#2a323d","--feature-foreground":"#000","--raised-background":"#333c4a","--locked":"#3a3e45","--bought":"#5C8A58","--outline":"#333c4a","--border-radius":"4px","--modal-border":"","--feature-margin":"5px"},floatingTabs:!1},nordic:{...kl,variables:{...kl.variables,"--foreground":"#D8DEE9","--background":"#2E3440","--feature-foreground":"#000","--raised-background":"#3B4252","--points":"#E5E9F0","--locked":"#4c566a","--highlighted":"#434c5e","--bought":"#8FBCBB","--danger":"#D08770","--link":"#88C0D0","--outline":"#3B4252","--accent1":"#B48EAD","--accent2":"#A3BE8C","--accent3":"#EBCB8B","--border-radius":"4px","--modal-border":"solid 2px #3B4252","--feature-margin":"5px"},floatingTabs:!1},aqua:{...kl,variables:{...kl.variables,"--foreground":"#bfdfff","--background":"#001f3f","--tooltip-background":"rgba(0, 15, 31, 0.75)","--raised-background":"#001f3f","--points":"#dfefff","--locked":"#c4a7b3","--outline":"#bfdfff"}}};const He=dn();document.fonts.onloadingdone=()=>He.emit("fontsLoaded");var vi=Object.freeze(Object.defineProperty({__proto__:null,globalBus:He},Symbol.toStringTag,{value:"Module"}));var xe=(e,t)=>{const l=e.__vccOpts||e;for(const[n,o]of t)l[n]=o;return l};const fi=ce({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var y;const l=j({}),n=new ResizeObserver(r),o=j(null);ia(()=>{const h=o.value;h!=null&&n.observe(h)});let s=!0,c=j((y=o.value)==null?void 0:y.getBoundingClientRect());function r(){s&&(s=!1,Sl(()=>{var h;c.value=(h=o.value)==null?void 0:h.getBoundingClientRect(),Object.values(l.value).filter(b=>b).forEach(b=>b.rect=b.element.getBoundingClientRect()),t("updateNodes",l.value),s=!0}))}He.on("fontsLoaded",r);const p={attributes:!1,childList:!0,subtree:!1};Xl(Ia,(h,b)=>{const g=new MutationObserver(()=>m(h));g.observe(b,p),l.value[h]={element:b,observer:g,rect:b.getBoundingClientRect()},r()}),Xl(Ma,h=>{var b;(b=l.value[h])==null||b.observer.disconnect(),l.value[h]=void 0,r()}),Xl(Da,l),Xl(xa,c);function m(h){const b=l.value[h];b!=null&&(b.rect=b.element.getBoundingClientRect(),t("updateNodes",l.value))}return(h,b)=>(w(),D(B,null,[Vt(h.$slots,"default",{},void 0,!0),f("div",{ref_key:"resizeListener",ref:o,class:"resize-listener"},null,512)],64))}});var Cn=xe(fi,[["__scopeId","data-v-2b1dc1bc"]]);const hi=["onPointerdown"],yi={class:"modal-wrapper"},bi={class:"modal-container"},wi={class:"modal-header"},Ai=d(" default header "),Ci={class:"modal-body"},ki=d(" default body "),_i={class:"modal-footer"},Si=f("div",{class:"modal-default-flex-grow"},null,-1),bt=ce({__name:"Modal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{expose:t,emit:l}){const o=ct(e),s=v(()=>o.modelValue||r.value);function c(){l("update:modelValue",!1)}const r=j(!1),p=j(null),m=v(()=>{var y,h;return(h=(y=p.value)==null?void 0:y.nodes)!=null?h:null});return t({isOpen:s,nodes:m}),(y,h)=>(w(),ae(oo,{to:"#modal-root"},[i(ra,{name:"modal",onBeforeEnter:h[0]||(h[0]=b=>r.value=!0),onAfterLeave:h[1]||(h[1]=b=>r.value=!1)},{default:ue(()=>[sa(f("div",fl({class:"modal-mask",onPointerdown:Gl(c,["self"])},y.$attrs),[f("div",yi,[f("div",bi,[f("div",wi,[Vt(y.$slots,"header",{shown:u(s)},()=>[Ai])]),f("div",Ci,[i(Cn,{ref_key:"contextRef",ref:p},{default:ue(()=>[Vt(y.$slots,"body",{shown:u(s)},()=>[ki])]),_:3},512)]),f("div",_i,[Vt(y.$slots,"footer",{shown:u(s)},()=>[f("div",{class:"modal-default-footer"},[Si,f("button",{class:"button modal-default-button",onClick:c}," Close ")])])])])])],16,hi),[[rn,e.modelValue]])]),_:3})]))}}),Ia=Symbol("RegisterNode"),Ma=Symbol("UnregisterNode"),Da=Symbol("Nodes"),xa=Symbol("Bounds"),_t=ua({});window.layers=_t;const Ml={},$t=[];function Tt(e,t){return St(()=>{const l={},n=l.emitter=dn();if(l.on=n.on.bind(n),l.emit=n.emit.bind(n),l.nodes=j({}),l.id=e,$t.push(e),Ml[e]=new Set,l.minimized=Ce(!1),Object.assign(l,t.call(l)),$t[$t.length-1]==null||$t[$t.length-1]!==e)throw`Adding layers stack in invalid state. This should not happen +Stack: ${$t} +Trying to pop ${l.id}`;return $t.pop(),Q(l,"color"),Q(l,"display"),Q(l,"name"),ht(l,"name",l.id),Q(l,"minWidth"),ht(l,"minWidth",600),Q(l,"minimizable"),ht(l,"minimizable",!0),l})}function kn(e,t){if(console.info("Adding layer",e.id),_t[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,_t[e.id]);return}ht(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),_t[e.id]=e,He.emit("addLayer",e,t.layers[e.id])}function Ei(e){return _t[e]}function _n(e){console.info("Removing layer",e.id),He.emit("removeLayer",e),_t[e.id]=void 0}function Bi(e){_n(e),kn(e,te)}function Ni(e){const t=j(!1);return{openModal:()=>t.value=!0,modal:E(()=>i(bt,{modelValue:t.value,"onUpdate:modelValue":l=>t.value=l},{header:()=>i("h2",null,[u(e.name)]),body:u(e.display)}))}}He.on("update",function(t){Object.values(_t).forEach(l=>{l==null||l.emit("preUpdate",t)}),Object.values(_t).forEach(l=>{l==null||l.emit("update",t)}),Object.values(_t).forEach(l=>{l==null||l.emit("postUpdate",t)})});var Ii=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:Ia,UnregisterNodeInjectionKey:Ma,NodesInjectionKey:Da,BoundsInjectionKey:xa,layers:_t,persistentRefs:Ml,addingLayers:$t,createLayer:Tt,addLayer:kn,getLayer:Ei,removeLayer:_n,reloadLayer:Bi,setupLayerModal:Ni},Symbol.toStringTag,{value:"Module"}));const Pa=Symbol("PersistentState"),vl=Symbol("DefaultValue"),oa=Symbol("StackTrace"),Sn=Symbol("Deleted"),Ql=Symbol("NonPersistent"),Ol=Symbol("SaveDataPath");function Mi(){var e;return((e=new Error().stack)==null?void 0:e.split(` +`).slice(3,5).map(t=>t.trim()).join(` +`))||""}function Ce(e){const t=ft(e)?e:j(e);t[Pa]=t,t[vl]=ft(e)?e.value:e,t[oa]=Mi(),t[Sn]=!1;const l=v({get(){return t.value},set(n){t.value=n}});return l[vl]=t[vl],t[Ql]=l,t[Ol]=void 0,$t.length===0?console.warn("Creating a persistent ref outside of a layer. This is not officially supported",t,` +Created at: +`+t[oa]):Ml[$t[$t.length-1]].add(t),t}function Di(e){return e&&typeof e=="object"&&Pa in e}function F(e){return e[Ql]}He.on("addLayer",(e,t)=>{const l=[],n=(o,s=[])=>{let c=!1;return Object.keys(o).forEach(r=>{let p=o[r];if(p&&typeof p=="object")if(st in p&&(p=p[st]),Di(p)){if(c=!0,p[Sn]){console.warn("Deleted persistent ref present in returned object. Ignoring...",p,` +Created at: +`+p[oa]);return}Ml[e.id].delete(p);const m=[e.id,...s,r];p[Ol]!=null&&JSON.stringify(m)!==JSON.stringify(p[Ol])&&console.error(`Persistent ref is being saved to \`${m.join(".")}\` when it's already present at \`${p[Ol].join(".")}\`. This can cause unexpected behavior when loading saves between updates.`,p),p[Ol]=m;const y=s.reduce((b,g)=>(g in b||(b[g]={}),b[g]),t),h=y[r];y[r]=p[Pa],io(y)?h!=null?y[r]=h:y[r]=p[vl]:h!=null?y[r].value=h:y[r].value=p[vl]}else!(p instanceof a)&&!ft(p)&&!l.includes(p)&&(typeof p.type=="symbol"&&l.push(p),n(p,[...s,r])&&(_a(p)&&!_a(o)?console.warn("Found array that contains persistent values when adding layer. Keep in mind changing the order of elements in the array will mess with existing player saves.",st in o?o[st]:o,r):c=!0))}),c};n(e[st]),Ml[e.id].forEach(o=>{console.error(`Created persistent ref in ${e.id} without registering it to the layer! Make sure to include everything persistent in the returned object`,o,` +Created at: +`+o[oa])}),Ml[e.id].clear()});const st=Symbol("ProxyState"),Il=Symbol("ProxyPath");function St(e,t={}){const l=t;let n=!1;function o(){return n||(Object.assign(l,e(l)),n=!0),l}return new Proxy(l,{get(s,c){if(c===st)return o();const r=o()[c];return r&&typeof r=="object"&&Ql in r?r[Ql]:r},set(s,c,r){return o()[c]=r,!0},has(s,c){return c===st?!0:Reflect.has(o(),c)},ownKeys(){return Reflect.ownKeys(o())},getOwnPropertyDescriptor(s,c){return n||(Object.assign(l,e(l)),n=!0),Object.getOwnPropertyDescriptor(s,c)}})}var ut=window.state=ua({lastTenTicks:[],hasNaN:!1,NaNPath:[]});const En=Ll({id:"",devSpeed:null,name:"",tabs:[],time:-1,autosave:!0,offlineProd:!0,offlineTime:null,timePlayed:0,keepGoing:!1,modID:"",modVersion:"",layers:{},usingLog:!1});function Bn(e){return JSON.stringify(e,(t,l)=>u(l))}const Nn={get(e,t){var n;if(t===st||t===Il)return e[t];const l=e[st][t];if(t!=="value"&&(mo(l)||Array.isArray(l))){if(l!==((n=e[t])==null?void 0:n[st])){const o=[...e[Il],t];e[t]=new Proxy({[st]:l,[Il]:o},Nn)}return e[t]}return l},set(e,t,l,n){if(!ut.hasNaN&&(typeof l=="number"&&isNaN(l)||l instanceof a&&(isNaN(l.sign)||isNaN(l.layer)||isNaN(l.mag)))){const o=e[st][t];if(!(typeof o=="number"&&isNaN(o)||o instanceof a&&(isNaN(o.sign)||isNaN(o.layer)||isNaN(o.mag))))throw En.autosave=!1,ut.hasNaN=!0,ut.NaNPath=[...e[Il],t],ut.NaNReceiver=n,console.error("Attempted to set NaN value",[...e[Il],t],e[st]),"Attempted to set NaN value. See above for details"}return e[st][t]=l,!0},ownKeys(e){return Reflect.ownKeys(e[st])},has(e,t){return Reflect.has(e[st],t)},getOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e[st],t)}};var te=window.player=new Proxy({[st]:En,[Il]:["player"]},Nn);function In(e={}){return Object.assign({id:`${Qe.id}-0`,name:"Default Save",tabs:Qe.initialTabs.slice(),time:Date.now(),autosave:!0,offlineProd:!0,offlineTime:0,timePlayed:0,keepGoing:!1,modID:Qe.id,modVersion:Qe.versionNumber,layers:{}},e)}function Qt(e){const t=ml.compressToUTF16(Bn(e!=null?e:te[st]));return localStorage.setItem((e!=null?e:te[st]).id,t),t}async function xi(){Ti();try{let e=localStorage.getItem(et.active);if(e==null){await _l(Dl());return}if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=ml.decompressFromUTF16(e);else throw"Unable to determine save encoding";const t=JSON.parse(e);if(t.modID!==Qe.id){await _l(Dl());return}t.id=et.active,await _l(t)}catch(e){console.error(`Failed to load save. Falling back to new save. +`,e),await _l(Dl())}}function Dl(){const e=ea(),t=In({id:e});return Qt(t),et.saves.push(e),t}function ea(){let e,t=0;do e=`${Qe.id}-${t++}`;while(localStorage.getItem(e));return e}const Ta=j(!1);async function _l(e){console.info("Loading save",e),Ta.value=!0;const{layers:t,removeLayer:l,addLayer:n}=await la(()=>Promise.resolve().then(function(){return Ii}),void 0),{fixOldSave:o,getInitialLayers:s}=await la(()=>Promise.resolve().then(function(){return Ur}),void 0);for(const c in t){const r=t[c];r&&l(r)}s(e).forEach(c=>n(c,e)),e=In(e),e.offlineProd&&e.time&&e.devSpeed!==0&&(e.offlineTime==null&&(e.offlineTime=0),e.offlineTime+=Math.min(e.offlineTime+(Date.now()-e.time)/1e3,Qe.offlineLimit*3600)),e.time=Date.now(),e.modVersion!==Qe.versionNumber&&o(e.modVersion,e),Object.assign(te,e),et.active=te.id,He.emit("onLoad")}setInterval(()=>{te.autosave&&Qt()},1e3);window.onbeforeunload=()=>{te.autosave&&Qt()};window.save=Qt;const Pi=window.hardReset=async()=>{await _l(Dl())},ql=Ll({active:"",saves:[],showTPS:!0,theme:Na.Nordic,unthrottled:!1});Wt(ql,e=>{const t=ml.compressToUTF16(JSON.stringify(e));localStorage.setItem(Qe.id,t)},{deep:!0});var et=window.settings=ql;window.hardResetSettings=()=>{const e={active:"",saves:[],showTPS:!0,theme:Na.Nordic};He.emit("loadSettings",e),Object.assign(ql,e),Pi()};function Ti(){try{let e=localStorage.getItem(Qe.id);if(e!=null&&e!==""){if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=ml.decompressFromUTF16(e);else{console.warn("Unable to determine settings encoding",e);return}const t=JSON.parse(e);typeof t=="object"&&Object.assign(ql,t)}He.emit("loadSettings",ql)}catch{}}const Mn=Ll([]);function Fi(e){Mn.push(e)}const Dn=Ll([]);function Ui(e){Dn.push(e)}const Ri=Ll([]),Oi={class:"table"},Dt=ce({__name:"Column",setup(e){const t=v(()=>Bl[et.theme].mergeAdjacent);return(l,n)=>(w(),D("div",Oi,[f("div",{class:Ye(["col",{mergeAdjacent:u(t)}])},[Vt(l.$slots,"default")],2)]))}}),Gi={class:"table"},Pl=ce({__name:"Row",setup(e){const t=v(()=>Bl[et.theme].mergeAdjacent);return(l,n)=>(w(),D("div",Gi,[f("div",{class:Ye(["row",{mergeAdjacent:u(t)}])},[Vt(l.$slots,"default")],2)]))}});function Fa(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!so(e)}function Ie(e,t="span"){return typeof e=="function"?ce({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}`),ce({template:e})):ce({render:()=>({})}):e}function le(e){if(Gt(e))return typeof e=="function"?e():Ie(e);const t=e[zt];return i(t,e[tl](),null)}function je(...e){let t;return i(Pl,null,Fa(t=e.map(le))?t:{default:()=>[t]})}function Ht(...e){let t;return i(Dt,null,Fa(t=e.map(le))?t:{default:()=>[t]})}function El(...e){return i("div",{class:"table-grid"},[e.map(t=>i("div",{class:{["row-grid"]:!0,mergeAdjacent:Bl[et.theme].mergeAdjacent}},[t.map(le)]))])}function Lt(e){if(Gt(e))return typeof e=="function"?e():typeof e=="string"?i(B,null,[e]):i(e,null,null);const t=e[zt];return i(t,e[tl](),null)}function $i(...e){let t;return i(Dt,null,Fa(t=e.map(Lt))?t:{default:()=>[t]})}function Gt(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[$l]===!0}function xn(e,t,l){const n=j(null),o=j(void 0);function s(p){n.value||(n.value=setInterval(r,250)),o.value=p,l&&(l.value=!0)}function c(){n.value&&(clearInterval(n.value),n.value=null),l&&(l.value=!1)}function r(){t&&t.value?t.value():e&&e.value&&e.value(o.value)}return un(c),{start:s,stop:c,handleHolding:r}}function Qi(e,t){const l=v(()=>e.filter(n=>u(n.visibility)===We.Visible&&t(n)));return{firstFeature:v(()=>l.value[0]),collapsedContent:E(()=>Ht(...l.value.slice(1))),hasCollapsedContent:v(()=>l.value.length>1)}}function Tl(e,t="div"){const l=Ut();return Pt(()=>{l.value=Ie(ot(e),t)}),l}function hl(e,t="div"){const l=Ut(null);return Pt(()=>{const n=ot(e);l.value=n==null?null:Ie(n,t)}),l}function qi(e){return v(()=>ot(e))}function ot(e){return u(u(e))}function q(...e){return e.includes(Object)||e.push(Object),e}const fe=ce({__name:"Spacer",props:{width:{default:"8px"},height:{default:"17px"}},setup(e){return(t,l)=>(w(),D("div",{style:nt({width:e.width,height:e.height})},null,4))}});const Vi={},Hi={class:"notif"};function Li(e,t){return w(),D("div",Hi,"!")}var Xa=xe(Vi,[["render",Li],["__scopeId","data-v-66323fd4"]]);const ca=e=>(il("data-v-9de19f28"),e=e(),sl(),e),ji={key:0,class:"day feature dontMerge opened"},Wi={class:"date"},Ki=d("Dec"),zi=ca(()=>f("br",null,null,-1)),Ji={class:"date"},Xi=d("Dec"),Yi=ca(()=>f("br",null,null,-1)),Zi=ca(()=>f("div",{class:"doors"},null,-1)),es={class:"date"},ts=d("Dec"),ls=ca(()=>f("br",null,null,-1)),as={key:0,class:"material-icons lock"},ns={key:1,class:"timer"},os={key:2,class:"timer"},is=ce({__name:"Day",props:{day:null,symbol:null,layer:null,opened:null,recentlyUpdated:null,shouldNotify:null},emits:["openLore","openLayer","unlockLayer"],setup(e,{emit:t}){const l=e,n=v(()=>l.layer&&a.gte(Y.day.value,l.day)&&new Date().getMonth()===11&&new Date().getDate()>=l.day);function o(){n.value&&t("unlockLayer")}return(s,c)=>e.opened.value?(w(),D("div",ji,[i(ra,{appear:"",name:"door"},{default:ue(()=>[f("div",{class:"doors",onClick:c[0]||(c[0]=r=>t("openLayer"))},[f("div",Wi,[Ki,zi,d(ke(e.day),1)]),f("div",Ji,[Xi,Yi,d(ke(e.day),1)])])]),_:1}),f("div",{class:"icon",style:nt({backgroundImage:`url(${e.symbol})`})},null,4),f("div",{class:"lore",onClick:c[1]||(c[1]=r=>t("openLore"))},"?"),u(e.shouldNotify)?(w(),ae(Xa,{key:0})):O("",!0)])):(w(),D("div",{key:1,class:Ye(["day feature dontMerge",{can:u(n),locked:!u(n),canOpen:u(n)}]),onClick:o},[Zi,f("div",es,[ts,ls,d(ke(e.day),1)]),u(n)?O("",!0):(w(),D("div",as,"lock")),u(Y).day.value===e.day&&!u(n)?(w(),D("div",ns,ke(u(Ba)(u(Y).timeUntilNewDay.value,0)),1)):u(Y).day.value===e.day&&e.layer==null?(w(),D("div",os,"NYI")):O("",!0),u(n)?(w(),ae(Xa,{key:3})):O("",!0)],2))}});var ss=xe(is,[["__scopeId","data-v-9de19f28"]]);const rs=ce({__name:"Collapsible",props:{collapsed:null,display:null,content:null},setup(e){const t=e,l=Tl(Kt(t,"display")),n=Tl(Kt(t,"content"));return(o,s)=>(w(),ae(Dt,{class:"collapsible-container"},{default:ue(()=>[f("button",{onClick:s[0]||(s[0]=c=>e.collapsed.value=!e.collapsed.value),class:"feature collapsible-toggle"},[(w(),ae(Ke(u(l))))]),e.collapsed.value?O("",!0):(w(),ae(Ke(u(n)),{key:0}))]),_:1}))}});var us=xe(rs,[["__scopeId","data-v-a72c16aa"]]);const ds={key:0},cs={key:0,class:"mark star"},ps=["src"],ms=ce({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,l)=>e.mark?(w(),D("div",ds,[e.mark===!0?(w(),D("div",cs)):(w(),D("img",{key:1,class:"mark",src:e.mark},null,8,ps))])):O("",!0)}});var pa=xe(ms,[["__scopeId","data-v-2207999f"]]);const gs=ce({__name:"Node",props:{id:null},setup(e){const l=ct(e),n=ta(Ia,()=>{}),o=ta(Ma,()=>{}),s=Ut(null),c=v(()=>s.value&&s.value.parentElement);return Wt([c,l.id],([r,p],[m,y])=>{m&&o(u(y)),r&&n(p,r)}),un(()=>o(u(l.id))),(r,p)=>(w(),D("div",{class:"node",ref_key:"node",ref:s},null,512))}});var jl=xe(gs,[["__scopeId","data-v-a48cb382"]]);const vs=ce({props:{progress:{type:q(String,Object,Number),required:!0},width:{type:q(Number),required:!0},height:{type:q(Number),required:!0},direction:{type:q(String),required:!0},display:q(Object,String,Function),visibility:{type:q(Number),required:!0},style:q(Object,String,Array),classes:q(Object),borderStyle:q(Object,String,Array),textStyle:q(Object,String,Array),baseStyle:q(Object,String,Array),fillStyle:q(Object,String,Array),mark:q(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:pa,Node:jl},setup(e){const{progress:t,width:l,height:n,direction:o,display:s}=ct(e),c=v(()=>{let m=t.value instanceof a?t.value.toNumber():Number(t.value);return(1-Math.min(Math.max(m,0),1))*100}),r=v(()=>{const m={width:ot(l)+.5+"px",height:ot(n)+.5+"px"};switch(u(o)){case Be.Up:m.clipPath=`inset(${c.value}% -2px -2px -2px)`,m.width=ot(l)+2+"px";break;case Be.Down:m.clipPath=`inset(-2px -2px ${c.value}% -2px)`,m.width=ot(l)+2+"px";break;case Be.Right:m.clipPath=`inset(-2px ${c.value}% -2px -2px)`;break;case Be.Left:m.clipPath=`inset(-2px -2px -2px ${c.value} + '%)`;break;case Be.Default:m.clipPath="inset(-2px 50% -2px -2px)";break}return m}),p=hl(s);return{normalizedProgress:c,barStyle:r,component:p,unref:u,Visibility:We}}});function fs(e,t,l,n,o,s){var p,m,y,h,b,g,_;const c=el("MarkNode"),r=el("Node");return e.unref(e.visibility)!==e.Visibility.None?(w(),D("div",{key:0,style:nt([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px",visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(p=e.unref(e.style))!=null?p:{}]),class:Ye({bar:!0,...e.unref(e.classes)})},[f("div",{class:"overlayTextContainer border",style:nt([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px"},(m=e.unref(e.borderStyle))!=null?m:{}])},[e.component?(w(),D("span",{key:0,class:"overlayText",style:nt(e.unref(e.textStyle))},[(w(),ae(Ke(e.component)))],4)):O("",!0)],4),f("div",{class:"border",style:nt([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px"},(y=e.unref(e.style))!=null?y:{},(h=e.unref(e.baseStyle))!=null?h:{},(b=e.unref(e.borderStyle))!=null?b:{}])},[f("div",{class:"fill",style:nt([e.barStyle,(g=e.unref(e.style))!=null?g:{},(_=e.unref(e.fillStyle))!=null?_:{}])},null,4)],4),i(c,{mark:e.unref(e.mark)},null,8,["mark"]),i(r,{id:e.id},null,8,["id"])],6)):O("",!0)}var hs=xe(vs,[["render",fs],["__scopeId","data-v-730cc7a0"]]);const ys=Symbol("Bar");function jt(e){return St(()=>{const t=e();return t.id=yl("bar-"),t.type=ys,t[zt]=hs,Q(t,"visibility"),ht(t,"visibility",We.Visible),Q(t,"width"),Q(t,"height"),Q(t,"direction"),Q(t,"style"),Q(t,"classes"),Q(t,"borderStyle"),Q(t,"baseStyle"),Q(t,"textStyle"),Q(t,"fillStyle"),Q(t,"progress"),Q(t,"display"),Q(t,"mark"),t[tl]=function(){const{progress:l,width:n,height:o,direction:s,display:c,visibility:r,style:p,classes:m,borderStyle:y,textStyle:h,baseStyle:b,fillStyle:g,mark:_,id:S}=this;return{progress:l,width:n,height:o,direction:s,display:c,visibility:r,style:u(p),classes:m,borderStyle:y,textStyle:h,baseStyle:b,fillStyle:g,mark:_,id:S}},t})}var bs=ce({props:{display:{type:q(Object,String,Function),required:!0},visibility:{type:q(Number),required:!0},style:q(Object,String,Array),classes:q(Object),onClick:Function,onHold:Function,canClick:{type:q(Boolean),required:!0},small:Boolean,mark:q(Boolean,String),id:{type:String,required:!0},isHolding:Object},components:{Node:jl,MarkNode:pa},setup(e){const{display:t,onClick:l,onHold:n}=ct(e),o=Ut("");Pt(()=>{const r=ot(t);if(r==null){o.value="";return}if(Gt(r)){o.value=Ie(r);return}const p=Ie(r.title||"","h3"),m=Ie(r.description,"div");o.value=Ie(E(()=>i("span",null,[r.title?i("div",null,[i(p,null,null)]):null,i(m,null,null)])))});const{start:s,stop:c}=xn(l,n,e.isHolding);return{start:s,stop:c,comp:o,Visibility:We,unref:u}}});function ws(e,t,l,n,o,s){var p;const c=el("MarkNode"),r=el("Node");return e.unref(e.visibility)!==e.Visibility.None?(w(),D("button",{key:0,style:nt([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(p=e.unref(e.style))!=null?p:[]]),onClick:t[0]||(t[0]=(...m)=>e.onClick&&e.onClick(...m)),onMousedown:t[1]||(t[1]=(...m)=>e.start&&e.start(...m)),onMouseleave:t[2]||(t[2]=(...m)=>e.stop&&e.stop(...m)),onMouseup:t[3]||(t[3]=(...m)=>e.stop&&e.stop(...m)),onTouchstartPassive:t[4]||(t[4]=(...m)=>e.start&&e.start(...m)),onTouchendPassive:t[5]||(t[5]=(...m)=>e.stop&&e.stop(...m)),onTouchcancelPassive:t[6]||(t[6]=(...m)=>e.stop&&e.stop(...m)),class:Ye({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)?(w(),ae(Ke(e.unref(e.comp)),{key:0})):O("",!0),i(c,{mark:e.unref(e.mark)},null,8,["mark"]),i(r,{id:e.id},null,8,["id"])],38)):O("",!0)}var Pn=xe(bs,[["render",ws],["__scopeId","data-v-8cedd7da"]]);const As=Symbol("Clickable");function xt(e){return St(()=>{var l;const t=(l=e==null?void 0:e())!=null?l:{};if(t.id=yl("clickable-"),t.type=As,t[zt]=Pn,t.isHolding=j(!1),Q(t,"visibility"),ht(t,"visibility",We.Visible),Q(t,"canClick"),ht(t,"canClick",!0),Q(t,"classes"),Q(t,"style"),Q(t,"mark"),Q(t,"display"),t.onClick){const n=t.onClick.bind(t);t.onClick=function(o){u(t.canClick)&&n(o)}}if(t.onHold){const n=t.onHold.bind(t);t.onHold=function(){u(t.canClick)&&n()}}return t[tl]=function(){const{display:n,visibility:o,style:s,classes:c,onClick:r,onHold:p,isHolding:m,canClick:y,small:h,mark:b,id:g}=this;return{display:n,visibility:o,style:u(s),classes:c,onClick:r,onHold:p,isHolding:m,canClick:y,small:h,mark:b,id:g}},t})}function dt(e,t="points",l=0,n=void 0){const o=ft(e)?e:Ce(e);if(o.displayName=t,o.precision=l,o.small=n,!ft(e)){const s=o[Ql];s.displayName=t,s.precision=l,s.small=n}return o}function Ya(e){const t=Ce(e.value);return Wt(e,l=>{Ta.value||a.gt(l,t.value)&&(t.value=l)}),t}function Cs(e){const t=Ce(e.value);return Wt(e,(l,n)=>{Ta.value||a.gt(l,n)&&(t.value=a.add(t.value,a.sub(l,n)))}),t}new a("10^^8");new a("1e100");function Wl(e,t){const l=t!=null?t:e.value;return a.eq(e.precision,0)?Z(e.small?l:a.floor(l)):H(l,e.precision,e.small)}const ks=["x1","y1","x2","y2"],_s=ce({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const l=ct(e),n=v(()=>{const s=l.startNode.value.rect,c=l.boundingRect.value,r=c?{x:s.x+s.width/2-c.x,y:s.y+s.height/2-c.y}:{x:0,y:0};return l.link.value.offsetStart&&(r.x+=l.link.value.offsetStart.x,r.y+=l.link.value.offsetStart.y),r}),o=v(()=>{const s=l.endNode.value.rect,c=l.boundingRect.value,r=c?{x:s.x+s.width/2-c.x,y:s.y+s.height/2-c.y}:{x:0,y:0};return l.link.value.offsetEnd&&(r.x+=l.link.value.offsetEnd.x,r.y+=l.link.value.offsetEnd.y),r});return(s,c)=>(w(),D("line",fl({"stroke-width":"15px",stroke:"white"},e.link,{x1:u(n).x,y1:u(n).y,x2:u(o).x,y2:u(o).y}),null,16,ks))}});const Ss=ce({__name:"Links",props:{links:null},setup(e){var p;const l=Kt(e,"links"),n=j(null),o=ta(Da,j({})),s=ta(xa,j(void 0)),c=j((p=n.value)==null?void 0:p.getBoundingClientRect());Wt(s,()=>{var m;return c.value=(m=n.value)==null?void 0:m.getBoundingClientRect()}),ia(()=>{var m;return c.value=(m=n.value)==null?void 0:m.getBoundingClientRect()});const r=v(()=>{var y,h;const m=o.value;return(h=(y=l.value)==null?void 0:y.filter(b=>{var g,_;return((g=m[b.startNode.id])==null?void 0:g.rect)&&((_=m[b.startNode.id])==null?void 0:_.rect)}))!=null?h:[]});return(m,y)=>(w(),D(B,null,[u(r)?(w(),D("svg",ro(fl({key:0},m.$attrs)),[(w(!0),D(B,null,Ea(u(r),(h,b)=>(w(),ae(_s,{key:b,link:h,boundingRect:c.value,startNode:u(o)[h.startNode.id],endNode:u(o)[h.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):O("",!0),f("div",{ref_key:"resizeListener",ref:n,class:"resize-listener"},null,512)],64))}});var Es=xe(Ss,[["__scopeId","data-v-063f6d6b"]]);ce({props:{nodes:{type:q(Array),required:!0},leftSideNodes:q(Array),rightSideNodes:q(Array),branches:q(Array)},components:{Links:Es},setup(e){const{nodes:t,leftSideNodes:l,rightSideNodes:n}=ct(e),o=Ut();Pt(()=>{const r=ot(t);o.value=Ie(E(()=>i(B,null,[r.map(p=>i("span",{class:"row tree-row",style:"margin: 50px auto;"},[p.map(Lt)]))])))});const s=Ut();Pt(()=>{const r=ot(l);s.value=r?Ie(E(()=>i("span",{class:"left-side-nodes small"},[r.map(Lt)]))):""});const c=Ut();return Pt(()=>{const r=ot(n);c.value=r?Ie(E(()=>i("span",{class:"side-nodes small"},[r.map(Lt)]))):""}),{unref:u,nodesComp:o,leftNodesComp:s,rightNodesComp:c}}});ce({props:{display:q(Object,String,Function),visibility:{type:q(Number),required:!0},style:q(String,Object,Array),classes:q(Object),onClick:Function,onHold:Function,color:q(String),glowColor:q(String),canClick:{type:q(Boolean),required:!0},mark:q(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:pa,Node:jl},setup(e){const{onClick:t,onHold:l,display:n}=ct(e),o=hl(n),{start:s,stop:c}=xn(t,l);return{start:s,stop:c,comp:o,unref:u,Visibility:We,isCoercableComponent:Gt}}});function ll(e){const t=[],l={};let n=!1;function o(){return n||(t.push(...e()),l.base=t.map(r=>yt(r.base)),l.baseText=t.map(r=>yt(r.baseText)),l.visible=t.map(r=>yt(r.visible)),n=!0),t}const s=Ce({});return[E(()=>{const r=o();let p=!0;const m=r.map((y,h)=>{var S,x,W;if(u(l.visible[h])===!1)return null;const b=i("h3",{onClick:()=>s.value[h]=!s.value[h],style:"cursor: pointer"},[i("span",{class:"modifier-toggle"+(u(s.value[h])?" collapsed":"")},[d("\u25BC")]),y.title,y.subtitle?i("span",{class:"subtitle"},[d(" ("),y.subtitle,d(")")]):null]),g=u(s.value[h])?null:i(B,null,[i("div",{class:"modifier-container"},[i("span",{class:"modifier-description"},[Lt((S=u(l.baseText[h]))!=null?S:"Base")]),i("span",{class:"modifier-amount"},[H((x=u(l.base[h]))!=null?x:1),y.unit])]),Lt(u(y.modifier.description))]),_=!p;return p=!1,i(B,null,[_?i("br",null,null):null,i("div",null,[b,i("br",null,null),g,i("hr",null,null),i("div",{class:"modifier-container"},[i("span",{class:"modifier-description"},[d("Total")]),i("span",{class:"modifier-amount"},[H(y.modifier.apply((W=u(l.base[h]))!=null?W:1)),y.unit])])])])});return i(B,null,[m])}),s]}function Vl(e){const t=Object.values(e).reverse(),l=Ce(!0),n=v(()=>t.filter(p=>p.earned.value===!1)),{firstFeature:o,collapsedContent:s,hasCollapsedContent:c}=Qi(t,p=>p.earned.value),r=E(()=>{const p=[...n.value];return o.value&&p.push(o.value),$i(...p,E(()=>sa(i(us,{collapsed:l,content:s,display:l.value?"Show other completed milestones":"Hide other completed milestones"},null),[[rn,u(c)]])))});return{collapseMilestones:l,display:r}}function rl(e){const t=e.ignoreTotal?e.resource:Cs(e.resource),l=()=>{var r,p;if(Y.day.value!==e.day)return 1;let s=a.add(t.value,1),c=e.goal;return((p=(r=e.usingLog)==null?void 0:r.value)!=null?p:te.usingLog)&&(s=s.log10(),c=a.log10(c)),a.div(s,c)},n=jt(()=>({direction:Be.Right,width:600,height:25,fillStyle:{backgroundColor:e.color},textStyle:e.textColor?{color:e.textColor}:void 0,progress:l,display:E(()=>Y.day.value===e.day?i(B,null,[ge(t.value),d("/"),ge(e.goal)]):"")})),o=E(()=>i(B,null,[i("div",null,[Y.day.value===e.day?i(B,null,[d("Reach "),ge(e.goal),d(" "),e.ignoreTotal?"":"total ",e.resource.displayName,d(" to complete the day")]):i(B,null,[e.name,d(" Complete!")]),e.modal?i(B,null,[" ",d("-")," ",i("button",{class:"button",style:"display: inline-block;",onClick:()=>e.modal.show.value=!0},[d("Check Modifiers")])]):void 0]),le(n),e.modal?le(e.modal.display):void 0]));return Pt(()=>{Y.day.value===e.day&&a.gte(t.value,e.goal)&&Y.completeDay()}),{total:t,trackerDisplay:o}}function qt(e){var c;const t=(c=e.style)!=null?c:{minHeight:"20px",width:"40px",color:"var(--foreground)"},l=xt(()=>({display:"0",style:t,canClick(){return a.gt(e.active.value,0)},onClick(){e.active.value=0}})),n=xt(()=>({display:"-",style:t,canClick(){return a.gt(e.active.value,0)},onClick(){e.active.value=a.sub(e.active.value,1)}})),o=xt(()=>({display:"+",style:t,canClick(){return a.lt(e.active.value,e.buyable.amount.value)},onClick(){e.active.value=a.add(e.active.value,1)}})),s=xt(()=>({display:"Max",style:t,canClick(){return a.lt(e.active.value,e.buyable.amount.value)},onClick(){e.active.value=e.buyable.amount.value}}));return{min:l,remove:n,add:o,max:s}}const Bs=Symbol("Buyable");function Ne(e){const t=Ce(0);return St(()=>{var s,c,r;const l=e();if(l.canPurchase==null&&(l.resource==null||l.cost==null))throw console.warn("Cannot create buyable without a canPurchase property or a resource and cost property",l),"Cannot create buyable without a canPurchase property or a resource and cost property";l.id=yl("buyable-"),l.type=Bs,l[zt]=Pn,l.amount=t,l.amount[vl]=(s=l.initialValue)!=null?s:0,l.canAfford=v(()=>{const p=l,m=u(p.cost);return p.resource!=null&&m!=null&&a.gte(p.resource.value,m)}),l.canPurchase==null&&(l.canPurchase=v(()=>u(l.visibility)===We.Visible&&u(l.canAfford)&&a.lt(l.amount.value,u(l.purchaseLimit)))),l.maxed=v(()=>a.gte(l.amount.value,u(l.purchaseLimit))),Q(l,"classes");const n=l.classes;l.classes=v(()=>{const p=u(n)||{};return l.maxed.value&&(p.bought=!0),p}),Q(l,"canPurchase"),l.canClick=l.canPurchase,l.onClick=l.purchase=(r=(c=l.onClick)!=null?c:l.purchase)!=null?r:function(){var y;const p=l;if(!u(p.canPurchase))return;const m=u(p.cost);p.cost!=null&&p.resource!=null&&(p.resource.value=a.sub(p.resource.value,m),p.amount.value=a.add(p.amount.value,1)),(y=p.onPurchase)==null||y.call(p,m)},Q(l,"display");const o=l.display;return l.display=E(()=>{const p=u(o);if(Gt(p)){const m=Ie(p);return i(m,null,null)}if(p!=null&&l.cost!=null&&l.resource!=null){const m=l,y=Ie(p.title||"","h3"),h=Ie(p.description||""),b=Ie(p.effectDisplay||"");return i("span",null,[p.title?i("div",null,[i(y,null,null)]):null,p.description?i(h,null,null):null,p.showAmount===!1?null:i("div",null,[i("br",null,null),u(m.purchaseLimit)===a.dInf?i(B,null,[d("Amount: "),Z(m.amount.value)]):i(B,null,[d("Amount: "),Z(m.amount.value),d(" /")," ",Z(u(m.purchaseLimit))])]),p.effectDisplay?i("div",null,[i("br",null,null),d("Currently: "),i(b,null,null)]):null,m.cost&&!m.maxed.value?i("div",null,[d("Cost: "),H(u(m.cost)||0)," ",l.resource.displayName]):null])}return""}),Q(l,"visibility"),ht(l,"visibility",We.Visible),Q(l,"cost"),Q(l,"resource"),Q(l,"purchaseLimit"),ht(l,"purchaseLimit",a.dInf),Q(l,"style"),Q(l,"mark"),Q(l,"small"),l[tl]=function(){const{display:p,visibility:m,style:y,classes:h,onClick:b,canClick:g,small:_,mark:S,id:x}=this;return{display:p,visibility:m,style:u(y),classes:h,onClick:b,canClick:g,small:_,mark:S,id:x}},l})}const ma=ua({}),Ua=Symbol("Hotkey");function xl(e){return St(()=>{const t=e();return t.type=Ua,Q(t,"enabled"),ht(t,"enabled",!0),Q(t,"description"),t})}He.on("addLayer",e=>{An(e,Ua).forEach(t=>{ma[t.key]=t})});He.on("removeLayer",e=>{An(e,Ua).forEach(t=>{ma[t.key]=void 0})});document.onkeydown=function(e){var n;if(((n=e.target)==null?void 0:n.tagName)==="INPUT"||$a.value&&!te.keepGoing)return;let t=e.key;e.shiftKey&&(t="shift+"+t),e.ctrlKey&&(t="ctrl+"+t);const l=ma[t];l&&u(l.enabled)&&(e.preventDefault(),l.onPress())};Ui(E(()=>{const e=Object.values(ma).filter(t=>u(t==null?void 0:t.enabled));return e.length===0?"":i("div",null,[i("br",null,null),i("h4",null,[d("Hotkeys")]),e.map(t=>i("div",null,[t==null?void 0:t.key,d(": "),t==null?void 0:t.description]))])}));const Ns=ce({__name:"Sticky",setup(e){const t=j("0"),l=new ResizeObserver(o),n=Ut(null);function o(){let s=n.value;if(s==null)return;let c=0;for(;s.previousSibling;){const r=s.previousSibling;r.dataset&&"vSticky"in r.dataset&&(c+=r.offsetHeight),s=r}t.value=c+"px"}return Sl(o),document.fonts.ready.then(o),ia(()=>{var c;const s=(c=n.value)==null?void 0:c.parentElement;s&&l.observe(s)}),(s,c)=>(w(),D("div",{class:"sticky",style:nt({top:t.value}),ref_key:"element",ref:n,"data-v-sticky":""},[Vt(s.$slots,"default",{},void 0,!0)],4))}});var Tn=xe(Ns,[["__scopeId","data-v-cccac690"]]);const Za=ce({__name:"Resource",props:{resource:null,color:null},setup(e){const t=e,l=v(()=>Wl(t.resource));return(n,o)=>(w(),D("h2",{style:nt({color:e.color,"text-shadow":"0px 0px 10px "+e.color})},ke(u(l)),5))}});const Is={class:"main-display"},Ms={key:0},Ds={key:1},xs=d(", "),Ps={key:2},Ts=f("br",null,null,-1),Fs={class:"main-display"},Us={key:0},Rs={key:1},Os=d(", "),Gs={key:2},$s=f("br",null,null,-1),Nt=ce({__name:"MainDisplay",props:{resource:null,color:null,classes:null,style:null,effectDisplay:null,productionDisplay:null,sticky:{type:Boolean,default:!0}},setup(e){const l=ct(e),n=j(null),o=hl(l.effectDisplay),s=j(null),c=hl(l.productionDisplay),r=v(()=>a.lt(l.resource.value,"1e1000"));return(p,m)=>{var y,h;return e.sticky?(w(),ae(Tn,{key:0},{default:ue(()=>{var b,g,_,S;return[f("div",{class:Ye(["main-display-container",(b=e.classes)!=null?b:{}]),style:nt([{"min-height":`${((_=(g=n.value)==null?void 0:g.$el.clientHeight)!=null?_:0)+50}px`},(S=e.style)!=null?S:{}])},[f("div",Is,[u(r)?(w(),D("span",Ms,"You have ")):O("",!0),i(Za,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),d(" "+ke(e.resource.displayName),1),u(o)?(w(),D("span",Ds,[xs,(w(),ae(Ke(u(o)),{ref_key:"effectRef",ref:n},null,512))])):O("",!0),u(c)?(w(),D("span",Ps,[Ts,(w(),ae(Ke(u(c)),{ref_key:"productionRef",ref:s},null,512))])):O("",!0)])],6)]}),_:1})):(w(),D("div",{key:1,class:Ye(["main-display-container",(y=e.classes)!=null?y:{}]),style:nt([{"min-height":"50px"},(h=e.style)!=null?h:{}])},[f("div",Fs,[u(r)?(w(),D("span",Us,"You have ")):O("",!0),i(Za,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),d(" "+ke(e.resource.displayName),1),u(o)?(w(),D("span",Rs,[Os,(w(),ae(Ke(u(o)),{ref_key:"effectRef",ref:n},null,512))])):O("",!0),u(c)?(w(),D("span",Gs,[$s,(w(),ae(Ke(u(c)),{ref_key:"productionRef",ref:s},null,512))])):O("",!0)])],6))}}});var Qs=ce({props:{display:{type:q(String,Object,Function),required:!0},visibility:{type:q(Number),required:!0},style:q(String,Object,Array),classes:q(Object),resource:Object,cost:q(String,Object,Number),canPurchase:{type:q(Boolean),required:!0},bought:{type:q(Boolean),required:!0},mark:q(Boolean,String),id:{type:String,required:!0},purchase:{type:Function,required:!0}},components:{Node:jl,MarkNode:pa},setup(e){const{display:t,cost:l}=ct(e),n=Ut("");return Pt(()=>{const o=ot(t);if(o==null){n.value="";return}if(Gt(o)){n.value=Ie(o);return}const s=ot(l),c=Ie(o.title||"","h3"),r=Ie(o.description,"div"),p=Ie(o.effectDisplay||"");n.value=Ie(E(()=>{var m;return i("span",null,[o.title?i("div",null,[i(c,null,null)]):null,i(r,null,null),o.effectDisplay?i("div",null,[d("Currently: "),i(p,null,null)]):null,e.resource!=null&&o.showCost!==!1?i(B,null,[i("br",null,null),d("Cost: "),e.resource&&Wl(e.resource,s)," ",(m=e.resource)==null?void 0:m.displayName]):null])}))}),{component:n,unref:u,Visibility:We}}});const qs=["disabled"];function Vs(e,t,l,n,o,s){var p;const c=el("MarkNode"),r=el("Node");return e.unref(e.visibility)!==e.Visibility.None?(w(),D("button",{key:0,style:nt([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(p=e.unref(e.style))!=null?p:{}]),onClick:t[0]||(t[0]=(...m)=>e.purchase&&e.purchase(...m)),class:Ye({feature:!0,upgrade:!0,can:e.unref(e.canPurchase),locked:!e.unref(e.canPurchase),bought:e.unref(e.bought),...e.unref(e.classes)}),disabled:!e.unref(e.canPurchase)},[e.unref(e.component)?(w(),ae(Ke(e.unref(e.component)),{key:0})):O("",!0),i(c,{mark:e.unref(e.mark)},null,8,["mark"]),i(r,{id:e.id},null,8,["id"])],14,qs)):O("",!0)}var Hs=xe(Qs,[["render",Vs],["__scopeId","data-v-7f411ac8"]]);const Ls=Symbol("Upgrade");function G(e){const t=Ce(!1);return St(()=>{const l=e();return l.id=yl("upgrade-"),l.type=Ls,l[zt]=Hs,l.canAfford==null&&(l.resource==null||l.cost==null)&&console.warn("Error: can't create upgrade without a canAfford property or a resource and cost property",l),l.bought=t,l.canAfford==null?l.canAfford=v(()=>{const n=l;return n.resource!=null&&n.cost!=null&&a.gte(n.resource.value,u(n.cost))}):Q(l,"canAfford"),l.canPurchase=v(()=>u(l.visibility)===We.Visible&&u(l.canAfford)&&!u(l.bought)),l.purchase=function(){var o;const n=l;!u(n.canPurchase)||(n.resource!=null&&n.cost!=null&&(n.resource.value=a.sub(n.resource.value,u(n.cost))),t.value=!0,(o=n.onPurchase)==null||o.call(n))},Q(l,"visibility"),ht(l,"visibility",We.Visible),Q(l,"classes"),Q(l,"style"),Q(l,"display"),Q(l,"mark"),Q(l,"cost"),Q(l,"resource"),l[tl]=function(){const{display:n,visibility:o,style:s,classes:c,resource:r,cost:p,canPurchase:m,bought:y,mark:h,id:b,purchase:g}=this;return{display:n,visibility:o,style:u(s),classes:c,resource:r,cost:p,canPurchase:m,bought:y,mark:h,id:b,purchase:g}},l})}function se(e){return St(()=>{const{addend:t,description:l,enabled:n}=e(),o=yt(t),s=yt(l),c=n==null?void 0:yt(n);return{apply:r=>a.add(r,u(o)),revert:r=>a.sub(r,u(o)),enabled:c,description:l==null?void 0:E(()=>i("div",{class:"modifier-container"},[u(s)?i("span",{class:"modifier-description"},[Lt(u(s))]):null,i("span",{class:"modifier-amount"},[a.gte(u(o),0)?"+":"",H(u(o))])]))}})}function C(e){return St(()=>{const{multiplier:t,description:l,enabled:n}=e(),o=yt(t),s=yt(l),c=n==null?void 0:yt(n);return{apply:r=>a.times(r,u(o)),revert:r=>a.div(r,u(o)),enabled:c,description:l==null?void 0:E(()=>i("div",{class:"modifier-container"},[u(s)?i("span",{class:"modifier-description"},[Lt(u(s))]):null,i("span",{class:"modifier-amount"},[d("\xD7"),H(u(o))])]))}})}function Fn(e){return St(()=>{const{exponent:t,description:l,enabled:n,supportLowNumbers:o}=e(),s=yt(t),c=yt(l),r=n==null?void 0:yt(n);return{apply:p=>{let m=p;return o&&(m=a.add(m,1)),m=a.pow(m,u(s)),o&&(m=a.sub(m,1)),m},revert:p=>{let m=p;return o&&(m=a.add(m,1)),m=a.root(m,u(s)),o&&(m=a.sub(m,1)),m},enabled:r,description:l==null?void 0:E(()=>i("div",{class:"modifier-container"},[u(c)?i("span",{class:"modifier-description"},[Lt(u(c)),o?" (+1 effective)":null]):null,i("span",{class:"modifier-amount"},[d("^"),H(u(s))])]))}})}function X(e){return St(()=>{const t=e();return{apply:l=>t.filter(n=>u(n.enabled)!==!1).reduce((n,o)=>o.apply(n),l),revert:t.every(l=>l.revert!=null)?l=>t.filter(n=>u(n.enabled)!==!1).reduceRight((n,o)=>o.revert(n),l):void 0,enabled:v(()=>t.filter(l=>u(l.enabled)!==!1).length>0),description:E(()=>i(B,null,[t.filter(l=>u(l.enabled)!==!1).map(l=>u(l.description)).filter(l=>l).map(Lt)]))}})}function Un(e){return St(()=>{const t=e();return t.currentGain==null&&(t.currentGain=v(()=>{let l=t.gainModifier?t.gainModifier.apply(t.scaling.currentGain(t)):t.scaling.currentGain(t);return l=a.floor(l).max(0),u(t.buyMax)||(l=l.min(1)),l})),t.actualGain==null&&(t.actualGain=t.currentGain),t.currentAt==null&&(t.currentAt=v(()=>{let l=t.scaling.currentAt(t);return t.roundUpCost&&(l=a.ceil(l)),l})),t.nextAt==null&&(t.nextAt=v(()=>{let l=t.scaling.nextAt(t);return t.roundUpCost&&(l=a.ceil(l)),l})),t.convert==null&&(t.convert=function(){var o;const l=u(t.currentGain),n=u(t.currentAt);t.gainResource.value=a.add(t.gainResource.value,l),t.spend(l,n),(o=t.onConvert)==null||o.call(t,l)}),t.spend==null&&(t.spend=function(){t.baseResource.value=0}),Q(t,"currentGain"),Q(t,"actualGain"),Q(t,"currentAt"),Q(t,"nextAt"),Q(t,"buyMax"),ht(t,"buyMax",!0),Q(t,"roundUpCost"),ht(t,"roundUpCost",!0),t})}function Ra(e,t){const l=yt(e),n=yt(t);return{currentGain(o){let s=u(o.baseResource.value);if(o.costModifier&&(s=o.costModifier.apply(s)),a.lt(s,u(l)))return 0;const c=a.div(s,u(l)).pow(u(n));return c.isNan()?new a(0):c},currentAt(o){let s=u(o.currentGain);return o.gainModifier&&(s=o.gainModifier.revert(s)),s=a.max(0,s).root(u(n)).times(u(l)),o.costModifier&&(s=o.costModifier.revert(s)),s},nextAt(o){let s=a.add(u(o.currentGain),1).floor();return o.gainModifier&&(s=o.gainModifier.revert(s)),s=a.max(0,s).root(u(n)).times(u(l)).max(u(l)),o.costModifier&&(s=o.costModifier.revert(s)),s}}}function Rn(e){return Un(e)}function js(e){return Un(()=>{const t=e();return ht(t,"buyMax",!1),t.currentGain==null&&(t.currentGain=v(()=>{let l=t.gainModifier?t.gainModifier.apply(t.scaling.currentGain(t)):t.scaling.currentGain(t);return l=a.floor(l).max(t.gainResource.value),u(t.buyMax)||(l=l.min(a.add(t.gainResource.value,1))),l})),t.actualGain==null&&(t.actualGain=v(()=>{let l=a.sub(a.floor(t.scaling.currentGain(t)),t.gainResource.value).max(0);return u(t.buyMax)||(l=l.min(1)),l})),ht(t,"convert",function(){var o;const l=u(t.actualGain),n=u(t.currentAt);t.gainResource.value=t.gainModifier?t.gainModifier.apply(u(t.currentGain)):u(t.currentGain),t.spend(l,n),(o=t.onConvert)==null||o.call(t,l)}),t})}const Ws={},Ks={style:{"white-space":"nowrap"}},zs=f("span",{style:{"font-size":"larger","font-family":"initial"}},"\u221A",-1),Js={style:{"text-decoration":"overline"}};function Xs(e,t){return w(),D("span",Ks,[zs,f("span",Js,[Vt(e.$slots,"default")])])}var Oa=xe(Ws,[["render",Xs]]);const Ys={class:"field"},Zs={key:0,class:"field-title"},Ga=ce({__name:"Select",props:{title:null,modelValue:null,options:null,placeholder:null,closeOnSelect:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){var c;const l=e,n=hl(Kt(l,"title"),"span"),o=j((c=l.options.find(r=>r.value===l.modelValue))!=null?c:null);Wt(Kt(l,"modelValue"),r=>{var p;ot(o)!==r&&(o.value=(p=l.options.find(m=>m.value===r))!=null?p:null)});function s(r){t("update:modelValue",r.value)}return(r,p)=>(w(),D("div",Ys,[u(n)?(w(),D("span",Zs,[(w(),ae(Ke(u(n))))])):O("",!0),i(u(go),{options:e.options,modelValue:o.value,"onUpdate:modelValue":[p[0]||(p[0]=m=>o.value=m),s],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});var er=ce({props:{visibility:{type:q(Number),required:!0},display:{type:q(String,Object,Function),required:!0},style:q(String,Object,Array),classes:q(Object),earned:{type:q(Boolean),required:!0},id:{type:String,required:!0}},components:{Node:jl},setup(e){const{display:t}=ct(e),l=Ut("");return Pt(()=>{const n=ot(t);if(n==null){l.value="";return}if(Gt(n)){l.value=Ie(n);return}const o=Ie(n.requirement,"h3"),s=Ie(n.effectDisplay||"","b"),c=Ie(n.optionsDisplay||"","span");l.value=Ie(E(()=>i("span",null,[i(o,null,null),n.effectDisplay?i("div",null,[i(s,null,null)]):null,n.optionsDisplay?i("div",{class:"equal-spaced"},[i(c,null,null)]):null])))}),{comp:l,unref:u,Visibility:We}}});function tr(e,t,l,n,o,s){var r;const c=el("Node");return e.unref(e.visibility)!==e.Visibility.None?(w(),D("div",{key:0,style:nt([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(r=e.unref(e.style))!=null?r:{}]),class:Ye({feature:!0,milestone:!0,done:e.unref(e.earned),...e.unref(e.classes)})},[(w(),ae(Ke(e.unref(e.comp)))),i(c,{id:e.id},null,8,["id"])],6)):O("",!0)}var lr=xe(er,[["render",tr],["__scopeId","data-v-f4e8794e"]]);He.on("setupVue",e=>e.use(vo));function ar(e="white",t="8px"){return{transform:"scale(1.05, 1.05)",borderColor:"rgba(0, 0, 0, 0.125)",boxShadow:`-4px -4px 4px rgba(0, 0, 0, 0.25) inset, 0 0 ${t} ${e}`,zIndex:1}}const en=cn(),nr=Symbol("Milestone");let gl;(function(e){e.All="all",e.Configurable="configurable",e.Incomplete="incomplete",e.None="none"})(gl||(gl={}));function ye(e){const t=Ce(!1);return St(()=>{var o;const l=(o=e==null?void 0:e())!=null?o:{};l.id=yl("milestone-"),l.type=nr,l[zt]=lr,l.earned=t,l.complete=function(){var c;const s=l;if(t.value=!0,(c=s.onComplete)==null||c.call(s),s.display&&u(s.showPopups)===!0){const r=u(s.display),p=Ie(Gt(r)?r:r.requirement);en(i(B,null,[i("h3",null,[d("Milestone earned!")]),i("div",null,[i(p,null,null)])]))}},Q(l,"visibility"),ht(l,"visibility",We.Visible);const n=l.visibility;if(l.visibility=v(()=>{const s=u(l.display);switch(et.msDisplay){default:case gl.All:return u(n);case gl.Configurable:return u(l.earned)&&!(s!=null&&typeof s=="object"&&"optionsDisplay"in s)?We.None:u(n);case gl.Incomplete:return u(l.earned)?We.None:u(n);case gl.None:return We.None}}),Q(l,"style"),Q(l,"classes"),Q(l,"display"),Q(l,"showPopups"),l[tl]=function(){const{visibility:s,display:c,style:r,classes:p,earned:m,id:y}=this;return{visibility:s,display:c,style:u(r),classes:p,earned:m,id:y}},l.shouldEarn){const s=l;Pt(()=>{var c,r;if(et.active===te.id&&!s.earned.value&&u(s.visibility)===We.Visible&&((c=s.shouldEarn)==null?void 0:c.call(s))&&(s.earned.value=!0,(r=s.onComplete)==null||r.call(s),s.display&&u(s.showPopups)===!0)){const p=u(s.display),m=Ie(Gt(p)?p:p.requirement);en(i(B,null,[i("h3",null,[d("Milestone earned!")]),i("div",null,[i(m,null,null)])]))}})}return l})}He.on("loadSettings",e=>{ht(e,"msDisplay",gl.All)});const or=Object.values(gl).map(e=>({label:wn(e),value:e}));Fi(E(()=>i(Ga,{title:"Show Milestones",options:or,"onUpdate:modelValue":e=>et.msDisplay=e,modelValue:et.msDisplay},null)));const ir=ce({props:{visibility:{type:q(Number),required:!0},display:{type:q(Object,String,Function),required:!0},style:q(String,Object,Array),classes:q(Object),glowColor:q(String),active:Boolean,floating:Boolean},emits:["selectTab"],setup(e,{emit:t}){const{display:l,glowColor:n,floating:o}=ct(e),s=Tl(l),c=v(()=>{const p=ot(n);return p?u(o)?ar(p):{boxShadow:`0px 9px 5px -6px ${p}`}:{}});function r(){t("selectTab")}return{selectTab:r,component:s,glowColorStyle:c,unref:u,Visibility:We}}});function sr(e,t,l,n,o,s){var c;return e.unref(e.visibility)!==e.Visibility.None?(w(),D("button",{key:0,onClick:t[0]||(t[0]=(...r)=>e.selectTab&&e.selectTab(...r)),class:Ye(["tabButton",{active:e.active,...e.unref(e.classes)}]),style:nt([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},e.glowColorStyle,(c=e.unref(e.style))!=null?c:{}])},[(w(),ae(Ke(e.component)))],6)):O("",!0)}var On=xe(ir,[["render",sr],["__scopeId","data-v-610a2549"]]);const rr=ce({props:{visibility:{type:q(Number),required:!0},activeTab:{type:q(Object),required:!0},selected:{type:Object,required:!0},tabs:{type:q(Object),required:!0},style:q(String,Object,Array),classes:q(Object),buttonContainerStyle:q(String,Object,Array),buttonContainerClasses:q(Object)},components:{Sticky:Tn,TabButton:On},setup(e){const{activeTab:t}=ct(e),l=v(()=>Bl[et.theme].floatingTabs),n=Ut("");Pt(()=>{const r=ot(t);if(r==null){n.value="";return}if(Gt(r)){n.value=Ie(r);return}n.value=Ie(u(r.display))});const o=v(()=>{const r=ot(t);return Gt(r)||!r?void 0:u(r.classes)}),s=v(()=>{const r=ot(t);return Gt(r)||!r?void 0:u(r.style)});function c(r){const{display:p,style:m,classes:y,glowColor:h,visibility:b}=r;return{display:p,style:u(m),classes:y,glowColor:h,visibility:b}}return{floating:l,tabClasses:o,tabStyle:s,Visibility:We,component:n,gatherButtonProps:c,unref:u}}});function ur(e,t,l,n,o,s){var p,m;const c=el("TabButton"),r=el("Sticky");return e.unref(e.visibility)!==e.Visibility.None?(w(),D("div",{key:0,class:Ye(["tab-family-container",{...e.unref(e.classes),...e.tabClasses}]),style:nt([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(p=e.unref(e.style))!=null?p:[],(m=e.tabStyle)!=null?m:[]])},[i(r,{class:Ye(["tab-buttons-container",e.unref(e.buttonContainerClasses)]),style:nt(e.unref(e.buttonContainerStyle))},{default:ue(()=>[f("div",{class:Ye(["tab-buttons",{floating:e.floating}])},[(w(!0),D(B,null,Ea(e.unref(e.tabs),(y,h)=>(w(),ae(c,fl({onSelectTab:b=>e.selected.value=h,floating:e.floating,key:h,active:e.unref(y.tab)===e.unref(e.activeTab)},e.gatherButtonProps(y)),null,16,["onSelectTab","floating","active"]))),128))],2)]),_:1},8,["class","style"]),e.unref(e.activeTab)?(w(),ae(Ke(e.unref(e.component)),{key:0})):O("",!0)],6)):O("",!0)}var dr=xe(rr,[["render",ur],["__scopeId","data-v-11575f45"]]);const cr=Symbol("TabButton"),pr=Symbol("TabFamily");function mr(e,t){if(Object.keys(e).length===0)throw console.warn("Cannot create tab family with 0 tabs"),"Cannot create tab family with 0 tabs";const l=Ce(Object.keys(e)[0]);return St(()=>{var s;const n=(s=t==null?void 0:t())!=null?s:{};n.id=yl("tabFamily-"),n.type=pr,n[zt]=dr,n.tabs=Object.keys(e).reduce((c,r)=>{const p=e[r]();return p.type=cr,p[zt]=On,Q(p,"visibility"),ht(p,"visibility",We.Visible),Q(p,"tab"),Q(p,"display"),Q(p,"classes"),Q(p,"style"),Q(p,"glowColor"),c[r]=p,c},{}),n.selected=l,n.activeTab=v(()=>{const c=u(o.tabs);if(l.value in c&&u(c[l.value].visibility)===We.Visible)return u(c[l.value].tab);const r=Object.values(c).find(p=>u(p.visibility)===We.Visible);return r?u(r.tab):null}),Q(n,"visibility"),ht(n,"visibility",We.Visible),Q(n,"classes"),Q(n,"style"),Q(n,"buttonContainerClasses"),Q(n,"buttonContainerStyle"),n[tl]=function(){const{visibility:c,activeTab:r,selected:p,tabs:m,style:y,classes:h,buttonContainerClasses:b,buttonContainerStyle:g}=this;return{visibility:c,activeTab:r,selected:p,tabs:m,style:u(y),classes:h,buttonContainerClasses:b,buttonContainerStyle:g}};const o=n;return o})}const gr=ce({__name:"Tab",props:{display:null},setup(e){const t=e,{display:l}=ct(t),n=Tl(l);return(o,s)=>(w(),ae(Ke(u(n))))}}),vr=Symbol("Tab");function wa(e){return St(()=>{const t=e();return t.id=yl("tab-"),t.type=vr,t[zt]=gr,t[tl]=function(){const{display:l}=this;return{display:l}},t})}const fr={class:"field"},hr=ce({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const l=e,n=v(()=>Ie(u(l.title)||"","span")),o=v({get(){return!!l.modelValue},set(s){t("update:modelValue",s)}});return(s,c)=>(w(),D("label",fr,[sa(f("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":c[0]||(c[0]=r=>ft(o)?o.value=r:null)},null,512),[[uo,u(o)]]),(w(),ae(Ke(u(n))))]))}});var ol=xe(hr,[["__scopeId","data-v-33d57459"]]);const yr=Symbol("Reset");function br(e){return St(()=>{const t=e();return t.id=yl("reset-"),t.type=yr,t.reset=function(){var n;const l=o=>{if(o&&typeof o=="object")if(vl in o){const s=o;s.value=s[vl]}else!(o instanceof a)&&!ft(o)&&Object.values(o).forEach(s=>l(s))};u(t.thingsToReset).forEach(l),He.emit("reset",t),(n=t.onReset)==null||n.call(t)},Q(t,"thingsToReset"),t})}const Yl={};He.on("removeLayer",e=>{var t;(t=Yl[e.id])==null||t.call(Yl),Yl[e.id]=void 0});const wr="dyes",Ar=11,qe=Tt(wr,function(){const e="Dyes",t="#D4D4F4";function l(g){const _=dt(0,g.name),S=X(()=>[se(()=>({addend:()=>a.add(W.amount.value,1),description:`${g.name} Chambers`})),C(()=>({multiplier:o.orange1,description:"Orange Dye Boost 1",enabled:g.color=="red"||g.color=="yellow"})),C(()=>({multiplier:o.green1,description:"Green Dye Boost 1",enabled:g.color=="yellow"||g.color=="blue"})),C(()=>({multiplier:o.purple1,description:"Purple Dye Boost 1",enabled:g.color=="red"||g.color=="blue"})),C(()=>({multiplier:2,description:"Wetter Dyes",enabled:()=>r.yellowDyeUpg.bought.value&&(g.color=="red"||g.color=="yellow"||g.color=="blue")}))]),x=v(()=>S.apply(0)),W=Ne(()=>{const M=yt(g.costs);return{...g,style:()=>({backgroundColor:u(W.canPurchase)?t:"#545454",minWidth:"200px"}),display:E(()=>i("span",null,[i("h3",null,[g.name,d(" Chambers")]),i("br",null,null),d("Create "),H(x.value),d(" "),g.name,g.dyesToReset.length>0?", but reset "+g.dyesToReset.map(k=>k.name).join(", "):"",d("."),i("br",null,null),i("br",null,null),i("span",{class:"white-space: pre-wrap"},[d("Currently:")," ",g.listedBoosts.filter(k=>u(k.visible)).map(k=>le(E(()=>i("div",null,[u(k.desc)]))))]),i("br",null,null),i("div",null,[d("Cost:")," ",u(M).map(k=>le(E(()=>{var P,ne;return i("div",null,[H(u(a.pow((P=u(W.cost))!=null?P:a.dInf,u((ne=k.root)!=null?ne:1)).times(u(k.base))))," ",k.res.displayName,i("br",null,null)])})))])])),cost(){let k=W.amount.value;return a.gte(k,25)&&(k=a.pow(k,2).div(20)),a.gte(k,10)&&(k=a.pow(k,2).div(5)),a.div(k,10).plus(1)},canPurchase:v(k=>{var ne;if(u(W.visibility)!=We.Visible)return!1;const P=(ne=k!=null?k:u(W.cost))!=null?ne:a.dInf;return u(M).every(re=>{var L;return a.div(re.res.value,u(re.base)).root(u((L=re.root)!=null?L:1)).gte(P)})}),onPurchase(k){var ne;const P=(ne=k!=null?k:u(W.cost))!=null?ne:a.dInf;u(M).forEach(re=>{var L;re.res.value=a.sub(re.res.value,a.pow(P,u((L=re.root)!=null?L:1)).times(u(re.base)))}),_.value=a.add(_.value,x.value),W.amount.value=a.add(W.amount.value,1),g.dyesToReset.forEach(re=>re.reset())}}});return{name:g.name,amount:_,buyable:W,toGenerate:S,computedToGenerate:x,display:E(()=>i(Nt,{resource:_,color:g.color,style:"margin: 0; width: 200px; width: 180px; padding: 10px;",sticky:!1},null))}}const n={red:l({name:"Red Dye",color:"red",costs:()=>[{base:"2e18",root:5,res:de.logs},{base:v(()=>r.yellowDyeUpg2.bought.value?"2.5e5":"5e5"),root:2,res:Je.oil}],listedBoosts:[{visible:!0,desc:v(()=>`+${H(o.red1.value)} effective Oil Pumps (does not impact coal consumption)`)}],dyesToReset:[]}),yellow:l({name:"Yellow Dye",color:"yellow",costs:()=>[{base:"1e18",root:5,res:de.logs},{base:v(()=>r.yellowDyeUpg2.bought.value?"5e5":"1e6"),root:2,res:Je.oil}],listedBoosts:[{visible:!0,desc:v(()=>`x${H(o.yellow1.value)} Paper & Plastic gain`)}],dyesToReset:[]}),blue:l({name:"Blue Dye",color:"blue",costs:()=>[{base:"5e17",root:5,res:de.logs},{base:v(()=>r.yellowDyeUpg2.bought.value?"1e6":"2e6"),root:2,res:Je.oil}],listedBoosts:[{visible:!0,desc:v(()=>`+${Z(o.blue1.value)} forest size (after all other modifiers).`)}],dyesToReset:[]}),orange:l({name:"Orange Dye",color:"orange",costs:()=>[{base:15,root:2,res:n.red.amount},{base:10,root:2,res:n.yellow.amount}],listedBoosts:[{visible:!0,desc:v(()=>`x${H(o.orange1.value)} Red and Yellow Dye gain`)},{visible:!0,desc:v(()=>`/${H(o.orange2.value)} Box buyable costs.`)}],dyesToReset:[{name:"Red Dye",reset(){n.red.amount.value=0,n.red.buyable.amount.value=0}},{name:"Yellow Dye",reset(){n.yellow.amount.value=0,n.yellow.buyable.amount.value=0}}]}),green:l({name:"Green Dye",color:"green",costs:()=>[{base:15,root:2,res:n.yellow.amount},{base:10,root:2,res:n.blue.amount}],listedBoosts:[{visible:!0,desc:v(()=>`x${H(o.green1.value)} Yellow and Blue Dye gain`)},{visible:!0,desc:v(()=>`+${Z(a.sub(o.green2.value,1).times(100))}% Kiln synergy effect.`)}],dyesToReset:[{name:"Yellow Dye",reset(){n.yellow.amount.value=0,n.yellow.buyable.amount.value=0}},{name:"Blue Dye",reset(){n.blue.amount.value=0,n.blue.buyable.amount.value=0}}]}),purple:l({name:"Purple Dye",color:"purple",costs:()=>[{base:15,root:2,res:n.blue.amount},{base:10,root:2,res:n.red.amount}],listedBoosts:[{visible:!0,desc:v(()=>`x${H(o.purple1.value)} Red and Blue Dye gain`)},{visible:!0,desc:v(()=>`x${H(o.purple2.value)} Smelting Speed and Ore Purity`)}],dyesToReset:[{name:"Blue Dye",reset(){n.blue.amount.value=0,n.blue.buyable.amount.value=0}},{name:"Red Dye",reset(){n.red.amount.value=0,n.red.buyable.amount.value=0}}]})},o={red1:v(()=>a.pow(a.add(n.red.amount.value,1).log2().plus(1).log2().div(2),r.blueDyeUpg2.bought.value?1.5:1)),yellow1:v(()=>a.add(n.yellow.amount.value,1).log2().plus(1)),blue1:v(()=>a.add(n.blue.amount.value,1).log2().sqrt().times(5e6)),orange1:v(()=>a.pow(2,a.add(n.orange.amount.value,1).log2().sqrt()).pow(r.coalUpg.bought.value?1.2:1)),orange2:v(()=>a.add(n.orange.amount.value,1).log2().plus(1)),green1:v(()=>a.pow(2,a.add(n.green.amount.value,1).log2().sqrt()).pow(r.coalUpg.bought.value?1.2:1)),green2:v(()=>a.add(n.green.amount.value,1).log2().plus(1).pow(r.coalUpg.bought.value?2:1)),purple1:v(()=>a.pow(2,a.add(n.purple.amount.value,1).log2().sqrt()).pow(r.coalUpg.bought.value?1.2:1)),purple2:v(()=>a.add(n.purple.amount.value,1).log2().plus(1))},[s,c]=ll(()=>[{title:"Red Dye Creation",modifier:n.red.toGenerate,base:0},{title:"Yellow Dye Creation",modifier:n.yellow.toGenerate,base:0},{title:"Blue Dye Creation",modifier:n.blue.toGenerate,base:0},{title:"Orange Dye Creation",modifier:n.orange.toGenerate,base:0},{title:"Green Dye Creation",modifier:n.green.toGenerate,base:0},{title:"Purple Dye Creation",modifier:n.purple.toGenerate,base:0}]),r={blueDyeUpg:G(()=>({visibility:()=>I(a.add(n.orange.amount.value,n.green.amount.value).add(n.purple.amount.value).gte(1)||r.blueDyeUpg.bought.value),display:{title:"Is Blue Dye just Water?",description:E(()=>i(B,null,[d("Multiply Log gain by log"),i("sub",null,[d("10")]),d("(Auto Cutting Amount)+1.")]))},cost:1e3,resource:F(n.blue.amount),onPurchase(){n.blue.amount.value=0,n.blue.buyable.amount.value=0}})),redDyeUpg:G(()=>({visibility:()=>I(a.add(n.orange.amount.value,n.green.amount.value).add(n.purple.amount.value).gte(10)||r.redDyeUpg.bought.value),display:{title:"Glistening Paint",description:E(()=>i(B,null,[d("Multiply Ore Purity by log"),i("sub",null,[d("10")]),d("(Cloth)+1.")]))},cost:1500,resource:F(n.red.amount),onPurchase(){n.red.amount.value=0,n.red.buyable.amount.value=0}})),yellowDyeUpg:G(()=>({visibility:()=>I(a.add(n.orange.amount.value,n.green.amount.value).add(n.purple.amount.value).gte(100)||r.yellowDyeUpg.bought.value),display:{title:"Wetter Dyes",description:"Double Red, Yellow, and Blue Dye gain, but reset their amounts."},cost:2e3,resource:F(n.yellow.amount),onPurchase(){n.red.amount.value=0,n.red.buyable.amount.value=0,n.yellow.amount.value=0,n.yellow.buyable.amount.value=0,n.blue.amount.value=0,n.blue.buyable.amount.value=0}})),yellowDyeUpg2:G(()=>({visibility:()=>I(r.yellowDyeUpg.bought.value),display:{title:"Golden Wash",description:"Halve the Oil cost of Red, Yellow, and Blue Dyes."},cost:5e3,resource:F(n.yellow.amount),onPurchase(){n.yellow.amount.value=0,n.yellow.buyable.amount.value=0}})),redDyeUpg2:G(()=>({visibility:()=>I(r.redDyeUpg.bought.value),display:{title:"De Louvre",description:E(()=>i(B,null,[d("Multiply Smelting Speed by "),i(Oa,null,{default:()=>[d("Refineries+1")]}),d(".")]))},cost:6e3,resource:F(n.red.amount),onPurchase(){n.red.amount.value=0,n.red.buyable.amount.value=0}})),blueDyeUpg2:G(()=>({visibility:()=>I(r.blueDyeUpg.bought.value),display:{title:"Hydrophobia",description:"Raise Red Dye's effect ^1.5."},cost:7500,resource:F(n.blue.amount),onPurchase(){n.blue.amount.value=0,n.blue.buyable.amount.value=0}})),coalUpg:G(()=>({visibility:()=>I(r.blueDyeUpg2.bought.value&&r.redDyeUpg2.bought.value&&r.yellowDyeUpg2.bought.value),display:{title:"Denser Spectrum",description:"Orange, Green, and Purple Dyes' first effect is raised ^1.2, and Green Dye's second effect is squared. Buying this resets Red, Yellow, and Blue Dyes."},cost:"5e30",resource:R.coal,onPurchase(){n.red.amount.value=0,n.red.buyable.amount.value=0,n.yellow.amount.value=0,n.yellow.buyable.amount.value=0,n.blue.amount.value=0,n.blue.buyable.amount.value=0}}))},p=j(!1),m=E(()=>i(bt,{modelValue:p.value,"onUpdate:modelValue":g=>p.value=g},{header:()=>i("h2",null,[e,d(" Modifiers")]),body:s})),y=dt(v(()=>Object.values(n).reduce((g,_)=>a.add(g,_.amount.value),0)),"Sum of Dyes"),{total:h,trackerDisplay:b}=rl({resource:y,goal:6e4,name:e,day:Ar,color:t,textColor:"var(--feature-foreground)",modal:{show:p,display:m},ignoreTotal:!0});return{name:e,color:t,dyes:n,dyeSum:y,boosts:o,totalDyeSum:h,minWidth:700,generalTabCollapsed:c,upgrades:r,display:E(()=>i(B,null,[le(b),i(fe,null,null),i("div",{style:"width: 620px"},[je(n.red.display,n.yellow.display,n.blue.display),je(n.red.buyable,n.yellow.buyable,n.blue.buyable),i(fe,null,null),je(n.orange.display,n.green.display,n.purple.display),je(n.orange.buyable,n.green.buyable,n.purple.buyable)]),i(fe,null,null),i("div",{class:"row",style:"vertical-align: top"},[Ht(r.redDyeUpg,r.redDyeUpg2),Ht(r.yellowDyeUpg,r.yellowDyeUpg2),Ht(r.blueDyeUpg,r.blueDyeUpg2)]),le(r.coalUpg)]))}}),Cr="plastic",tn=10,Ue=Tt(Cr,function(){const e="Plastic",t="#DCD9CD",l=dt(0,"plastic"),[n,o]=ll(()=>[{title:"Plastic Gain",modifier:Me,base:0}]),s=j(!1),c=E(()=>i(bt,{modelValue:s.value,"onUpdate:modelValue":z=>s.value=z},{header:()=>i("h2",null,[e,d(" Modifiers")]),body:n})),r=Ce(0),p=v(()=>a.times(r.value,100)),m=Ne(()=>({resource:at.metal,cost(){const z=new a(this.amount.value);return a.pow(1.2,z).times(1e7)},display:E(()=>i(B,null,[i("h3",null,[d("Refinery")]),i("br",null,null),d("Refines oil into plastic pellets"),i("br",null,null),d("Consumes 100 oil/s to create 1 plastic/s"),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("-"),H(p.value),d(" oil/sec"),i("br",null,null),d("+"),H(r.value),d(" plastic/sec"),i("br",null,null),i("br",null,null),d("Cost: "),Z(u(m.cost))," ",m.resource.displayName])),onPurchase(){r.value=a.add(r.value,1)},style:{width:"300px"}})),{min:y,max:h,add:b,remove:g}=qt({buyable:m,active:r,style:{minHeight:"20px",width:"40px",color:"var(--feature-foreground)"}}),_=v(()=>a.pow(5,a.add([...Object.values(M),...Object.values(re)].filter(z=>z.bought.value).length,2))),S=G(()=>({resource:F(l),cost:_,display:()=>({title:"Plastic Scissors",description:"Unlock paper upgrades",showCost:!S.bought.value})})),x=G(()=>({resource:F(l),cost:_,display:()=>({title:"Plastic Level",description:"Unlock box upgrades",showCost:!x.bought.value})})),W=G(()=>({resource:F(l),cost:_,display:()=>({title:"Plastic Cane",description:"Unlock cloth upgrades",showCost:!W.bought.value})})),M={paperTools:S,boxTools:x,clothTools:W},k=G(()=>({resource:F(l),cost:_,visibility:()=>I(S.bought.value),display:()=>({title:"Paper Elf Recruitment",description:"Double plastic gain and unlock a new elf for training",showCost:!k.bought.value})})),P=G(()=>({resource:F(l),cost:_,visibility:()=>I(x.bought.value),display:()=>({title:"Box Elf Recruitment",description:"Double plastic gain and unlock a new elf for training",showCost:!P.bought.value})})),ne=G(()=>({resource:F(l),cost:_,visibility:()=>I(W.bought.value),display:()=>({title:"Cloth Elf Recruitment",description:"Double plastic gain and unlock a new elf for training",showCost:!ne.bought.value})})),re={paperElf:k,boxElf:P,clothElf:ne},L=Ne(()=>({resource:F(l),cost(){const z=this.amount.value;return a.pow(1.3,z).times(100)},visibility:()=>I(k.bought.value),display:{title:"Plastic Printing Press",description:"Gain +1% of your paper gain per second",effectDisplay:E(()=>i(B,null,[Z(L.amount.value),d("%")])),showAmount:!1}})),Ee=Ne(()=>({resource:F(l),cost(){const z=this.amount.value;return a.pow(1.3,z).times(100)},visibility:()=>I(P.bought.value),display:{title:"Plastic Box Folder",description:"Gain +1% of your box gain per second",effectDisplay:E(()=>i(B,null,[Z(Ee.amount.value),d("%")])),showAmount:!1}})),be=Ne(()=>({resource:F(l),cost(){const z=this.amount.value;return a.pow(1.3,z).times(100)},visibility:()=>I(ne.bought.value),display:{title:"Plastic Shepherd",description:"All cloth actions are +10% more efficient",effectDisplay:E(()=>i(B,null,[Z(a.times(be.amount.value,10)),d("%")])),showAmount:!1}})),Re={passivePaper:L,passiveBoxes:Ee,clothGains:be},Me=X(()=>[se(()=>({addend:r,description:"Oil Refinery",enabled:()=>a.gt(r.value,0)})),C(()=>({multiplier:2,description:"Paper Elf Recruitment",enabled:k.bought})),C(()=>({multiplier:2,description:"Box Elf Recruitment",enabled:P.bought})),C(()=>({multiplier:2,description:"Cloth Elf Recruitment",enabled:ne.bought})),C(()=>({multiplier:2,description:"Carry plastic in boxes",enabled:Xe.row2Upgrades.plasticUpgrade.bought})),C(()=>({multiplier:()=>Je.oilEffectiveness.value,description:"Effectiveness",enabled:()=>a.lt(Je.oilEffectiveness.value,1)})),C(()=>({multiplier:qe.boosts.yellow1,description:"Yellow Dye Boost 1",enabled:()=>a.gte(qe.dyes.yellow.amount.value,1)}))]),Pe=v(()=>Me.apply(0));He.on("update",z=>{a.lt(Y.day.value,tn)||(l.value=a.times(z,Pe.value).add(l.value))});const{total:Fe,trackerDisplay:De}=rl({resource:l,goal:25e4,name:e,day:tn,color:t,textColor:"var(--feature-foreground)",modal:{show:s,display:c}});return{name:e,color:t,plastic:l,totalPlastic:Fe,buildRefinery:m,activeRefinery:r,oilCost:p,upgrades:M,elfUpgrades:re,buyables:Re,generalTabCollapsed:o,minWidth:700,display:E(()=>i(B,null,[le(De),i(fe,null,null),i(Nt,{resource:l,color:t,style:"margin-bottom: 0",effectDisplay:a.gt(Pe.value,0)?`+${H(Pe.value)}/s`:void 0},null),i(fe,null,null),i(Dt,null,{default:()=>[le(m),i("div",null,[Z(a.floor(r.value)),d("/"),Z(a.floor(m.amount.value))]),je(y,g,b,h)]}),i(Pl,null,{default:()=>[Ht(S,k,L),Ht(x,P,Ee),Ht(W,ne,be)]})]))}}),kr="oil",Aa=9,Je=Tt(kr,function(){const e="Oil",t="#000000",l="var(--foreground)",n=dt(0,"oil"),o=dt(0,"depth"),s=Ce(0),c=v(()=>a.lt(o.value,990)?a.add(10,o.value):a.pow(1.001,a.sub(o.value,990)).mul(1e3));function r(){if(a.lt(o.value,990)){const ze=a.min(a.affordArithmeticSeries(s.value,10,1,o.value),a.sub(990,o.value)),Et=a.sumArithmeticSeries(ze,10,1,o.value);s.value=a.sub(s.value,Et),o.value=a.add(o.value,ze)}if(a.gte(o.value,990)){const ze=a.affordGeometricSeries(s.value,1e3,1.001,a.sub(o.value,990)),Et=a.sumGeometricSeries(ze,1e3,1.001,a.sub(o.value,990));s.value=a.sub(s.value,Et),o.value=a.add(o.value,ze)}}const p=Ce(0),m=v(()=>a.times(a.pow(p.value,W.value).pow(2),1e14)),y=v(()=>a.times(a.pow(p.value,W.value),1)),h=Ne(()=>({resource:at.metal,cost(){const ze=new a(this.amount.value);return a.pow(1.3,ze).times(25e3)},display:E(()=>i(B,null,[i("h3",null,[d("Heavy Drill")]),i("br",null,null),d("A large drill specialized at deep mining."),i("br",null,null),d("Consumes 1e14*(Heavy Drills amount)"),i("sup",null,[d("2")]),d(" coal/sec for (Heavy Drills amount) drill power."),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("-"),ve(m.value),d(" coal/sec"),i("br",null,null),d("+"),ve(y.value),d(" drill power"),i("br",null,null),i("br",null,null),d("Cost: "),ge(u(h.cost)),d(" "),h.resource.displayName])),onPurchase(){p.value=a.add(p.value,1)},style:{color:l,width:"160px"}})),{min:b,max:g,add:_,remove:S}=qt({buyable:h,active:p}),x=Ce(0),W=v(()=>a.add(x.value,Math.E).ln()),M=Ne(()=>({resource:at.metal,cost(){const ze=new a(this.amount.value);return a.pow(2,ze).times(1e5)},display:E(()=>i(B,null,[i("h3",null,[d("Heavy Drill Drill")]),i("br",null,null),d("Attach extra drills to Heavy Drills to make them faster"),i("br",null,null),d("Raise amount of effective Heavy Drills by ^ln(Heavy Drill Drill amount + e)."),i("br",null,null),d("(also affects coal consumption)."),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("^"),ve(W.value),d(" Heavy Drill amount"),i("br",null,null),i("br",null,null),d("Cost: "),ge(u(M.cost)),d(" "),M.resource.displayName])),onPurchase(){x.value=a.add(x.value,1)},style:{color:l,width:"160px"}})),{min:k,max:P,add:ne,remove:re}=qt({buyable:M,active:x}),L=Ce(0),Ee=v(()=>a.pow(1/3,L.value)),be=v(()=>a.pow(2,L.value)),Re=v(()=>a.pow(1.2,L.value)),Me=Ne(()=>({resource:at.metal,cost(){const ze=new a(this.amount.value);return a.pow(8,ze).times(2e5)},display:E(()=>i(B,null,[i("h3",null,[d("Heavy Extractor")]),i("br",null,null),d("Attach extractors to the drill to mine coal and ore, but with a price."),i("br",null,null),d("Divides drill power by 3 to multiply coal gain by 2 and ore gain by 1.2."),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("\xD7"),ve(Ee.value),d(" drill power"),i("br",null,null),d("\xD7"),ve(be.value),d(" coal/sec"),i("br",null,null),d("\xD7"),ve(Re.value),d(" ore/sec"),i("br",null,null),i("br",null,null),d("Cost: "),ge(u(Me.cost))," ",Me.resource.displayName])),onPurchase(){L.value=a.add(L.value,1)},style:{color:l,width:"160px"}})),{min:Pe,max:Fe,add:De,remove:z}=qt({buyable:Me,active:L}),we=Ce(0),_e=v(()=>a.pow(At[3].bought.value?4:5,we.value)),he=v(()=>a.add(we.value,La.value).pow(2).mul(p.value).mul(a.add(x.value,1)).mul(L.value).mul(o.value).div(1e5)),Oe=Ne(()=>({resource:at.metal,cost(){const ze=new a(this.amount.value);let Et=a.pow(16,ze).times(2e6);return At[4].bought.value&&(Et=Et.div(a.add(Al.value,1).root(6))),Et},display:E(()=>i(B,null,[i("h3",null,[d("Oil Pump")]),i("br",null,null),d("Pump that oil from the ground."),i("br",null,null),d("Gain oil based on the number of Heavy Drills and Heavy Drill Drills active and well depth, but coal usage is multiplied by "),At[3].bought.value?4:5,d("\xD7."),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("\xD7"),ve(_e.value),d(" coal usage"),i("br",null,null),d("+"),ve(he.value),d(" oil/sec"),i("br",null,null),i("br",null,null),d("Cost: "),ge(u(Oe.cost)),d(" "),Oe.resource.displayName])),onPurchase(){we.value=a.add(we.value,1)},style:{color:l,width:"160px"}})),{max:Te,min:pt,add:Ge,remove:It}=qt({buyable:Oe,active:we}),$=Ce(0),K=v(()=>a.pow($.value,2)),oe=v(()=>a.pow($.value,3).mul(1e19)),Le=v(()=>a.add($.value,1)),pe=Ne(()=>({resource:F(n),cost(){const ze=new a(this.amount.value);return a.pow(2,ze).times(50)},display:E(()=>i(B,null,[i("h3",null,[d("Oil Burner")]),i("br",null,null),d("Burn oil as fuel."),i("br",null,null),d("(Oil Burner Amount)"),i("sup",null,[d("2")]),d(" unit of oil can give 1e19*(Oil Burner Amount)"),i("sup",null,[d("3")]),d(" units of coal."),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("-"),ve(K.value),d(" oil/sec"),i("br",null,null),d("-"),ve(oe.value),d(" coal consumption"),At[2].bought.value?i(B,null,[i("br",null,null),d("\xD7"),ve(Le.value),d(" to auto smelting multi")]):"",i("br",null,null),i("br",null,null),d("Cost: "),ge(u(pe.cost)),d(" "),pe.resource.displayName])),onPurchase(){$.value=a.add($.value,1)},style:{color:l,width:"160px"}})),{max:mt,min:Ze,add:$e,remove:gt}=qt({buyable:pe,active:$}),U=Ce(0),it=v(()=>a.pow(U.value,2).mul(100)),Ve=v(()=>a.add(U.value,1)),lt=Ne(()=>({resource:at.metal,cost(){const ze=new a(this.amount.value);let Et=a.pow(10,ze).times(1e7);return At[4].bought.value&&(Et=Et.div(a.add(Al.value,1).root(6))),Et},display:E(()=>i(B,null,[i("h3",null,[d("Oil Smelter")]),i("br",null,null),d("Use oil as a crucible fuel."),i("br",null,null),d("Burn 100x"),i("sup",null,[d("2")]),d(" oil to smelt +100% faster."),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("-"),ve(it.value),d(" oil/sec"),i("br",null,null),d("\xD7"),ve(Ve.value),d(" smelting speed"),i("br",null,null),i("br",null,null),d("Cost: "),ge(u(lt.cost)),d(" "),lt.resource.displayName])),onPurchase(){U.value=a.add(U.value,1)},style:{color:l,width:"160px"}})),{max:ee,min:V,add:Mt,remove:Jt}=qt({buyable:lt,active:U}),rt=[ye(()=>({display:{requirement:"5m Well Depth",effectDisplay:"Gain 25% more coal for each metre of well depth (after the 3 elf milestone)."},shouldEarn:()=>a.gte(o.value,5)})),ye(()=>({display:{requirement:"10m Well Depth",effectDisplay:"Drill too slow? Unlock some drill upgrades!"},shouldEarn:()=>a.gte(o.value,10),visibility:()=>I(rt[0].earned.value)})),ye(()=>({display:{requirement:"25m Well Depth",effectDisplay:"Gain 5% more ore for each metre of well depth."},shouldEarn:()=>a.gte(o.value,25),visibility:()=>I(rt[1].earned.value)})),ye(()=>({display:{requirement:"60m Well Depth",effectDisplay:"Drill still too slow? Try unlocking another drill!"},shouldEarn:()=>a.gte(o.value,60),visibility:()=>I(rt[2].earned.value)})),ye(()=>({display:{requirement:"150m Well Depth",effectDisplay:"It appears that coal and metal appear a lot more when you go this deep! Unlock an upgrade apiece for coal and metal!"},shouldEarn:()=>a.gte(o.value,150),visibility:()=>I(rt[3].earned.value)})),ye(()=>({display:{requirement:"350m Well Depth",effectDisplay:"There is even more coal and metal than you thought. Why don't you utilize your heavy drill to mine them? Unlock a new drill upgrade!"},shouldEarn:()=>a.gte(o.value,350),visibility:()=>I(rt[4].earned.value)})),ye(()=>({display:{requirement:"1,000m Well Depth",effectDisplay:"You've finally found oil! Maybe it's time to make those oil useful! Unfortunately extracting them would use more coal, and also it's becoming much harder to mine deeper due to the thermal heat and pressure."},shouldEarn:()=>a.gte(o.value,1e3),visibility:()=>I(a.gte(o.value,1e3))})),ye(()=>({display:{requirement:"3,000m Well Depth",effectDisplay:"You found a large oil spot! Double oil gain!"},shouldEarn:()=>a.gte(o.value,3e3),visibility:()=>I(a.gte(o.value,2e3))}))],{collapseMilestones:ie,display:Ct}=Vl(rt),kt=[ye(()=>({display:{requirement:"100 total oil",effectDisplay:"Hmm, these oil pumps are really expensive. Maybe you should find a way to solve this problem... maybe you can use oil as fuel instead of coal?"},shouldEarn:()=>a.gte(Al.value,100)})),ye(()=>({display:{requirement:"500 total oil",effectDisplay:"Unlocks oil upgrades! These can be bought with oil."},shouldEarn:()=>a.gte(Al.value,500),visibility:()=>I(kt[0].earned.value)})),ye(()=>({display:{requirement:"10,000 total oil",effectDisplay:"Wow, this is really bright when you burn it. Maybe it can be helpful to use them to smelt metal?"},shouldEarn:()=>a.gte(Al.value,1e4),visibility:()=>I(kt[1].earned.value)}))],{collapseMilestones:dl,display:bl}=Vl(kt),Ft=[G(()=>({resource:R.coal,cost:1e18,display:{title:"Coal Drill Synergy",description:"Increase drill power by +4% per coal Mining Drill owned.",effectDisplay:E(()=>i(B,null,[d("x"),ve(wt[0].value)]))},style:{color:l}})),G(()=>({resource:at.metal,cost:15e4,display:{title:"Metal Drill Synergy",description:"Increase drill power by +4% per ore Mining Drill owned.",effectDisplay:E(()=>i(B,null,[d("x"),ve(wt[1].value)]))},style:{color:l}})),G(()=>({resource:R.coal,cost:1e20,display:{title:"Coal Drill Upgrade",description:"Increase drill power by +6% per OoM of coal owned.",effectDisplay:E(()=>i(B,null,[d("x"),ve(wt[2].value)]))},style:{color:l}})),G(()=>({resource:at.metal,cost:15e5,display:{title:"Metal Drill Upgrade",description:"Increase drill power by +10% per OoM of metal ingot owned.",effectDisplay:E(()=>i(B,null,[d("x"),ve(wt[3].value)]))},style:{color:l}})),G(()=>({resource:F(n),cost:100,display:{title:"Drill Oil",description:"Increase previous upgrades' effect by +0.1% per Heavy Drill owned.",effectDisplay:E(()=>i(B,null,[d("+"),ve(a.mul(wt[4].value,100)),d("%")]))},style:{color:l}}))],wt=[v(()=>a.mul(R.buildDrill.amount.value,a.add(.04,nl.value)).add(1)),v(()=>a.mul(at.oreDrill.amount.value,a.add(.04,nl.value)).add(1)),v(()=>a.mul(a.max(R.coal.value,1).log10().floor(),a.add(.06,nl.value)).add(1)),v(()=>a.mul(a.max(at.metal.value,1).log10().floor(),a.add(.1,nl.value)).add(1)),v(()=>a.mul(h.amount.value,.001))],At=[G(()=>({resource:F(n),cost:100,display:{title:"Oil the Oil Pump",description:"Double oil gain."},style:{color:l}})),G(()=>({resource:F(n),cost:500,display:{title:"Oil the Mining Drills",description:"Double ore mining speed and square the coal drill amount in its effect."},style:{color:l}})),G(()=>({resource:F(n),cost:1500,display:{title:"Blaster Burner",description:"The Oil Burner can now increase your metal gain."},style:{color:l}})),G(()=>({resource:F(n),cost:25e3,display:{title:"Oil Integration",description:"Reduce Oil Pump's coal consumption multipler from 5 to 4"},style:{color:l}})),G(()=>({resource:F(n),cost:5e4,display:{title:"Be One with the Oil",description:E(()=>i(B,null,[d("Divide metal ingot prices of oil buildings by "),i("sup",null,[d("6")]),i(Oa,null,{default:()=>[d("total oil + 1")]})]))},style:{color:l}}))],al=X(()=>[se(()=>({addend:()=>a.negate(m.value),description:"Heavy Drill",enabled:()=>a.gt(p.value,0)})),C(()=>({multiplier:_e,description:"Oil Pump",enabled:()=>a.gt(we.value,0)})),se(()=>({addend:va,description:"Oil to Coal Substitution",enabled:()=>a.gt(va.value,0)}))]),Ot=v(()=>al.apply(0)),Xt=X(()=>[se(()=>({addend:y,description:"Heavy Drill",enabled:()=>a.gt(p.value,0)})),C(()=>({multiplier:Ee,description:"Heavy Extractor",enabled:()=>a.gt(L.value,0)})),C(()=>({multiplier:wt[0],description:"Coal Drill Synergy",enabled:Ft[0].bought})),C(()=>({multiplier:wt[1],description:"Metal Drill Synergy",enabled:Ft[1].bought})),C(()=>({multiplier:wt[2],description:"Coal Drill Upgrade",enabled:Ft[2].bought})),C(()=>({multiplier:wt[3],description:"Metal Drill Upgrade",enabled:Ft[3].bought})),C(()=>({multiplier:2,description:"Guide to drilling",enabled:J.upgrades.drillingUpgrade.bought})),C(()=>({multiplier:()=>Zt.value,description:"Effectiveness",enabled:()=>a.lt(Zt.value,1)}))]),Yt=v(()=>Xt.apply(0)),wl=X(()=>[se(()=>({addend:wt[4],description:"Drill Oil",enabled:Ft[4].bought}))]),nl=v(()=>wl.apply(0)),zl=X(()=>[se(()=>({addend:he,description:"Oil Pump",enabled:()=>a.gt(we.value,0)})),C(()=>({multiplier:2,description:"Oil the Oil Pump",enabled:At[0].bought})),C(()=>({multiplier:2,description:"3000m Well Depth",enabled:rt[7].earned})),C(()=>({multiplier:2,description:"Oil and where to find it",enabled:J.upgrades.oilUpgrade.bought})),C(()=>({multiplier:()=>Zt.value,description:"Effectiveness",enabled:()=>a.lt(Zt.value,1)}))]),Nl=v(()=>zl.apply(0)),Jl=X(()=>[se(()=>({addend:()=>a.negate(K.value),description:"Oil Burner",enabled:()=>a.gt($.value,0)})),se(()=>({addend:()=>a.negate(it.value),description:"Oil Smelter",enabled:()=>a.gt(U.value,0)})),se(()=>({addend:()=>a.negate(Ue.oilCost.value),description:"Oil Refinery",enabled:()=>a.gt(Ue.activeRefinery.value,0)}))]),T=v(()=>Jl.apply(0)),Va=X(()=>[se(()=>({addend:oe,description:"Oil Burner",enabled:()=>a.gt($.value,0)})),C(()=>({multiplier:()=>cl.value,description:"Effectiveness",enabled:()=>a.lt(cl.value,1)}))]),va=v(()=>Va.apply(0)),Ha=X(()=>[se(()=>({addend:qe.boosts.red1,description:"Red Dye Boost 1",enabled:()=>a.gte(qe.dyes.red.amount.value,1)}))]),La=v(()=>Ha.apply(0)),[to,lo]=ll(()=>[{title:"Coal Consumption",modifier:al,unit:"/s",base:0},{title:"Drill Power",modifier:Xt,base:0},{title:"Upgrade Bonus",modifier:wl,base:0,visible(){return a.gt(nl.value,0)}},{title:"Oil Speed",modifier:zl,unit:"/s",base:0,visible(){return a.gt(Nl.value,0)}},{title:"Oil Consumption",modifier:Jl,unit:"/s",base:0,visible(){return a.lt(T.value,0)}},{title:"Oil to Coal Substitution",modifier:Va,unit:"/s",base:0,visible(){return a.gt(va.value,0)}},{title:"Extra Oil Pumps",modifier:Ha,base:0,visible(){return a.gt(La.value,0)}}]),fa=j(!1),ao=E(()=>i(bt,{modelValue:fa.value,"onUpdate:modelValue":ze=>fa.value=ze},{header:()=>i("h2",null,[e,d(" Modifiers")]),body:to})),Zt=j(a.dOne),cl=j(a.dOne);He.on("update",ze=>{if(a.lt(Y.day.value,Aa))return;const Et=a.negate(Ot.value);a.gt(Et,0)?(Zt.value=a.min(a.div(R.coal.value,Et),1),R.coal.value=a.sub(R.coal.value,a.mul(Et,Zt.value).mul(ze))):Zt.value=a.dOne,s.value=a.add(s.value,a.mul(Yt.value,ze)),n.value=a.add(n.value,a.mul(Nl.value,ze)),r();const ha=a.negate(T.value);a.gt(ha,0)?(cl.value=a.min(a.div(n.value,ha),1),n.value=a.sub(n.value,a.mul(ha,cl.value).mul(ze)).max(0)):cl.value=a.dOne});const{total:Al,trackerDisplay:no}=rl({resource:n,goal:25e4,name:e,day:Aa,color:t,modal:{show:fa,display:ao}});return{name:e,day:Aa,color:t,oil:n,totalOil:Al,depth:o,drillProgress:s,activeHeavy:p,buildHeavy:h,activeHeavy2:x,buildHeavy2:M,activeExtractor:L,buildExtractor:Me,activePump:we,buildPump:Oe,activeBurner:$,buildBurner:pe,activeSmelter:U,buildSmelter:lt,extractorCoal:be,extractorOre:Re,coalEffectiveness:Zt,oilEffectiveness:cl,depthMilestones:rt,collapsedDepthMilestones:ie,row1Upgrades:Ft,row2Upgrades:At,minWidth:700,oilMilestones:kt,collapsedOilMilestones:dl,generalTabCollapsed:lo,display:E(()=>i(B,null,[le(no),i(fe,null,null),a.lt(Zt.value,1)?i("div",null,[d("Coal efficiency: "),ve(a.mul(Zt.value,100)),d("%")]):null,a.lt(cl.value,1)?i("div",null,[d("Oil efficiency: "),ve(a.mul(cl.value,100)),d("%")]):null,i(Nt,{resource:n,color:t,sticky:!0,productionDisplay:E(()=>i(B,null,[a.lt(o.value,1e3)?"Reach 1000m to start gaining oil":i(B,null,[na(a.add(Nl.value,T.value))])]))},null),a.eq(Nl.value,0)?i(B,null,[d("(Need at least 1 Oil Pump, 1 Heavy Drill and 1 Heavy Extractor active to gain oil)"),i("br",null,null)]):"",i(Pl,null,{default:()=>[rt[6].earned.value?i(Dt,null,{default:()=>[le(Oe),i("div",null,[ge(a.floor(we.value)),d("/"),ge(a.floor(Oe.amount.value))]),je(pt,It,Ge,Te)]}):null,kt[0].earned.value?i(Dt,null,{default:()=>[le(pe),i("div",null,[ge(a.floor($.value)),d("/"),ge(a.floor(pe.amount.value))]),je(Ze,gt,$e,mt)]}):null,kt[2].earned.value?i(Dt,null,{default:()=>[le(lt),i("div",null,[ge(a.floor(U.value)),d("/"),ge(a.floor(lt.amount.value))]),je(V,Jt,Mt,ee)]}):null]}),i("br",null,null),i("div",null,[i("span",null,[d("The well is ")]),i("h2",{style:"color: #6f767f; text-shadow: 0 0 10px #6f767f"},[ge(o.value)]),d("m deep"),i("br",null,null),d("Next at "),ve(a.sub(c.value,s.value)),d(" drill power seconds")]),i("div",null,[i("span",null,[d("Your drill power is ")]),i("h2",{style:"color: #6f767f; text-shadow: 0 0 10px #6f767f"},[ve(Yt.value)])]),i(fe,null,null),i(Pl,null,{default:()=>[i(Dt,null,{default:()=>[le(h),i("div",null,[ge(a.floor(p.value)),d("/"),ge(a.floor(h.amount.value))]),je(b,S,_,g)]}),rt[3].earned.value?i(Dt,null,{default:()=>[le(M),i("div",null,[ge(a.floor(x.value)),d("/"),ge(a.floor(M.amount.value))]),je(k,re,ne,P)]}):null,rt[5].earned.value?i(Dt,null,{default:()=>[le(Me),i("div",null,[ge(a.floor(L.value)),d("/"),ge(a.floor(Me.amount.value))]),je(Pe,z,De,Fe)]}):null]}),i(fe,null,null),El(...kt[1].earned.value?rt[1].earned.value?[Ft,At]:[Ft]:[]),i(fe,null,null),Ct(),a.gte(Al.value,50)?bl():""]))}}),_r="metal",ln=7,at=Tt(_r,function(){const e="Metal",t="#888B8D",l=dt(0,"metal ingots",void 0,!0),n=Ya(l),o=dt(0,"ore"),s=Ya(o),c=X(()=>[C(()=>({multiplier:5,description:"Crucible",enabled:Fe.bought})),C(()=>({multiplier:1.5,description:"Industrial Crucible",enabled:()=>a.gte(he.amount.value,1)})),C(()=>({multiplier:2,description:"Industrial Furnace",enabled:z.bought})),C(()=>({multiplier:()=>a.add(pt.value,1),description:"Hotter Forges",enabled:()=>a.gte(Te.amount.value,1)})),C(()=>({multiplier:2,description:"Carry metal in boxes",enabled:Xe.row2Upgrades.metalUpgrade.bought})),C(()=>({multiplier:qe.boosts.purple2,description:"Purple Dye Boost 2",enabled:()=>a.gte(qe.dyes.purple.amount.value,1)})),C(()=>({multiplier:()=>a.add(tt.cloth.value,1).log10().plus(1),description:"Glistening Paint",enabled:qe.upgrades.redDyeUpg.bought}))]),r=v(()=>c.apply(.1)),p=X(()=>[se(()=>({addend:()=>a.times(he.amount.value,10),description:"Industrial Crucibles",enabled:()=>a.gte(he.amount.value,1)})),C(()=>({multiplier:2,description:"Efficient Crucibles",enabled:R.efficientSmelther.bought})),C(()=>({multiplier:()=>a.mul(Je.activeSmelter.value,Je.oilEffectiveness.value).add(1),description:"Oil Smelter",enabled:()=>a.gt(Je.activeSmelter.value,0)})),C(()=>({multiplier:qe.boosts.purple2,description:"Purple Dye Boost 2",enabled:()=>a.gte(qe.dyes.purple.amount.value,1)})),C(()=>({multiplier:()=>a.add(Ue.activeRefinery.value,1).sqrt(),description:"De Louvre",enabled:qe.upgrades.redDyeUpg2.bought}))]),m=v(()=>p.apply(0)),y=X(()=>[C(()=>({multiplier:3,description:"Efficient Crucibles",enabled:R.efficientSmelther.bought})),C(()=>({multiplier:()=>a.add(Je.activeBurner.value,1).mul(Je.oilEffectiveness.value),description:"Blaster Burner",enabled:Je.row2Upgrades[2].bought}))]),h=v(()=>y.apply(1)),b=1e10,g=v(()=>a.min(o.value,a.div(R.coal.value,b)).floor().max(0)),_=xt(()=>({display:E(()=>{const pe=a.gte(g.value,1)?g.value:a.add(g.value,1);return i(B,null,[i("span",{style:"font-size: large"},[d("Smelt "),ve(a.times(g.value,r.value))," ",l.displayName]),i("br",null,null),i("span",{style:"font-size: large"},[d("Cost: "),ge(pe),d(" "),o.displayName,d(";")," ",ge(a.times(pe,b)),d(" "),R.coal.displayName])])}),canClick:()=>a.gte(g.value,1),onClick(){!u(this.canClick)||S(g.value)},style:{width:"600px",minHeight:"unset"}}));function S(pe,mt=1){const[Ze,$e,gt]=[a.times(pe,r.value).times(mt),pe,a.times(pe,b)];l.value=a.add(l.value,Ze),o.value=a.sub(o.value,$e),R.coal.value=a.sub(R.coal.value,gt)}const x=X(()=>[se(()=>({addend:()=>_e.amount.value,description:"Mining Drills",enabled:()=>a.gte(_e.amount.value,1)})),C(()=>({multiplier:()=>a.mul(Je.depth.value,.05).add(1),description:"25m Well Depth",enabled:Je.depthMilestones[2].earned})),C(()=>({multiplier:Je.extractorOre,description:"Heavy Extractor",enabled:()=>a.gt(Je.activeExtractor.value,0)})),C(()=>({multiplier:2,description:"Carry ore in boxes",enabled:Xe.row2Upgrades.oreUpgrade.bought}))]),W=v(()=>x.apply(1)),M=X(()=>[C(()=>({multiplier:2,description:"A Simple Pickaxe",enabled:Me.bought})),C(()=>({multiplier:2,description:"Double Pickaxe",enabled:Pe.bought})),C(()=>({multiplier:2.5,description:"Mining Drills",enabled:()=>a.gte(_e.amount.value,1)})),C(()=>({multiplier:2,description:"Efficient Drills",enabled:we.bought})),C(()=>({multiplier:2,description:"Oil the Mining Drills",enabled:Je.row2Upgrades[1].bought}))]),k=v(()=>M.apply(a.recip(ne))),P=Ce(0),ne=10,re=jt(()=>({width:400,height:25,direction:Be.Right,fillStyle:{backgroundColor:t},progress:()=>P.value})),L=X(()=>[se(()=>({addend:W})),C(()=>({multiplier:k}))]),Ee=v(()=>L.apply(0)),be=X(()=>[se(()=>({addend:Ee})),se(()=>({addend:()=>a.negate(m.value),enabled:Oe}))]),Re=v(()=>be.apply(0)),Me=G(()=>({resource:F(l),cost:.1,display:{title:"A Simple Pickaxe",description:"Make a simple pickaxe to help mine faster.

Halve the time to mine more ore"}})),Pe=G(()=>({resource:F(l),cost:.1,display:{title:"Double Pickaxe",description:"This is too slow. What if you swung two pickaxes at once?

Halve the time to mine ore, again"},visibility:()=>I(Pe.bought.value)})),Fe=G(()=>({resource:F(l),cost:1,display:{title:"Crucible",description:"Smelting this all by hand is rather painful, and a lot of the metal is left in the slag. A small crucible should help a lot!

Increase the metal extracted per ore by 5x"},visibility:()=>I(Fe.bought.value||a.div(s.value,r.value).plus(n.value).gte(1))})),De=G(()=>({resource:F(l),cost:0,display:{title:"Coal Drilling",description:"These mining drills are pretty powerful, mining more ore than you can actually smelt. Could be worth making some to mine coal instead"},visibility:()=>I(a.gte(_e.amount.value,1)&&(De.bought.value||Y.days[7].opened.value||a.lt(R.computedCoalGain.value,a.times(W.value,k.value).times(b)))),onPurchase(){Y.days[2].recentlyUpdated.value=!0}})),z=G(()=>({canAfford(){return a.gte(l.value,50)&&a.gte(R.coal.value,1e11)},onPurchase(){l.value=a.sub(l.value,50),R.coal.value=a.sub(R.coal.value,1e11)},display:{title:"Industrial Furnace",description:`Moving smelting out of the open air and into a dedicated furnace should make efficiency even better. Double metal gained per ore +
+
+ Cost: 50 ${l.displayName}
${ve(1e11)} ${R.coal.displayName}`}})),we=G(()=>({resource:F(l),cost:1e5,display:{title:"Efficient Drills",description:"Use metal and a bunch of R&D to make drilling stuff faster. Double coal and ore mining speed."},visibility:()=>I(Je.depthMilestones[4].earned.value)})),_e=Ne(()=>({resource:F(l),cost(){return a.pow(1.15,this.amount.value).times(10)},display:{title:"Mining Drill",description:"An automated machine to help you mine more ore, faster",effectDisplay:E(()=>i(B,null,[d("Mine 2.5x faster. Increase ore mining amount by")," ",ge(_e.amount.value),d(" ore per operation")]))},visibility:()=>I(a.gte(_e.amount.value,1)||a.div(s.value,r.value).plus(n.value).gte(10)),style:{width:"200px"}})),he=Ne(()=>({resource:F(l),cost(){return a.pow(1.15,a.times(this.amount.value,10)).times(10)},display:{title:"Industrial Crucible",description:"A giant automated crucible furnace, letting you smelt ore faster",effectDisplay:E(()=>i(B,null,[d("Automatically smelts")," ",ge(a.times(he.amount.value,10)),d(" ore per second")]))},visibility:()=>I(a.gte(he.amount.value,1)||a.gte(_e.amount.value,4)||a.gte(s.value,50)),style:{width:"200px"}})),Oe=Ce(!0),Te=Ne(()=>({resource:R.coal,cost(){return a.pow(10,this.amount.value).times(1e12)},display:{title:"Hotter Forges",description:"More coal makes the fires burn hotter, getting just a little more metal out of each bit of ore",effectDisplay:E(()=>i(B,null,[d("Gain "),ge(a.times(pt.value,100)),d("% more metal per ore")]))},visibility:()=>I(a.gte(Te.amount.value,1)||z.bought.value),style:{width:"200px"}})),pt=v(()=>a.times(Te.amount.value,.25));He.on("update",pe=>{P.value=a.times(pe,k.value).plus(P.value);const mt=P.value.trunc();P.value=P.value.minus(mt),o.value=a.add(o.value,a.times(mt,W.value)),Oe.value&&S(a.min(g.value,a.times(m.value,pe)),h.value)});const[Ge,It]=ll(()=>[{title:"Auto Smelt Speed",modifier:p,base:0,unit:"/s",visible(){return a.gt(he.amount.value,0)}},{title:"Auto Smelt Multiplier",modifier:y,base:1,visible(){return a.gt(h.value,1)}},{title:"Metal per Ore",modifier:c,base:.1},{title:"Ore per Mining Operation",modifier:x,base:1},{title:"Mining Speed",modifier:M,base:.1,unit:"/s"}]),$=j(!1),K=E(()=>i(bt,{modelValue:$.value,"onUpdate:modelValue":pe=>$.value=pe},{header:()=>i("h2",null,[e,d(" Modifiers")]),body:Ge})),{total:oe,trackerDisplay:Le}=rl({resource:l,goal:25e3,name:e,day:ln,color:t,modal:{show:$,display:K}});return{name:e,day:ln,color:t,ore:o,bestOre:s,oreProgress:P,metal:l,bestMetal:n,totalMetal:oe,simplePickaxe:Me,doublePickaxe:Pe,crucible:Fe,coalDrill:De,industrialFurnace:z,efficientDrill:we,oreDrill:_e,industrialCrucible:he,autoSmeltEnabled:Oe,hotterForge:Te,generalTabCollapsed:It,minWidth:700,display:E(()=>i(B,null,[le(Le),i(fe,null,null),i(Nt,{resource:l,color:t,style:"margin-bottom: 0",sticky:!1,productionDisplay:E(()=>i(B,null,[Oe.value&&a.gte(he.amount.value,1)?`+${hn([[m.value,"smelting speed"],[Ee.value,"ore gain"],[a.div(R.computedCoalGain.value,b),"coal gain"]],"/s",a.mul(r.value,h.value))}`:void 0]))},null),i(fe,null,null),le(_),a.gte(he.amount.value,1)?i("div",{style:{width:"150px"}},[i(ol,{title:"Auto Smelt",modelValue:Oe.value,"onUpdate:modelValue":pe=>Oe.value=pe},null)]):void 0,i(fe,null,null),i(Nt,{resource:o,color:t,style:"margin-bottom: 0",sticky:!1,productionDisplay:E(()=>i(B,null,[yn(Re.value)]))},null),i(fe,null,null),i("div",null,[d("Currently mining "),ve(W.value),d(" ore every")," ",ve(a.recip(k.value)),d(" seconds")]),le(re),i(fe,null,null),je(Me,Pe,Fe,De,z,we),je(_e,he,Te)]))}}),Sr="coal",an=3,R=Tt(Sr,function(){const e="Coal",t="#151716",l="#B2BeB5",n="var(--foreground)",o=dt(0,"coal"),s=dt(0,"ash"),c=Ce(0),r=v(()=>a.times(c.value,1e3)),p=v(()=>a.times(c.value,.1)),m=v(()=>a.times(c.value,50)),y=Ne(()=>({resource:de.logs,cost(){let T=a.times(P.amount.value,u(P.cost)).plus(this.amount.value);return a.gte(T,100)&&(T=a.pow(T,2).div(100)),a.gte(T,1e4)&&(T=a.pow(T,2).div(1e4)),T=a.pow(.95,J.books.smallFireBook.amount.value).times(T),T.pow(1.5).times(1e4)},display:E(()=>i(B,null,[i("h3",null,[d("Small Fire")]),i("br",null,null),d("Burn 1000 logs for 0.1 coal and 50 ash"),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("-"),H(r.value),d(" logs/sec"),i("br",null,null),d("+"),H(p.value),d(" coal/sec"),i("br",null,null),d("+"),H(m.value),d(" ash/sec"),i("br",null,null),i("br",null,null),d("Cost: "),Z(u(y.cost)),d(" "),y.resource.displayName])),onPurchase(){c.value=a.add(c.value,1)},style:{color:n,width:"160px"}})),{min:h,max:b,add:g,remove:_}=qt({active:c,buyable:y}),S=dt(y.amount,"small fires"),x=Ce(0),W=v(()=>a.times(x.value,1e4)),M=v(()=>a.times(x.value,10)),k=v(()=>a.times(x.value,1e3)),P=Ne(()=>({resource:S,cost(){return a.pow(.95,J.books.bonfireBook.amount.value).times(10)},display:E(()=>i(B,null,[i("h3",null,[d("Bonfire")]),i("br",null,null),d("Burn 10,000 logs for 10 coal and 1000 ash"),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("-"),H(W.value),d(" logs/sec"),i("br",null,null),d("+"),H(M.value),d(" coal/sec"),i("br",null,null),d("+"),H(k.value),d(" ash/sec"),i("br",null,null),i("br",null,null),d("Cost: "),Z(u(P.cost)),d(" "),P.resource.displayName])),onPurchase(T){c.value=a.sub(c.value,T).max(0),x.value=a.add(x.value,1)},style:{color:n,width:"160px"},visibility:()=>I(pe.bought.value)})),{min:ne,max:re,add:L,remove:Ee}=qt({buyable:P,active:x}),be=Ce(0),Re=v(()=>a.times(be.value,1e6)),Me=v(()=>a.times(be.value,1e4)),Pe=v(()=>a.times(be.value,1e4)),Fe=Ne(()=>({resource:de.logs,cost(){let T=this.amount.value;return a.gte(T,100)&&(T=a.pow(T,2).div(100)),a.gte(T,1e4)&&(T=a.pow(T,2).div(1e4)),T=a.pow(.95,J.books.kilnBook.amount.value).times(T),a.pow(1.1,T).times(1e7)},display:E(()=>i(B,null,[i("h3",null,[d("Charcoal Kiln")]),i("br",null,null),d("Burn 1,000,000 logs for 10,000 coal and 10,000 ash"),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("-"),H(Re.value),d(" logs/sec"),i("br",null,null),d("+"),H(Me.value),d(" coal/sec"),i("br",null,null),d("+"),H(Pe.value),d(" ash/sec"),i("br",null,null),i("br",null,null),d("Cost: "),Z(u(Fe.cost)),d(" "),Fe.resource.displayName])),onPurchase(){be.value=a.add(be.value,1)},style:{color:n,width:"160px"},visibility:()=>I(U.bought.value)})),{min:De,max:z,add:we,remove:_e}=qt({buyable:Fe,active:be}),he=Ce(0),Oe=v(()=>a.times(a.pow(he.value,Je.row2Upgrades[1].bought.value?2:1),5e7).times(at.efficientDrill.bought.value?2:1)),Te=Ne(()=>({resource:at.metal,cost(){let T=this.amount.value;return a.gte(T,100)&&(T=a.pow(T,2).div(100)),a.gte(T,1e4)&&(T=a.pow(T,2).div(1e4)),a.pow(1.15,T).times(10)},display:E(()=>i(B,null,[i("h3",null,[d("Mining Drill")]),i("br",null,null),d("Dig through the ground to find 50,000,000 coal"),i("br",null,null),i("br",null,null),d("Currently:"),i("br",null,null),d("+"),H(Oe.value),d(" coal/sec"),i("br",null,null),i("br",null,null),d("Cost: "),Z(u(Te.cost)),d(" "),Te.resource.displayName])),onPurchase(){he.value=a.add(he.value,1)},style:{color:n,width:"160px"},visibility:()=>I(at.coalDrill.bought.value)})),{max:pt,min:Ge,add:It,remove:$}=qt({buyable:Te,active:he}),K=G(()=>({resource:F(o),cost:5,display:{title:"Warmer Cutters",description:"Cut down twice as many trees/s"},style:{color:n}})),oe=G(()=>({resource:F(o),cost:5,display:{title:"Warmer Planters",description:"Plant twice as many trees/s"},style:{color:n}})),Le=G(()=>({resource:F(s),cost:5e3,display:{title:"Ashy Soil",description:"Trees give 25% more logs"},style:{color:n}})),pe=G(()=>({resource:S,cost:10,display:{title:"Bigger Fires",description:"Put all those fires together into a larger blaze"},onPurchase(){S.value=a.add(S.value,this.cost)},style:{color:n}})),mt=[K,oe,Le,pe],Ze=G(()=>({resource:F(o),cost:250,display:{title:"Dedicated Cutter Heaters",description:"Double the bonus from Heated Cutters"},style:{color:n},visibility:()=>I(pe.bought.value)})),$e=G(()=>({resource:F(o),cost:250,display:{title:"Dedicated Planter Heaters",description:"Double the bonus from Heated Planters"},style:{color:n},visibility:()=>I(pe.bought.value)})),gt=G(()=>({canAfford(){return a.gte(de.logs.value,1e5)&&a.gte(s.value,1e5)},onPurchase(){de.logs.value=a.sub(de.logs.value,1e5),s.value=a.sub(s.value,1e5)},display:E(()=>i(B,null,[i("h3",null,[d("Mulched Soil")]),i("br",null,null),d("Double the bonus from Fertilized Soil"),i("br",null,null),i("br",null,null),d("Cost: "),Z(1e5),d(" "),de.logs.displayName,i("br",null,null),Z(1e5),d(" "),s.displayName])),style:{color:n},visibility:()=>I(pe.bought.value)})),U=G(()=>({resource:de.logs,cost:1e7,display:{title:"Efficient Fires",description:"Move the fires underground to keep the coal from turning to ash"},style:{color:n},visibility:()=>I(pe.bought.value)})),it=[Ze,$e,gt,U],Ve=G(()=>({resource:F(o),cost:1e19,display:{title:"Efficient Crucibles",description:"Double auto smelting speed and triple metal gain from auto smelting"},style:{color:n},visibility:()=>I(Je.depthMilestones[4].earned.value)})),lt=[Ve],ee=Ne(()=>({resource:F(o),cost(){let T=this.amount.value;return a.gte(T,50)&&(T=a.pow(T,2).div(50)),a.gte(T,200)&&(T=a.pow(T,2).div(200)),a.gte(T,2e6)&&(T=a.pow(T,2).div(2e6)),T=a.pow(.95,J.books.heatedCuttersBook.amount.value).times(T),a.add(T,1).pow(2.5).times(10)},display:{title:"Heated Cutters",description:"Even warmer cutters cut down trees faster",effectDisplay:E(()=>i(B,null,[d("Cutters cut down trees "),H(ie.value),d("x faster")]))},style:{color:n},visibility:()=>I(K.bought.value)})),V=Ne(()=>({resource:F(o),cost(){let T=this.amount.value;return a.gte(T,50)&&(T=a.pow(T,2).div(50)),a.gte(T,200)&&(T=a.pow(T,2).div(200)),a.gte(T,2e6)&&(T=a.pow(T,2).div(2e6)),T=a.pow(.95,J.books.heatedPlantersBook.amount.value).times(T),a.add(T,1).pow(2.5).times(10)},display:{title:"Heated Planters",description:"Even warmer planters plant trees faster",effectDisplay:E(()=>i(B,null,[d("Planters plant trees "),H(kt.value),d("x faster")]))},style:{color:n},visibility:()=>I(oe.bought.value)})),Mt=Ne(()=>({resource:F(s),cost(){let T=this.amount.value;return a.gte(T,50)&&(T=a.pow(T,2).div(50)),a.gte(T,200)&&(T=a.pow(T,2).div(200)),a.gte(T,2e6)&&(T=a.pow(T,2).div(2e6)),T=a.pow(.95,J.books.fertilizerBook.amount.value).times(T),a.add(T,1).pow(1.5).times(5e4)},display:{title:"Fertilized Soil",description:"More fertilizer helps trees grow bigger",effectDisplay:E(()=>i(B,null,[d("Trees give "),H(bl.value),d("x more logs")]))},style:{color:n},visibility:()=>I(Le.bought.value)})),Jt=[ee,V,Mt],rt=X(()=>[se(()=>({addend(){return a.times(ee.amount.value,.25)},description:"Heated Cutters",enabled(){return a.gt(ee.amount.value,0)}})),C(()=>({multiplier:2,description:"Dedicated Cutter Heaters",enabled:Ze.bought}))]),ie=v(()=>rt.apply(1)),Ct=X(()=>[se(()=>({addend(){return a.times(V.amount.value,.25)},description:"Heated Planters",enabled(){return a.gt(V.amount.value,0)}})),C(()=>({multiplier:2,description:"Dedicated Planter Heaters",enabled:$e.bought}))]),kt=v(()=>Ct.apply(1)),dl=X(()=>[se(()=>({addend(){return a.times(Mt.amount.value,.25)},description:"Fertilized Soil",enabled(){return a.gt(Mt.amount.value,0)}})),C(()=>({multiplier:2,description:"Mulched Soil",enabled:gt.bought}))]),bl=v(()=>dl.apply(1)),Ft=X(()=>[se(()=>({addend(){return p.value},description:"Small Fires",enabled(){return a.gt(c.value,0)}})),se(()=>({addend(){return M.value},description:"Bonfires",enabled(){return a.gt(x.value,0)}})),se(()=>({addend(){return Me.value},description:"Charcoal Kilns",enabled(){return a.gt(be.value,0)}})),se(()=>({addend(){return Oe.value},description:"Mining Drills",enabled(){return a.gt(he.value,0)}})),C(()=>({multiplier:2,description:"Carry coal in boxes",enabled:Xe.upgrades.coalUpgrade.bought})),C(()=>({multiplier:()=>a.div(Xe.buyables.coalBoxesBuyable.amount.value,2).add(1),description:"Carry more coal",enabled:Xe.upgrades.coalUpgrade.bought})),C(()=>({multiplier:()=>a.div(y.amount.value,1e4).add(1),description:"Small Fires Synergy",enabled:Ae.elves.smallFireElf.bought})),C(()=>({multiplier:()=>a.div(P.amount.value,1e3).add(1),description:"Bonfires Synergy",enabled:Ae.elves.bonfireElf.bought})),C(()=>({multiplier:()=>a.div(Fe.amount.value,100).times(qe.boosts.green2.value).add(1),description:"Kiln Synergy",enabled:Ae.elves.kilnElf.bought})),C(()=>({multiplier:2,description:"Mining overalls",enabled:tt.metalUpgrades.metalUpgrade2.bought})),C(()=>({multiplier:3,description:"Mining helmet",enabled:tt.metalUpgrades.metalUpgrade3.bought})),C(()=>({multiplier:4,description:"Felt-Gripped Pick",enabled:tt.metalUpgrades.metalUpgrade4.bought})),C(()=>({multiplier:2,description:"12 Elves Trained",enabled:Ae.milestones[11].earned})),Fn(()=>({exponent:1.25,description:"3 Elves Trained",enabled:Ae.milestones[2].earned,supportLowNumbers:!0})),C(()=>({multiplier:()=>a.mul(Je.depth.value,.25).add(1),description:"5m Well Depth",enabled:Je.depthMilestones[0].earned})),C(()=>({multiplier:Je.extractorCoal,description:"Heavy Extractor",enabled:()=>a.gt(Je.activeExtractor.value,0)}))]),wt=v(()=>Ft.apply(0)),At=X(()=>[se(()=>({addend(){return m.value},description:"Small Fires",enabled(){return a.gt(c.value,0)}})),se(()=>({addend(){return k.value},description:"Bonfires",enabled(){return a.gt(x.value,0)}})),se(()=>({addend(){return Pe.value},description:"Charcoal Kilns",enabled(){return a.gt(be.value,0)}})),C(()=>({multiplier:2,description:"Carry ash in boxes",enabled:Xe.upgrades.ashUpgrade.bought})),C(()=>({multiplier:()=>a.div(Xe.buyables.ashBoxesBuyable.amount.value,2).add(1),description:"Carry more ash",enabled:Xe.upgrades.ashUpgrade.bought})),C(()=>({multiplier:()=>a.div(y.amount.value,1e3).add(1),description:"Small Fires Synergy",enabled:Ae.elves.smallFireElf.bought})),C(()=>({multiplier:()=>a.div(P.amount.value,1e3).add(1),description:"Bonfires Synergy",enabled:Ae.elves.bonfireElf.bought})),C(()=>({multiplier:()=>a.div(Fe.amount.value,100).times(qe.boosts.green2.value).add(1),description:"Kiln Synergy",enabled:Ae.elves.kilnElf.bought})),C(()=>({multiplier:4,description:"Mining boots",enabled:tt.metalUpgrades.metalUpgrade1.bought}))]),al=v(()=>At.apply(0)),Ot=X(()=>[se(()=>({addend(){return a.negate(r.value)},description:"Small Fires",enabled(){return a.gt(c.value,0)}})),se(()=>({addend(){return a.negate(W.value)},description:"Bonfires",enabled(){return a.gt(x.value,0)}})),se(()=>({addend(){return a.negate(Re.value)},description:"Charcoal Kilns",enabled(){return a.gt(be.value,0)}}))]),Xt=v(()=>Ot.apply(0)),[Yt,wl]=ll(()=>[{title:"Log Consumption",modifier:Ot,base:0,visible(){return a.gt(c.value,0)||a.gt(x.value,0)||a.gt(be.value,0)}},{title:"Coal Gain",modifier:Ft,base:0,visible(){return a.gt(c.value,0)||a.gt(x.value,0)||a.gt(be.value,0)}},{title:"Ash Gain",modifier:At,base:0,visible(){return a.gt(c.value,0)||a.gt(x.value,0)||a.gt(be.value,0)}}]),nl=j(!1),zl=E(()=>i(bt,{modelValue:nl.value,"onUpdate:modelValue":T=>nl.value=T},{header:()=>i("h2",null,[e,d(" Modifiers")]),body:Yt}));He.on("update",T=>{a.lt(Y.day.value,an)||a.times(T,Xt.value).negate().gt(de.logs.value)||(de.logs.value=a.times(T,Xt.value).plus(de.logs.value),o.value=a.times(T,wt.value).plus(o.value),s.value=a.times(T,al.value).plus(s.value),c.value=a.max(c.value,0))});const{total:Nl,trackerDisplay:Jl}=rl({resource:o,goal:1e7,name:e,day:an,color:t,modal:{show:nl,display:zl}});return{name:e,color:t,coal:o,totalCoal:Nl,computedCoalGain:wt,ash:s,activeFires:c,buildFire:y,activeBonfires:x,buildBonfire:P,activeKilns:be,buildKiln:Fe,activeDrills:he,buildDrill:Te,warmerCutters:K,warmerPlanters:oe,basicFertilizer:Le,unlockBonfire:pe,dedicatedCutters:Ze,dedicatedPlanters:$e,betterFertilizer:gt,unlockKiln:U,efficientSmelther:Ve,heatedCutters:ee,heatedPlanters:V,moreFertilizer:Mt,computedHeatedCutterEffect:ie,computedHeatedPlanterEffect:kt,computedFertilizerEffect:bl,generalTabCollapsed:wl,minWidth:700,display:E(()=>i(B,null,[le(Jl),i(fe,null,null),i(Nt,{resource:o,color:t,style:"margin-bottom: 0",effectDisplay:a.gt(wt.value,0)?`+${H(wt.value)}/s`:void 0},null),i(fe,null,null),i(Nt,{resource:s,color:l,style:"margin-bottom: 0",effectDisplay:a.gt(al.value,0)?`+${H(al.value)}/s`:void 0},null),i(fe,null,null),i(Pl,null,{default:()=>[i(Dt,null,{default:()=>[le(y),i("div",null,[Z(a.floor(c.value)),d("/"),Z(a.floor(y.amount.value))]),je(h,_,g,b)]}),pe.bought.value?i(B,null,[i(fe,null,null),i(Dt,null,{default:()=>[le(P),i("div",null,[Z(x.value),d("/"),Z(P.amount.value)]),je(ne,Ee,L,re)]})]):void 0,U.bought.value?i(B,null,[i(fe,null,null),i(Dt,null,{default:()=>[le(Fe),i("div",null,[Z(be.value),d("/"),Z(Fe.amount.value)]),je(De,_e,we,z)]})]):void 0,at.coalDrill.bought.value?i(B,null,[i(fe,null,null),i(Dt,null,{default:()=>[le(Te),i("div",null,[Z(he.value),d("/"),Z(Te.amount.value)]),je(Ge,$,It,pt)]})]):void 0]}),i(fe,null,null),El(mt,it,lt),je(...Jt)]))}}),Er="workshop",Fl=2,Bt=Tt(Er,function(){const e="Workshop",t="#D66B02",l="#D66B02",n=dt(0,"foundation progress"),o=js(()=>({scaling:Ra(250,1.5),baseResource:de.logs,gainResource:F(n),roundUpCost:!0,buyMax:!1,spend(P,ne){de.logs.value=a.sub(de.logs.value,ne)}})),s=xt(()=>({display:E(()=>i(B,null,[i("b",{style:"font-size: x-large"},[d("Build part of the foundation")]),i("br",null,null),i("br",null,null),i("span",{style:"font-size: large"},[d("Cost:")," ",Wl(de.logs,a.gte(o.actualGain.value,1)?o.currentAt.value:o.nextAt.value)," ",de.logs.displayName])])),visibility:()=>I(a.lt(n.value,100)),canClick:()=>a.gte(o.actualGain.value,1)&&a.lt(n.value,100),onClick(){!u(this.canClick)||o.convert()},style:"width: 600px; min-height: unset"})),c=xl(()=>({key:"w",description:"Build part of the foundation.",onPress:()=>{s.canClick.value&&s.onClick()}})),r=v(()=>!Ae.milestones[6].earned.value),p=ye(()=>({display:{requirement:"1% Foundation Completed",effectDisplay:"Trees give 5% more logs for each % of foundation completed"},shouldEarn:()=>a.gte(n.value,1),showPopups:r})),m=ye(()=>({display:{requirement:"10% Foundation Completed",effectDisplay:"Cut an additional tree per second for each 5% of foundation completed"},shouldEarn:()=>a.gte(n.value,10),visibility:()=>I(p.earned.value),showPopups:r})),y=ye(()=>({display:{requirement:"20% Foundation Completed",effectDisplay:"Plant an additional tree per second for each 10% of foundation completed"},shouldEarn:()=>a.gte(n.value,20),visibility:()=>I(m.earned.value),showPopups:r})),h=ye(()=>({display:{requirement:"30% Foundation Completed",effectDisplay:"All automatic tree cutting is doubled"},shouldEarn:()=>a.gte(n.value,30),visibility:()=>I(y.earned.value),showPopups:r})),b=ye(()=>({display:{requirement:"40% Foundation Completed",effectDisplay:"All automatic tree planting is doubled"},shouldEarn:()=>a.gte(n.value,40),visibility:()=>I(h.earned.value),showPopups:r})),g=ye(()=>({display:{requirement:"50% Foundation Completed",effectDisplay:"Trees give twice as many logs"},shouldEarn:()=>a.gte(n.value,50),visibility:()=>I(b.earned.value),showPopups:r})),_=ye(()=>({display:{requirement:"75% Foundation Completed",effectDisplay:"The forest gains an extra tree for every 2% of foundation completed"},shouldEarn:()=>a.gte(n.value,75),visibility:()=>I(g.earned.value),showPopups:r})),S=ye(()=>({display:{requirement:"100% Foundation Completed",effectDisplay:"Log per tree is raised to the 1.2th power"},shouldEarn:()=>a.gte(n.value,100),visibility:()=>I(_.earned.value),showPopups:r})),x={logGainMilestone1:p,autoCutMilestone1:m,autoPlantMilestone1:y,autoCutMilestone2:h,autoPlantMilestone2:b,logGainMilestone2:g,morePlantsMilestone1:_,logGainMilestone3:S},{collapseMilestones:W,display:M}=Vl(x),k=jt(()=>({direction:Be.Right,width:600,height:25,fillStyle:`backgroundColor: ${l}`,progress:()=>Y.day.value===Fl?a.div(n.value,100):1,display:E(()=>Y.day.value===Fl?i(B,null,[Z(n.value),d("%")]):"")}));return Pt(()=>{Y.day.value===Fl&&a.gte(n.value,100)&&Y.completeDay()}),{name:e,day:Fl,color:t,foundationProgress:n,foundationConversion:o,milestones:x,collapseMilestones:W,minWidth:700,buildFoundationHK:c,display:E(()=>i(B,null,[i("div",null,[Y.day.value===Fl?"Complete the foundation to complete the day":`${e} Complete!`]),le(k),i(fe,null,null),i("div",null,[i("span",null,[d("The foundation is ")]),i("h2",{style:`color: ${t}; text-shadow: 0 0 10px ${t}`},[Z(n.value)]),d("% completed")]),a.lt(n.value,100)?i(fe,null,null):null,le(s),i(fe,null,null),M()]))}}),Br="elves",Ul=4,Ae=Tt(Br,function(){const e="Elves",t="red",l="#911D21",o=jt(()=>({direction:Be.Right,width:600,height:25,fillStyle:`backgroundColor: ${l}`,progress:()=>Y.day.value===Ul?a.div(K.value,6).times(.8333333333333334).add(a.div(a.add(R.coal.value,1).log10(),a.log10(1e9)).clamp(0,1).div(6)):1,display:E(()=>Y.day.value===Ul?a.lt(K.value,6)?i(B,null,[Z(K.value),d("/6 elves")]):i(B,null,[Z(R.coal.value),d("/"),Z(1e9),d(" coal")]):"")})),s=br(()=>({thingsToReset:[de,Bt,R],onReset(){setTimeout(()=>{it.earned.value?(de.row1Upgrades.forEach(ie=>ie.bought.value=!0),de.row2Upgrades.forEach(ie=>ie.bought.value=!0)):Le.earned.value&&(de.row1Upgrades[4].bought.value=!0,de.row2Upgrades[4].bought.value=!0),gt.earned.value&&(Bt.foundationProgress.value=100),lt.earned.value&&(R.warmerCutters.bought.value=!0,R.warmerPlanters.bought.value=!0,R.basicFertilizer.bought.value=!0,R.unlockBonfire.bought.value=!0,R.dedicatedCutters.bought.value=!0,R.dedicatedPlanters.bought.value=!0,R.betterFertilizer.bought.value=!0,R.unlockKiln.bought.value=!0,R.efficientSmelther.bought.value=!0)})}})),c=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.cuttersBook.amount.value,.1).add(1),description:"Now You're Logging!",enabled:()=>a.gt(J.books.cuttersBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),r=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.plantersBook.amount.value,.1).add(1),description:"The Man Who Planted Trees",enabled:()=>a.gt(J.books.plantersBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),p=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.expandersBook.amount.value,.1).add(1),description:"Logjam",enabled:()=>a.gt(J.books.expandersBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),m=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.heatedCuttersBook.amount.value,.1).add(1),description:"Fahrenheit 451",enabled:()=>a.gt(J.books.heatedCuttersBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),y=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.heatedPlantersBook.amount.value,.1).add(1),description:"Tillamook Burn Country",enabled:()=>a.gt(J.books.heatedPlantersBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),h=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.fertilizerBook.amount.value,.1).add(1),description:"The Garden Tree's Handbook",enabled:()=>a.gt(J.books.fertilizerBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),b=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.smallFireBook.amount.value,.1).add(1),description:"Firestarter",enabled:()=>a.gt(J.books.smallFireBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),g=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.bonfireBook.amount.value,.1).add(1),description:"An Arsonist's Guide to Writer's Homes in New England",enabled:()=>a.gt(J.books.bonfireBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),_=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.kilnBook.amount.value,.1).add(1),description:"Little Fires Everywhere",enabled:()=>a.gt(J.books.kilnBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),S=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.paperBook.amount.value,.1).add(1),description:"The Book Thief",enabled:()=>a.gt(J.books.paperBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),x=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.boxBook.amount.value,.1).add(1),description:"Not a box",enabled:()=>a.gt(J.books.boxBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),W=X(()=>[C(()=>({multiplier:2,description:"6 Elves Trained",enabled:$e.earned})),C(()=>({multiplier:()=>a.times(J.books.clothBook.amount.value,.1).add(1),description:"Fuzzy Bee and Friends",enabled:()=>a.gt(J.books.clothBook.amount.value,0)})),C(()=>({multiplier:2,description:"10 Elves Trained",enabled:Ve.earned}))]),[M,k]=ll(()=>[{title:"Holly Auto-Buy Frequency",modifier:c,base:10,unit:"/s",visible:$.cuttersElf.bought},{title:"Ivy Auto-Buy Frequency",modifier:r,base:10,unit:"/s",visible:$.plantersElf.bought},{title:"Hope Auto-Buy Frequency",modifier:p,base:10,unit:"/s",visible:$.expandersElf.bought},{title:"Jack Auto-Buy Frequency",modifier:m,base:10,unit:"/s",visible:$.heatedCuttersElf.bought},{title:"Mary Auto-Buy Frequency",modifier:y,base:10,unit:"/s",visible:$.heatedPlantersElf.bought},{title:"Noel Auto-Buy Frequency",modifier:h,base:10,unit:"/s",visible:$.fertilizerElf.bought},{title:"Joy Auto-Buy Frequency",modifier:b,base:10,unit:"/s",visible:$.smallFireElf.bought},{title:"Faith Auto-Buy Frequency",modifier:g,base:10,unit:"/s",visible:$.bonfireElf.bought},{title:"Snowball Auto-Buy Frequency",modifier:_,base:10,unit:"/s",visible:$.kilnElf.bought},{title:"Star Auto-Buy Frequency",modifier:S,base:10,unit:"/s",visible:$.paperElf.bought},{title:"Bell Auto-Buy Frequency",modifier:x,base:10,unit:"/s",visible:$.boxElf.bought},{title:"Gingersnap Auto-Buy Frequency",modifier:W,base:10,unit:"/s",visible:$.clothElf.bought}]),P=j(!1),ne=E(()=>i(bt,{modelValue:P.value,"onUpdate:modelValue":ie=>P.value=ie},{header:()=>i("h2",null,[e,d(" Modifiers")]),body:M})),re=v(()=>{let ie=a.pow(4,K.value).times(1e6);return a.gte(K.value,9)&&(ie=a.times(ie,1e15)),ie});function L(ie){var al;const Ct=Ce(0),kt=Ce(0),dl=ie.hasToggle?Ce(!1):j(!0),bl=v(()=>ie.cooldownModifier.apply(10)),Ft=yt((al=ie.canBuy)!=null?al:!0);function wt(Ot){if(At.bought.value&&u(Ft)){Ct.value=a.add(Ct.value,Ot);const Xt=a.recip(bl.value);kt.value+=Ot/Xt.toNumber(),(_a(ie.buyable)?ie.buyable:[ie.buyable]).forEach(Yt=>{var wl;for(;a.gte(Ct.value,Xt);)if(ie.customCost==null?u(Yt.canPurchase):a.gte(Yt.resource.value,ie.customCost(Yt.amount.value)))Yt.amount.value=a.add(Yt.amount.value,1),Ct.value=a.sub(Ct.value,Xt),(wl=ie.onAutoPurchase)==null||wl.call(ie);else{Ct.value=Xt;break}})}}const At=G(()=>({...ie,buyable:void 0,toggle:dl,buyProgress:Ct,update:wt,resource:R.coal,cost:re,computedAutoBuyCooldown:bl,amountOfTimesDone:kt,name:ie.name,display:()=>({title:ie.name,description:E(()=>i(B,null,[ie.description,At.bought.value?null:i(B,null,[" ",d("Training this elf will require resetting all your progress from days 1-3.")]),At.bought.value&&ie.hasToggle===!0?i(B,null,[i(ol,{title:ie.toggleDesc,"onUpdate:modelValue":Ot=>dl.value=Ot,modelValue:dl.value},null)]):null])),showCost:!At.bought.value}),style:"width: 190px",onPurchase(){var Ot;(Ot=ie.onPurchase)==null||Ot.call(ie),s.reset()}}));return At}const Ee=L({name:"Holly",description:"Holly will automatically purchase cutters you can afford, without actually spending any logs.",buyable:de.row1Buyables[0],cooldownModifier:c}),be=L({name:"Ivy",description:"Ivy will automatically purchase planters you can afford, without actually spending any logs.",buyable:de.row1Buyables[1],cooldownModifier:r}),Re=L({name:"Hope",description:"Hope will automatically purchase forest expanders you can afford, without actually spending any logs.",buyable:de.row1Buyables[2],cooldownModifier:p}),Me=[Ee,be,Re],Pe=L({name:"Jack",description:"Jack will automatically purchase heated cutters you can afford, without actually spending any coal.",buyable:R.heatedCutters,cooldownModifier:m}),Fe=L({name:"Mary",description:"Mary will automatically purchase heated planters you can afford, without actually spending any coal.",buyable:R.heatedPlanters,cooldownModifier:y}),De=L({name:"Noel",description:"Noel will automatically purchase fertilized soil you can afford, without actually spending any ash.",buyable:R.moreFertilizer,cooldownModifier:h}),z=[Pe,Fe,De],we=L({name:"Joy",description:"Joy will automatically purchase small fires you can afford, without actually spending any logs. You can toggle whether or not to enable the purchased small fires automatically. Small fires will start giving a boost to ash and coal gain.",buyable:R.buildFire,cooldownModifier:b,visibility:()=>I(Xe.upgrades.logsUpgrade.bought.value),hasToggle:!0,toggleDesc:"Activate auto-purchased small fires",onAutoPurchase(){we.toggle.value&&(R.activeFires.value=a.add(R.activeFires.value,1))},onPurchase(){Y.days[4].recentlyUpdated.value=!0}}),_e=L({name:"Faith",description:"Faith will automatically purchase bonfires you can afford. You can toggle whether or not to enable the purchased bonfires automatically. Bonfires will start giving a boost to ash and coal gain.",buyable:R.buildBonfire,cooldownModifier:g,visibility:()=>I(Xe.upgrades.ashUpgrade.bought.value),hasToggle:!0,toggleDesc:"Activate auto-purchased bonfires",onAutoPurchase(){const ie=u(this.buyable.cost);R.activeFires.value=a.sub(R.activeFires.value,ie).max(0),R.buildFire.amount.value=a.sub(R.buildFire.amount.value,ie).max(0),_e.toggle.value&&(R.activeBonfires.value=a.add(R.activeBonfires.value,1))},onPurchase(){Y.days[4].recentlyUpdated.value=!0},canBuy:R.unlockBonfire.bought}),he=L({name:"Snowball",description:"Snowball will automatically purchase kilns you can afford, without actually spending any logs. You can toggle whether or not to enable the purchased kilns automatically. Kilns will start giving a boost to ash and coal gain.",buyable:R.buildKiln,cooldownModifier:_,visibility:()=>I(Xe.upgrades.coalUpgrade.bought.value),hasToggle:!0,toggleDesc:"Activate auto-purchased kilns",onAutoPurchase(){he.toggle.value&&(R.activeKilns.value=a.add(R.activeKilns.value,1))},onPurchase(){Y.days[4].recentlyUpdated.value=!0},canBuy:R.unlockKiln.bought}),Oe=[we,_e,he],Te=L({name:"Star",description:"Star will automatically purchase all books you can afford, without actually spending any paper.",buyable:Object.values(J.books),cooldownModifier:S,visibility:()=>I(Ue.elfUpgrades.paperElf.bought.value)}),pt=L({name:"Bell",description:"Bell will automatically purchase all box buyables you can afford, without actually spending any boxes.",buyable:Object.values(Xe.buyables),cooldownModifier:x,visibility:()=>I(Ue.elfUpgrades.boxElf.bought.value)}),Ge=L({name:"Gingersnap",description:"Gingersnap will automatically purchase all cloth buyables you can afford, without actually spending any resources.",buyable:[tt.buildPens,tt.betterShears,tt.fasterSpinning],cooldownModifier:W,visibility:()=>I(Ue.elfUpgrades.clothElf.bought.value)}),It=[Te,pt,Ge],$={cuttersElf:Ee,plantersElf:be,expandersElf:Re,heatedCuttersElf:Pe,heatedPlantersElf:Fe,fertilizerElf:De,smallFireElf:we,bonfireElf:_e,kilnElf:he,paperElf:Te,boxElf:pt,clothElf:Ge},K=v(()=>Object.values($).filter(ie=>ie.bought.value).length),oe=ye(()=>({display:{requirement:"1 Elf Trained",effectDisplay:"Manual cutting and planting can happen twice as often for each trained elf"},shouldEarn:()=>a.gte(K.value,1)})),Le=ye(()=>({display:{requirement:"2 Elves Trained",effectDisplay:"Research I & II aren't reset after training"},shouldEarn:()=>a.gte(K.value,2),visibility:()=>I(oe.earned.value)})),pe=ye(()=>({display:{requirement:"3 Elves Trained",effectDisplay:"Coal gain is raised to the 1.25"},shouldEarn:()=>a.gte(K.value,3),visibility:()=>I(Le.earned.value)})),mt=ye(()=>({display:{requirement:"4 Elves Trained",effectDisplay:"Trees give twice as many logs"},shouldEarn:()=>a.gte(K.value,4),visibility:()=>I(pe.earned.value)})),Ze=ye(()=>({display:{requirement:"5 Elves Trained",effectDisplay:"Forest is twice as large"},shouldEarn:()=>a.gte(K.value,5),visibility:()=>I(mt.earned.value)})),$e=ye(()=>({display:{requirement:"6 Elves Trained",effectDisplay:"Elves work twice as fast"},shouldEarn:()=>a.gte(K.value,6),visibility:()=>I(Ze.earned.value)})),gt=ye(()=>({display:{requirement:"7 Elves Trained",effectDisplay:"Workshop Foundation starts at 100% complete after training"},shouldEarn:()=>a.gte(K.value,7),visibility:()=>I($e.earned.value&&Y.day.value>5)})),U=ye(()=>({display:{requirement:"8 Elves Trained",effectDisplay:"Forest is twice as large (again)"},shouldEarn:()=>a.gte(K.value,8),visibility:()=>I(gt.earned.value)})),it=ye(()=>({display:{requirement:"9 Elves Trained",effectDisplay:"Trees upgrades aren't reset after training"},shouldEarn:()=>a.gte(K.value,9),visibility:()=>I(U.earned.value)})),Ve=ye(()=>({display:{requirement:"10 Elves Trained",effectDisplay:"Elves work twice as fast (again)"},shouldEarn:()=>a.gte(K.value,10),visibility:()=>I(Y.day.value>=10)})),lt=ye(()=>({display:{requirement:"11 Elves Trained",effectDisplay:"Coal upgrades aren't reset after training"},shouldEarn:()=>a.gte(K.value,11),visibility:()=>I(Ve.earned.value)})),ee=ye(()=>({display:{requirement:"12 Elves Trained",effectDisplay:"Double coal gain"},shouldEarn:()=>a.gte(K.value,12),visibility:()=>I(lt.earned.value)})),V=[oe,Le,pe,mt,Ze,$e,gt,U,it,Ve,lt,ee],Mt={manualMilestone:oe,researchMilestone:Le,coalGainMilestone:pe,logGainMilestone:mt,forestMilestone:Ze,elvesMilestone:$e,foundationMilestone:gt,forestMilestone2:U,treeUpgradesMilestone:it,elvesMilestone2:Ve,coalUpgradesMilestone:lt,coalGainMilestone2:ee},{collapseMilestones:Jt,display:rt}=Vl(Mt);return He.on("update",ie=>{a.lt(Y.day.value,Ul)||Object.values($).forEach(Ct=>Ct.update(ie))}),Pt(()=>{Y.day.value===Ul&&a.gte(K.value,6)&&a.gte(R.coal.value,1e9)&&Y.completeDay()}),{name:e,color:t,elves:$,totalElves:K,milestones:V,collapseMilestones:Jt,generalTabCollapsed:k,minWidth:700,display:E(()=>i(B,null,[i("div",null,[Y.day.value===Ul?`Reach ${Z(6)} trained elves and ${Z(1e9)} ${R.coal.displayName} to complete the day`:`${e} Complete!`," ",d("-")," ",i("button",{class:"button",style:"display: inline-block;",onClick:()=>P.value=!0},[d("Check Modifiers")])]),le(o),le(ne),i(fe,null,null),i("div",{style:"width: 600px"},[El(Me,z,Oe,It)]),rt()]))}}),Nr="management",Zl=12,Hl=Tt(Nr,()=>{const e="Management",t="green";jt(()=>({direction:Be.Right,width:600,height:25,fillStyle:`backgroundColor: ${t}`,progress:()=>Y.day.value===Zl?l.value/(Ae.totalElves.value*5):1,display:E(()=>Y.day.value===Zl?i(B,null,[Z(l.value),d("/"),Z(Ae.totalElves.value*5)," ",d("elf levels")]):"")}));const l=v(()=>{let U=0;for(const it of Object.values(Ge))U+=it.level.value;return U}),n=G(()=>({display:{title:"Teach the Elves",description:"The Elves probably need to be taught if they're to do better. Maybe you'll build a school so you can teach them?"},resource:de.logs,cost:1e21})),o=G(()=>({display:{title:"Add a Classroom?",description:"Yay, you have a school. Too bad it has pretty much nothing in it. Maybe you could add some classrooms to make it less boring and more enticing to the Elves?"},resources:Xe.boxes,cost:1e13})),s=X(()=>[C(()=>({multiplier:()=>Le.value,description:"Classroom Effect",enabled:()=>o.bought.value}))]),c=s.apply(1);function r(U,it,...Ve){const lt=Ce(0),ee=v(()=>a.pow(10,V.value).mul(1e4)),V=v(()=>a.mul(9,lt.value).div(1e4).add(1).log10().floor().toNumber()),Mt=v(()=>a.sub(lt.value,a.pow(10,V.value).sub(1).div(9).mul(1e4))),Jt=jt(()=>({direction:Be.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>a.div(Mt.value,ee.value)})),{collapseMilestones:rt,display:ie}=Vl(it),Ct=X(()=>[C(()=>({multiplier:c,description:"Global XP Multiplier"})),...Ve]),kt=v(()=>Ct.apply(1));return xt(()=>({display:{title:U.name,description:E(()=>i(B,null,[U.name,d(" is currently at level "),Z(V.value),d("! They have achieved a total of "),H(lt.value),d(" XP, and have")," ",H(Mt.value),d("/"),H(ee.value),d(" XP. They buy buyables "),Z(U.computedAutoBuyCooldown.value),d(" times per second, gaining")," ",a.gte(V.value,K.amount.value)?0:H(a.mul(kt.value,U.computedAutoBuyCooldown.value))," ",d("XP/sec.")," ",a.gte(V.value,K.amount.value)?i("div",{style:"color: red"},[d("This elf cannot gain any XP because it has exceeded the maximum level from schools.")]):void 0,P.value!==U.name?"Click to see this elf's milestones.":void 0,le(Jt)]))},style:"width: 190px",onClick(){P.value=U.name},canClick(){return P.value!==U.name},state:rt,displayMilestone:ie,level:V,exp:lt,milestones:it,timeForExp:U.computedAutoBuyCooldown,amountOfTimesDone:U.amountOfTimesDone,elfXPGainComputed:kt,elfXPGain:Ct}))}const p=[ye(()=>({display:()=>({requirement:"Holly Level 1",effectDisplay:"Cutting speed multiplies log gain."}),shouldEarn:()=>re.level.value>=1})),ye(()=>({display:{requirement:"Holly Level 2",effectDisplay:"Holly now buys max."},visibility:I(p[0].earned.value),shouldEarn:()=>re.level.value>=2})),ye(()=>({display:{requirement:"Holly Level 3",effectDisplay:"Cutting speed multiplies cloth gain, wool gain (increasing the requirement as well), and sheep gain."},visibility:I(p[1].earned.value),shouldEarn:()=>re.level.value>=3}))],m=[ye(()=>({display:{requirement:"Ivy Level 1",effectDisplay:"Planters are now twice as efficent."},shouldEarn:()=>L.level.value>=1})),ye(()=>({display:{requirement:"Ivy Level 2",effectDisplay:"Ivy now buys max."},visibility:I(m[0].earned.value),shouldEarn:()=>L.level.value>=2})),ye(()=>({display:{requirement:"Ivy Level 3",effectDisplay:"???"},visibility:I(m[1].earned.value),shouldEarn:()=>L.level.value>=3})),ye(()=>({display:{requirement:"Ivy Level 4",effectDisplay:"???"},visibility:I(m[2].earned.value),shouldEarn:()=>L.level.value>=4})),ye(()=>({display:{requirement:"Ivy Level 5",effectDisplay:"???"},visibility:I(m[3].earned.value),shouldEarn:()=>L.level.value>=5}))],y=[ye(()=>({display:{requirement:"Hope Level 1",effectDisplay:"???"},shouldEarn:()=>Ee.level.value>=1}))],h=[],b=[],g=[],_=[],S=[],x=[],W=[],M=[],k=[],P=Ce("Holly"),ne=v(()=>{let U={displayMilestone:E(()=>"")};switch(P.value){case"Holly":U=re;break;case"Ivy":U=L;break;case"Hope":U=Ee;break;case"Jack":U=Re;break;case"Mary":U=Me;break;case"Noel":U=Pe;break;case"Joy":U=De;break;case"Faith":U=z;break;case"Snowball":U=we;break;case"Star":U=he;break;case"Bell":U=Oe;break;case"Gingersnap":U=Te;break;default:console.warn("This should not happen.",P.value);break}return{name:P.value,disp:U.displayMilestone}}),re=r(Ae.elves.cuttersElf,p),L=r(Ae.elves.plantersElf,m),Ee=r(Ae.elves.expandersElf,y),be=[re,L,Ee],Re=r(Ae.elves.heatedCuttersElf,h),Me=r(Ae.elves.heatedPlantersElf,b),Pe=r(Ae.elves.fertilizerElf,g),Fe=[Re,Me,Pe],De=r(Ae.elves.smallFireElf,_),z=r(Ae.elves.bonfireElf,S),we=r(Ae.elves.kilnElf,x),_e=[De,z,we],he=r(Ae.elves.paperElf,W),Oe=r(Ae.elves.boxElf,M),Te=r(Ae.elves.clothElf,k),pt=[he,Oe,Te],Ge={cutterElfTraining:re,planterElfTraining:L,expandersElfTraining:Ee,heatedCutterElfTraining:Re,heatedPlanterElfTraining:Me,fertilizerElfTraining:Pe,smallfireElfTraining:De,bonfireElfTraining:z,kilnElfTraining:we,paperElfTraining:he,boxElfTraining:Oe,clothElfTraining:Te};He.on("update",()=>{if(!(Y.day.value=1&&a.lt(U.level.value,K.amount.value)&&(U.amountOfTimesDone.value-=it,U.exp.value=a.mul(U.elfXPGainComputed.value,it).add(U.exp.value))}});const It=E(()=>i(B,null,[ne.value.name,d("'s milestones: "),ne.value.disp()])),$=v(()=>{const U=a.pow(10,K.amount.value);return{wood:U.mul(1e21),coal:U.mul(1e32),paper:U.mul(1e19),boxes:U.mul(1e13),metalIngots:U.mul(1e12),cloth:U.mul(1e4),plastic:U.mul(1e6),dye:a.add(K.amount.value,1).mul(1e4)}}),K=Ne(()=>({display:E(()=>i(B,null,[i("h3",null,[d("Build a School")]),i("div",null,[d("You gotta start somewhere, right? Each school increases the maximum level for elves by 1. Maximum of 5.")]),i("div",null,[d("You have "),Z(K.amount.value),d(" schools.")]),i("div",null,[d("They are currently letting elves learn up to level")," ",Z(K.amount.value),d(".")]),i("div",null,[d("Costs "),H($.value.wood),d(" logs, "),H($.value.coal)," ",d("coal, "),H($.value.paper),d(" paper, "),H($.value.boxes)," ",d("boxes, "),H($.value.metalIngots),d(" metal ingots,")," ",H($.value.cloth),d(" cloth, "),H($.value.plastic)," ",d("plastic, and requires "),H($.value.dye),d(" of red, yellow, and blue dye")])])),canPurchase(){return $.value.wood.lte(de.logs.value)&&$.value.coal.lte(R.coal.value)&&$.value.paper.lte(J.paper.value)&&$.value.boxes.lte(Xe.boxes.value)&&$.value.metalIngots.lte(at.metal.value)&&$.value.cloth.lte(tt.cloth.value)&&$.value.plastic.lte(Ue.plastic.value)&&$.value.dye.lte(qe.dyes.blue.amount.value)&&$.value.dye.lte(qe.dyes.red.amount.value)&&$.value.dye.lte(qe.dyes.yellow.amount.value)},onPurchase(){de.logs.value=a.sub(de.logs.value,$.value.wood),R.coal.value=a.sub(R.coal.value,$.value.coal),J.paper.value=a.sub(J.paper.value,$.value.paper),Xe.boxes.value=a.sub(Xe.boxes.value,$.value.boxes),at.metal.value=a.sub(at.metal.value,$.value.metalIngots),tt.cloth.value=a.sub(tt.cloth.value,$.value.cloth),Ue.plastic.value=a.sub(Ue.plastic.value,$.value.plastic),this.amount.value=a.add(this.amount.value,1)},purchaseLimit:5,visibility:v(()=>I(n.bought.value)),style:"width: 600px"})),oe=v(()=>{const U=a.add(K.amount.value,1).pow(1.5);return{wood:U.mul(1e21),coal:U.mul(1e32),paper:U.mul(1e19),boxes:U.mul(1e13),metalIngots:U.mul(1e12),cloth:U.mul(1e4),plastic:U.mul(1e6),dye:U.mul(1e4)}}),Le=v(()=>a.add(pe.amount.value,1).sqrt()),pe=Ne(()=>({display:E(()=>i(B,null,[i("h3",null,[d("Build a Classroom")]),i("div",null,[d("Hopefully it makes the school a bit less boring. Multiplies elves' XP gain by")," ",i(Oa,null,{default:()=>[d("Classrooms + 1")]}),d(".")]),i("div",null,[d("You have "),Z(K.amount.value),d(" classrooms.")]),i("div",null,[d("They are currently multiplying elves' XP gain by "),H(Le.value)]),i("div",null,[d("Costs "),H(oe.value.wood),d(" logs,")," ",H(oe.value.coal),d(" coal, "),H(oe.value.paper)," ",d("paper, "),H(oe.value.boxes),d(" boxes,")," ",H(oe.value.metalIngots),d(" metal ingots,")," ",H(oe.value.cloth),d(" cloth, "),H(oe.value.plastic)," ",d("plastic, and requires "),H(oe.value.dye),d(" of red, yellow, and blue dye")])])),canPurchase(){return oe.value.wood.lte(de.logs.value)&&oe.value.coal.lte(R.coal.value)&&oe.value.paper.lte(J.paper.value)&&oe.value.boxes.lte(Xe.boxes.value)&&oe.value.metalIngots.lte(at.metal.value)&&oe.value.cloth.lte(tt.cloth.value)&&oe.value.plastic.lte(Ue.plastic.value)&&oe.value.dye.lte(qe.dyes.blue.amount.value)&&oe.value.dye.lte(qe.dyes.red.amount.value)&&oe.value.dye.lte(qe.dyes.yellow.amount.value)},onPurchase(){de.logs.value=a.sub(de.logs.value,oe.value.wood),R.coal.value=a.sub(R.coal.value,oe.value.coal),J.paper.value=a.sub(J.paper.value,oe.value.paper),Xe.boxes.value=a.sub(Xe.boxes.value,oe.value.boxes),at.metal.value=a.sub(at.metal.value,oe.value.metalIngots),tt.cloth.value=a.sub(tt.cloth.value,oe.value.cloth),Ue.plastic.value=a.sub(Ue.plastic.value,oe.value.plastic),this.amount.value=a.add(this.amount.value,1)},visibility:v(()=>I(o.bought.value)),style:"width: 600px"})),mt=mr({training:()=>({tab:wa(()=>({display:E(()=>i(B,null,[El(be,Fe,_e,pt),i(fe,null,null),It()]))})),display:"Elf Training"}),teaching:()=>({tab:wa(()=>({display:E(()=>i(B,null,[le(K),d(" "),le(pe)," ",El([n,o])]))})),display:"The Schools"}),info:()=>({tab:wa(()=>({display:E(()=>i(B,null,[d("Each elf gains experience points (XP) every time they perform their action (they don't have to buy anything though). When they get enough XP, they can level up, granting special rewards.")]))})),display:"Info"})}),[Ze,$e]=ll(()=>[{title:"Global XP Gain",modifier:s,unit:" XP"},{title:"Holly XP Gain per Action",modifier:re.elfXPGain,unit:" XP"},{title:"Ivy XP Gain per Action",modifier:L.elfXPGain,unit:" XP"},{title:"Hope XP Gain per Action",modifier:Ee.elfXPGain,unit:" XP"},{title:"Jack XP Gain per Action",modifier:Re.elfXPGain,unit:" XP"},{title:"Mary XP Gain per Action",modifier:Me.elfXPGain,unit:" XP"},{title:"Noel XP Gain per Action",modifier:Pe.elfXPGain,unit:" XP"},{title:"Joy XP Gain per Action",modifier:De.elfXPGain,unit:" XP"},{title:"Faith XP Gain per Action",modifier:z.elfXPGain,unit:" XP"},{title:"Snowball XP Gain per Action",modifier:we.elfXPGain,unit:" XP"},{title:"Star XP Gain per Action",modifier:he.elfXPGain,unit:" XP"},{title:"Bell XP Gain per Action",modifier:Oe.elfXPGain,unit:" XP"},{title:"Gingersnap XP Gain per Action",modifier:Te.elfXPGain,unit:" XP"}]),gt=j(!1);return E(()=>i(bt,{modelValue:gt.value,"onUpdate:modelValue":U=>gt.value=U},{header:()=>i("h2",null,[e,d(" Modifiers")]),body:Ze})),{name:e,day:Zl,color:t,minWidth:700,elfTraining:Ge,currentShown:P,tabs:mt,generalTabCollapsed:$e,teaching:n,schools:K,classrooms:pe,classroomUpgrade:o,display:E(()=>i(B,null,["The day is still being developed, please wait patiently."]))}}),Ir="cloth",nn=8,tt=Tt(Ir,function(){const e="Cloth",t="white",l=dt(0,"cloth"),n=dt(0,"wool"),o=dt(10,"sheep"),s=Ce(0),c=jt(()=>({direction:Be.Right,width:100,height:10,style:"margin-top: 8px",borderStyle:"border-color: black",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s; background: black",progress:()=>a.div(s.value,Ge.value)})),r=xt(()=>({display:{title:"Breed sheep",description:E(()=>i(B,null,[d("Breed "),ge(a.floor(Te.value)),d(" sheep"),i("br",null,null),le(c)]))},style:{minHeight:"80px"},canClick:()=>a.gte(s.value,Ge.value),onClick(){if(a.lt(s.value,Ge.value))return;const ee=a.floor(Te.value);o.value=a.add(o.value,ee),s.value=0}})),p=Ce(0),m=jt(()=>({direction:Be.Right,width:100,height:10,style:"margin-top: 8px",borderStyle:"border-color: black",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s; background: black",progress:()=>a.div(p.value,oe.value)})),y=xt(()=>({display:{title:"Shear sheep",description:E(()=>i(B,null,[d("Shear up to "),ge(a.floor($.value)),d(" sheep"),i("br",null,null),le(m)]))},style:{minHeight:"80px"},canClick:()=>a.gte(p.value,oe.value),onClick(){if(a.lt(p.value,oe.value))return;const ee=a.min(o.value,$.value).floor();n.value=a.add(n.value,ee),p.value=0}})),h=Ce(0),b=jt(()=>({direction:Be.Right,width:100,height:10,style:"margin-top: 8px",borderStyle:"border-color: black",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s; background: black",progress:()=>a.div(h.value,Ze.value)})),g=xt(()=>({display:{title:"Spinning wool",description:E(()=>i(B,null,[d("Spin "),ge(a.floor(pe.value)),d(" wool"),i("br",null,null),le(b)]))},style:{minHeight:"80px"},canClick:()=>a.gte(h.value,Ze.value),onClick(){if(a.lt(h.value,Ze.value))return;const ee=a.min(n.value,pe.value).floor();l.value=a.add(l.value,ee),n.value=a.sub(n.value,ee),h.value=0}})),_=xl(()=>({key:"b",description:'Press the "Breed Sheep" button',onPress:()=>{r.canClick.value&&r.onClick()}})),S=xl(()=>({key:"h",description:'Press the "Shear Sheep" button',onPress:()=>{y.canClick.value&&y.onClick()}})),x=xl(()=>({key:"s",description:'Press the "Spin Wool" button',onPress:()=>{g.canClick.value&&g.onClick()}})),W=Ne(()=>({resource:de.logs,cost(){let ee=this.amount.value;return a.gte(ee,100)&&(ee=a.pow(ee,2).div(100)),ee=a.pow(.95,J.books.clothBook.amount.value).times(ee),a.pow(1.5,ee).times(1e14)},display:{title:"Build more pens",description:"Breed +1 sheep at once"}})),M=Ne(()=>({resource:at.metal,cost(){let ee=this.amount.value;return a.gte(ee,100)&&(ee=a.pow(ee,2).div(100)),ee=a.pow(.95,J.books.clothBook.amount.value).times(ee),a.pow(1.4,ee).times(1e4)},display:{title:"Make stronger shears",description:"Shear +1 sheep at once"}})),k=Ne(()=>({resource:J.paper,cost(){let ee=this.amount.value;return a.gte(ee,100)&&(ee=a.pow(ee,2).div(100)),ee=a.pow(.95,J.books.clothBook.amount.value).times(ee),a.pow(1.3,ee).times(1e6)},display:{title:"Learn how to spin",description:"Spin +1 wool at once"}})),P=G(()=>({resource:F(l),cost:100,display:{title:"Lumberjack Boots",description:"Quadruple log gain"}})),ne=G(()=>({resource:F(n),cost:150,visibility:()=>I(P.bought.value),display:{title:"Lumberjack Jeans",description:"Quadruple trees cut"}})),re=G(()=>({resource:F(o),cost:200,visibility:()=>I(ne.bought.value),display:{title:"Lumberjack Plaid",description:"Quadruple trees planted"}})),Ee={treesUpgrade4:G(()=>({resource:F(l),cost:1e3,visibility:()=>I(Ue.upgrades.clothTools.bought.value),display:{title:"Felt-Gripped Axe",description:"10x log gain"}})),treesUpgrade3:re,treesUpgrade2:ne,treesUpgrade1:P},be=G(()=>({resource:F(l),cost:150,display:{title:"Mining boots",description:"Quadruple ash gain"}})),Re=G(()=>({resource:F(n),cost:225,visibility:()=>I(be.bought.value),display:{title:"Mining overalls",description:"Double coal gain"}})),Me=G(()=>({resource:F(o),cost:300,visibility:()=>I(Re.bought.value),display:{title:"Mining helmet",description:"Triple coal gain"}})),Fe={metalUpgrade4:G(()=>({resource:F(l),cost:2e3,visibility:()=>I(Ue.upgrades.clothTools.bought.value),display:{title:"Felt-Gripped Pick",description:"Quadruple coal gain"}})),metalUpgrade3:Me,metalUpgrade2:Re,metalUpgrade1:be},De=G(()=>({resource:F(l),cost:200,display:{title:"Scholar's shoes",description:"Double paper gain"}})),z=G(()=>({resource:F(n),cost:200,visibility:()=>I(De.bought.value),display:{title:"Scholar's slacks",description:"Double paper gain"}})),we=G(()=>({resource:F(o),cost:400,visibility:()=>I(z.bought.value),display:{title:"Scholar's jacket",description:"Double paper gain"}})),he={paperUpgrade4:G(()=>({resource:F(l),cost:4e3,visibility:()=>I(Ue.upgrades.clothTools.bought.value),display:{title:"Felt Elbow Pads",description:"10x paper gain"}})),paperUpgrade3:we,paperUpgrade2:z,paperUpgrade1:De},Oe=X(()=>[se(()=>({addend:W.amount,description:"Build more pens"})),C(()=>({multiplier:()=>a.div(Ue.buyables.clothGains.amount.value,10).add(1),description:"Plastic Shepherd",enabled:()=>a.gte(Ue.buyables.clothGains.amount.value,1)})),C(()=>({multiplier:2,description:"Shepherding for Dummies",enabled:J.upgrades.clothUpgrade.bought}))]),Te=v(()=>Oe.apply(1)),pt=X(()=>[]),Ge=v(()=>pt.apply(1)),It=X(()=>[se(()=>({addend:M.amount,description:"Make stronger shears"})),C(()=>({multiplier:()=>a.div(Ue.buyables.clothGains.amount.value,10).add(1),description:"Plastic Shepherd",enabled:()=>a.gte(Ue.buyables.clothGains.amount.value,1)})),C(()=>({multiplier:2,description:"Shepherding for Dummies",enabled:J.upgrades.clothUpgrade.bought})),C(()=>({multiplier:()=>a.add(de.computedAutoCuttingAmount.value,1).log10().add(1),description:"Holly Level 3",enabled:Hl.elfTraining.cutterElfTraining.milestones[2].earned}))]),$=v(()=>It.apply(1)),K=X(()=>[]),oe=v(()=>K.apply(1)),Le=X(()=>[se(()=>({addend:k.amount,description:"Learn how to spin"})),C(()=>({multiplier:()=>a.div(Ue.buyables.clothGains.amount.value,10).add(1),description:"Plastic Shepherd",enabled:()=>a.gte(Ue.buyables.clothGains.amount.value,1)})),C(()=>({multiplier:2,description:"Shepherding for Dummies",enabled:J.upgrades.clothUpgrade.bought})),C(()=>({multiplier:()=>a.add(de.computedAutoCuttingAmount.value,1).log10().add(1),description:"Holly Level 3",enabled:Hl.elfTraining.cutterElfTraining.milestones[2].earned}))]),pe=v(()=>Le.apply(1)),mt=X(()=>[]),Ze=v(()=>mt.apply(1)),[$e,gt]=ll(()=>[{title:"Sheep Gain",modifier:Oe,base:1},{title:"Sheep Breeding Cooldown",modifier:pt,base:1,visible:!1,unit:"s"},{title:"Shearing Amount",modifier:It,base:1},{title:"Shearing Cooldown",modifier:K,base:1,visible:!1,unit:"s"},{title:"Spinning Amount",modifier:Le,base:1},{title:"Spinning Cooldown",modifier:mt,base:1,visible:!1,unit:"s"}]),U=j(!1),it=E(()=>i(bt,{modelValue:U.value,"onUpdate:modelValue":ee=>U.value=ee},{header:()=>i("h2",null,[e,d(" Modifiers")]),body:$e}));He.on("update",ee=>{a.lt(Y.day.value,nn)||(a.gte(s.value,Ge.value)?s.value=Ge.value:(s.value=a.add(s.value,ee),r.isHolding.value&&r.onClick()),a.gte(p.value,oe.value)?p.value=oe.value:(p.value=a.add(p.value,ee),y.isHolding.value&&y.onClick()),a.gte(h.value,Ze.value)?h.value=Ze.value:(h.value=a.add(h.value,ee),g.isHolding.value&&g.onClick()))});const{total:Ve,trackerDisplay:lt}=rl({resource:l,goal:1e3,name:e,day:nn,color:t,textColor:"var(--feature-foreground)",modal:{show:U,display:it}});return{name:e,color:t,cloth:l,totalCloth:Ve,wool:n,sheep:o,buildPens:W,betterShears:M,fasterSpinning:k,treesUpgrades:Ee,metalUpgrades:Fe,paperUpgrades:he,generalTabCollapsed:gt,breedingProgress:s,shearingProgress:p,spinningProgress:h,breedSheepHK:_,shearSheepHK:S,spinWoolHK:x,minWidth:700,display:E(()=>i(B,null,[le(lt),i(fe,null,null),i(Nt,{resource:l,style:"margin-bottom: 0"},null),i(Nt,{resource:n,style:"margin-bottom: 0"},null),i(Nt,{resource:o,style:"margin-bottom: 0"},null),je(r,y,g),je(W,M,k),i(fe,null,null),i(Pl,null,{default:()=>[Ht(...Object.values(Ee)),Ht(...Object.values(Fe)),Ht(...Object.values(he))]})]))}}),Mr="paper",Ca=5,J=Tt(Mr,function(){const e="Paper",t="#E8DCB8",l=dt(0,"paper"),n=dt(v(()=>a.min(a.div(de.logs.value,1e9),a.div(R.ash.value,1e6))),"pulp"),o=Rn(()=>({scaling:Ra(1,1.2),baseResource:n,gainResource:F(l),roundUpCost:!0,spend(z,we){de.logs.value=a.sub(de.logs.value,a.times(we,1e9)),R.ash.value=a.sub(R.ash.value,a.times(we,1e6))},gainModifier:Ee})),s=xt(()=>({display:E(()=>{const z=a.gte(o.actualGain.value,1)?o.currentAt.value:o.nextAt.value;return i(B,null,[i("span",{style:"font-size: large"},[d("Create "),Z(o.currentGain.value),d(" "),l.displayName]),i("br",null,null),i("span",{style:"font-size: large"},[d("Cost: "),Wl(de.logs,z),d(" "),n.displayName,d(" ("),Z(a.times(z,1e9)),d(" "),de.logs.displayName,d(";")," ",Z(a.times(z,1e6)),d(" "),R.ash.displayName,d(")")])])}),canClick:()=>a.gte(o.actualGain.value,1),onClick(){!u(this.canClick)||o.convert()},style:"width: 600px; min-height: unset"}));function c(z){const we=Ne(()=>({...z,display:{title:z.name,description:`Print a copy of "${z.name}", which ${z.elfName} will use to improve their skills! Each copy printed will reduce the "${z.buyableName}" price scaling by 0.95x and make ${z.elfName} purchase +10% faster!`,effectDisplay:E(()=>i(B,null,[H(a.pow(.95,we.amount.value)),d("x price scaling,")," ",H(a.div(we.amount.value,10).add(1)),d("x auto-purchase speed")])),showAmount:!1},resource:F(l),cost(){let _e=this.amount.value;return(z.elfName==="Star"||z.elfName==="Bell")&&(_e=a.pow(_e,2)),a.gte(_e,100)&&(_e=a.pow(_e,2).div(100)),a.gte(_e,1e4)&&(_e=a.pow(_e,2).div(1e4)),_e=a.pow(.95,x.amount.value).times(_e),a.pow(5,_e).times(10)},style:"width: 600px"}));return we}const r=c({name:"Now You're Logging!",elfName:"Holly",buyableName:"Generic Cutters"}),p=c({name:"The Man Who Planted Trees",elfName:"Ivy",buyableName:"Generic Planters"}),m=c({name:"Logjam",elfName:"Hope",buyableName:"Expand Forest"}),y=c({name:"Fahrenheit 451",elfName:"Jack",buyableName:"Heated Cutters"}),h=c({name:"Tillamook Burn Country",elfName:"Mary",buyableName:"Heated Planters"}),b=c({name:"The Garden Tree's Handbook",elfName:"Noel",buyableName:"Fertilized Soil"}),g=c({name:"Firestarter",elfName:"Joy",buyableName:"Small Fire",visibility:()=>I(Ae.elves.smallFireElf.bought.value)}),_=c({name:"An Arsonist's Guide to Writer's Homes in New England",elfName:"Faith",buyableName:"Bonfire",visibility:()=>I(Ae.elves.bonfireElf.bought.value)}),S=c({name:"Little Fires Everywhere",elfName:"Snowball",buyableName:"Kiln",visibility:()=>I(Ae.elves.kilnElf.bought.value)}),x=c({name:"The Book Thief",elfName:"Star",buyableName:"Paper Buyables",visibility:()=>I(Ae.elves.paperElf.bought.value)}),W=c({name:"Not a box",elfName:"Bell",buyableName:"Box Buyables",visibility:()=>I(Ae.elves.boxElf.bought.value)}),M=c({name:"Fuzzy Bee and Friends",elfName:"Gingersnap",buyableName:"Cloth Buyables",visibility:()=>I(Ae.elves.clothElf.bought.value)}),k={cuttersBook:r,plantersBook:p,expandersBook:m,heatedCuttersBook:y,heatedPlantersBook:h,fertilizerBook:b,smallFireBook:g,bonfireBook:_,kilnBook:S,paperBook:x,boxBook:W,clothBook:M},P=G(()=>({resource:F(l),cost:1e8,visibility:()=>I(Ue.upgrades.paperTools.bought.value),display:{title:"Shepherding for Dummies",description:"Double effectiveness of all cloth actions"}})),ne=G(()=>({resource:F(l),cost:1e9,visibility:()=>I(Ue.upgrades.paperTools.bought.value),display:{title:"Guide to drilling",description:"Double drilling power"}})),re=G(()=>({resource:F(l),cost:1e10,visibility:()=>I(Ue.upgrades.paperTools.bought.value),display:{title:"Oil and where to find it",description:"Double oil gain"}})),L={clothUpgrade:P,drillingUpgrade:ne,oilUpgrade:re},Ee=X(()=>[C(()=>({multiplier:2,description:"Scholar's shoes",enabled:tt.paperUpgrades.paperUpgrade1.bought})),C(()=>({multiplier:2,description:"Scholar's slacks",enabled:tt.paperUpgrades.paperUpgrade2.bought})),C(()=>({multiplier:2,description:"Scholar's jacket",enabled:tt.paperUpgrades.paperUpgrade3.bought})),C(()=>({multiplier:10,description:"Felt Elbow Pads",enabled:tt.paperUpgrades.paperUpgrade4.bought})),C(()=>({multiplier:qe.boosts.yellow1,description:"Yellow Dye Boost 1",enabled:()=>a.gte(qe.dyes.yellow.amount.value,1)}))]),[be,Re]=ll(()=>[{title:"Paper Gain",modifier:Ee,base:1}]),Me=j(!1),Pe=E(()=>i(bt,{modelValue:Me.value,"onUpdate:modelValue":z=>Me.value=z},{header:()=>i("h2",null,[e,d(" Modifiers")]),body:be}));He.on("update",z=>{a.lt(Y.day.value,Ca)||(l.value=a.times(z,Ue.buyables.passivePaper.amount.value).times(o.currentGain.value).div(100).add(l.value))});const{total:Fe,trackerDisplay:De}=rl({resource:l,goal:5e3,name:e,day:Ca,color:t,textColor:"var(--feature-foreground)",modal:{show:Me,display:Pe}});return{name:e,day:Ca,color:t,paper:l,totalPaper:Fe,paperConversion:o,books:k,upgrades:L,generalTabCollapsed:Re,minWidth:700,display:E(()=>i(B,null,[le(De),i(fe,null,null),i(Nt,{resource:l,color:t,style:"margin-bottom: 0"},null),i(fe,null,null),le(s),i(fe,null,null),je(...Object.values(L)),i(fe,null,null),Ht(...Object.values(k))]))}}),Dr="boxes",ka=6,Xe=Tt(Dr,function(){const e="Boxes",t="#964B00",l=dt(0,"boxes"),n=Rn(()=>({scaling:Ra(1e10,1),baseResource:de.logs,gainResource:F(l),roundUpCost:!0})),o=xt(()=>({display:E(()=>i(B,null,[i("span",{style:"font-size: large"},[d("Create "),Z(n.currentGain.value),d(" "),l.displayName]),i("br",null,null),i("span",{style:"font-size: large"},[d("Cost:")," ",Wl(de.logs,a.gte(n.actualGain.value,1)?n.currentAt.value:n.nextAt.value)," ",de.logs.displayName])])),canClick:()=>a.gte(n.actualGain.value,1),onClick(){!u(this.canClick)||n.convert()},style:"width: 600px; min-height: unset"})),s=G(()=>({display:{title:"Carry logs in boxes",description:"Double log gain and unlock a new elf for training"},onPurchase(){Y.days[3].recentlyUpdated.value=!0},resource:F(l),cost:100})),c=G(()=>({display:{title:"Carry ash in boxes",description:"Double ash gain and unlock a new elf for training"},onPurchase(){Y.days[3].recentlyUpdated.value=!0},resource:F(l),cost:1e3})),r=G(()=>({display:{title:"Carry coal in boxes",description:"Double coal gain and unlock a new elf for training"},onPurchase(){Y.days[3].recentlyUpdated.value=!0},resource:F(l),cost:4e3})),p={logsUpgrade:s,ashUpgrade:c,coalUpgrade:r},m=G(()=>({resource:F(l),cost:1e8,visibility:()=>I(Ue.upgrades.boxTools.bought.value),display:{title:"Carry ore in boxes",description:"Double ore per mining op"}})),y=G(()=>({resource:F(l),cost:1e9,visibility:()=>I(Ue.upgrades.boxTools.bought.value),display:{title:"Carry metal in boxes",description:"Double ore purity"}})),h=G(()=>({resource:F(l),cost:1e10,visibility:()=>I(Ue.upgrades.boxTools.bought.value),display:{title:"Carry plastic in boxes",description:"Double plastic gain"}})),b={oreUpgrade:m,metalUpgrade:y,plasticUpgrade:h},g=Ne(()=>({display:{title:"Carry more logs",description:"Use boxes to carry even more logs, boosting their gain",effectDisplay:E(()=>i(B,null,[H(a.div(g.amount.value,2).add(1)),d("x")]))},resource:F(l),cost(){let k=this.amount.value;return k=a.pow(.95,J.books.boxBook.amount.value).times(k),a.pow(3,k).times(100).div(qe.boosts.orange2.value)},visibility:()=>I(s.bought.value)})),_=Ne(()=>({display:{title:"Carry more ash",description:"Use boxes to carry even more ash, boosting its gain",effectDisplay:E(()=>i(B,null,[H(a.div(_.amount.value,2).add(1)),d("x")]))},resource:F(l),cost(){let k=this.amount.value;return k=a.pow(.95,J.books.boxBook.amount.value).times(k),a.pow(5,k).times(1e3).div(qe.boosts.orange2.value)},visibility:()=>I(c.bought.value)})),S=Ne(()=>({display:{title:"Carry more coal",description:"Use boxes to carry even more coal, boosting its gain",effectDisplay:E(()=>i(B,null,[H(a.div(S.amount.value,2).add(1)),d("x")]))},resource:F(l),cost(){let k=this.amount.value;return k=a.pow(.95,J.books.boxBook.amount.value).times(k),a.pow(7,k).times(1e3).div(qe.boosts.orange2.value)},visibility:()=>I(r.bought.value)})),x={logBoxesBuyable:g,ashBoxesBuyable:_,coalBoxesBuyable:S};He.on("update",k=>{a.lt(Y.day.value,ka)||(l.value=a.times(k,Ue.buyables.passiveBoxes.amount.value).times(n.currentGain.value).div(100).add(l.value))});const{total:W,trackerDisplay:M}=rl({resource:l,goal:5e4,name:e,day:ka,color:t});return{name:e,day:ka,color:t,boxes:l,totalBoxes:W,boxesConversion:n,upgrades:p,row2Upgrades:b,buyables:x,minWidth:700,display:E(()=>i(B,null,[le(M),i(fe,null,null),i(Nt,{resource:l,color:t,style:"margin-bottom: 0"},null),i(fe,null,null),le(o),i(fe,null,null),El(Object.values(p),Object.values(b)),i(fe,null,null),je(...Object.values(x))]))}}),xr="trees",on=1,sn=.1,de=Tt(xr,function(){const e="Trees",t="#4BDC13",l="green",n=dt(0,"logs"),o=dt(0,"saplings"),s=j(0),c=X(()=>[se(()=>({addend:()=>a.times(L.amount.value,10),description:"Expand Forest",enabled:k.bought})),se(()=>({addend:()=>a.div(Bt.foundationProgress.value,2),description:"75% Foundation Completed",enabled:Bt.milestones.morePlantsMilestone1.earned})),C(()=>({multiplier:2,description:"5 Elves Trained",enabled:Ae.milestones[4].earned})),C(()=>({multiplier:2,description:"8 Elves Trained",enabled:Ae.milestones[7].earned})),C(()=>({multiplier:4,description:"Lumberjack Boots",enabled:tt.treesUpgrades.treesUpgrade1.bought})),se(()=>({addend:qe.boosts.blue1,description:"Blue Dye Boost 1",enabled:()=>a.gte(qe.dyes.blue.amount.value,1)}))]),r=dt(v(()=>a.sub(c.apply(10),o.value)),"trees"),p=v(()=>c.apply(10)),m=G(()=>({resource:F(n),cost:10,display:{title:"Wooden Fingers",description:"Cut down an additional tree per click"}})),y=G(()=>({resource:F(n),cost:10,display:{title:"Leafy Fingers",description:"Plant an additional tree per click"}})),h=G(()=>({resource:F(n),cost:25,display:{title:"Automated Knives",description:"Cut down a tree every second"}})),b=G(()=>({resource:F(n),cost:25,display:{title:"Automated Spade",description:"Plant a tree every second"}})),g=G(()=>({resource:F(n),cost:40,display:{title:"Research I",description:"Trees give 25% more logs, and unlock more upgrades"}})),_=[m,y,h,b,g],S=G(()=>({resource:F(n),cost:50,visibility:()=>I(g.bought.value),display:{title:"Sharper Fingers",description:"Manually cut trees twice as often"}})),x=G(()=>({resource:F(n),cost:50,visibility:()=>I(g.bought.value),display:{title:"Greener Fingers",description:"Manually Plant trees twice as often"}})),W=G(()=>({resource:F(n),cost:150,visibility:()=>I(g.bought.value),display:{title:"Smart Knives",description:"Each time you manually chop trees, gain 1s of automatic tree chopping production"}})),M=G(()=>({resource:F(n),cost:150,visibility:()=>I(g.bought.value),display:{title:"Smart Spades",description:"Each time you manually plant trees, gain 1s of automatic tree planting production"}})),k=G(()=>({resource:F(n),cost:300,visibility:()=>I(g.bought.value),display:{title:"Research II",description:"Trees give 25% more logs, and unlock repeatable purchases"}})),P=[S,x,W,M,k],ne=Ne(()=>({resource:F(n),cost(){let V=this.amount.value;return a.gte(V,50)&&(V=a.pow(V,2).div(50)),a.gte(V,200)&&(V=a.pow(V,2).div(200)),a.gte(V,2e6)&&(V=a.pow(V,2).div(2e6)),V=a.pow(.95,J.books.cuttersBook.amount.value).times(V),a.times(100,V).add(200)},display:{title:"Generic Cutters",description:"Each cutter cuts down 1 tree/s"},visibility:()=>I(k.bought.value)})),re=Ne(()=>({resource:F(n),cost(){let V=this.amount.value;return a.gte(V,50)&&(V=a.pow(V,2).div(50)),a.gte(V,200)&&(V=a.pow(V,2).div(200)),a.gte(V,2e6)&&(V=a.pow(V,2).div(2e6)),V=a.pow(.95,J.books.plantersBook.amount.value).times(V),a.times(100,V).add(200)},display:{title:"Generic Planters",description:"Each planter plants 0.5 trees/s"},visibility:()=>I(k.bought.value)})),L=Ne(()=>({resource:F(n),cost(){let V=this.amount.value;return a.gte(V,100)&&(V=a.pow(V,2).div(100)),a.gte(V,1e5)&&(V=a.pow(V,2).div(1e5)),V=a.pow(.95,J.books.expandersBook.amount.value).times(V),a.pow(a.add(V,1),1.5).times(500)},display:{title:"Expand Forest",description:"Add 10 trees to the forest"},visibility:()=>I(k.bought.value)})),Ee=[ne,re,L],be=X(()=>[se(()=>({addend:1,description:"Wooden Fingers",enabled:m.bought})),se(()=>({addend:De,description:"Smart Knives",enabled:W.bought}))]),Re=v(()=>be.apply(1)),Me=X(()=>[C(()=>({multiplier:.5,description:"Sharper Fingers",enabled:S.bought})),C(()=>({multiplier:()=>a.pow(.5,Ae.totalElves.value),description:"1 Elf Trained",enabled:Ae.milestones[0].earned}))]),Pe=v(()=>Me.apply(1)),Fe=X(()=>[se(()=>({addend:1,description:"Automated Knives",enabled:h.bought})),se(()=>({addend:ne.amount,description:"Generic Cutters",enabled:k.bought})),se(()=>({addend:()=>a.div(Bt.foundationProgress.value,5).floor(),description:"10% Foundation Completed",enabled:Bt.milestones.autoCutMilestone1.earned})),C(()=>({multiplier:2,description:"30% Foundation Completed",enabled:Bt.milestones.autoCutMilestone2.earned})),C(()=>({multiplier:2,description:"Warmer Cutters",enabled:R.warmerCutters.bought})),C(()=>({multiplier:R.computedHeatedCutterEffect,description:"Heated Cutters",enabled:()=>a.gt(R.heatedCutters.amount.value,0)})),C(()=>({multiplier:4,description:"Lumberjack Jeans",enabled:tt.treesUpgrades.treesUpgrade2.bought}))]),De=v(()=>Fe.apply(0)),z=X(()=>[se(()=>({addend:1,description:"Leafy Fingers",enabled:y.bought})),se(()=>({addend:Te,description:"Smart Spades",enabled:M.bought}))]),we=v(()=>z.apply(1)),_e=X(()=>[C(()=>({multiplier:.5,description:"Greener Fingers",enabled:x.bought})),C(()=>({multiplier:()=>a.pow(.5,Ae.totalElves.value),description:"1 Elf Trained",enabled:Ae.milestones[0].earned}))]),he=v(()=>_e.apply(1)),Oe=X(()=>[se(()=>({addend:1,description:"Automated Spade",enabled:b.bought})),se(()=>({addend:()=>a.div(re.amount.value,2),description:"Generic Planters",enabled:k.bought})),se(()=>({addend:()=>a.div(Bt.foundationProgress.value,10).floor(),description:"20% Foundation Completed",enabled:Bt.milestones.autoPlantMilestone1.earned})),C(()=>({multiplier:2,description:"40% Foundation Completed",enabled:Bt.milestones.autoPlantMilestone2.earned})),C(()=>({multiplier:2,description:"Warmer Planters",enabled:R.warmerPlanters.bought})),C(()=>({multiplier:R.computedHeatedPlanterEffect,description:"Heated Planters",enabled:()=>a.gt(R.heatedPlanters.amount.value,0)})),C(()=>({multiplier:4,description:"Lumberjack Plaid",enabled:tt.treesUpgrades.treesUpgrade3.bought})),C(()=>({multiplier:2,description:"Ivy Level 1",enabled:Hl.elfTraining.planterElfTraining.milestones[0].earned}))]),Te=v(()=>Oe.apply(0)),pt=X(()=>[C(()=>({multiplier:1.25,description:"Research I",enabled:g.bought})),C(()=>({multiplier:1.25,description:"Research II",enabled:k.bought})),C(()=>({multiplier:()=>a.div(Bt.foundationProgress.value,20).add(1),description:"1% Foundation Completed",enabled:Bt.milestones.logGainMilestone1.earned})),C(()=>({multiplier:2,description:"50% Foundation Completed",enabled:Bt.milestones.logGainMilestone2.earned})),C(()=>({multiplier:1.25,description:"Ashy Soil",enabled:R.basicFertilizer.bought})),C(()=>({multiplier:R.computedFertilizerEffect,description:"Fertilized Soil",enabled:()=>a.gt(R.moreFertilizer.amount.value,0)})),C(()=>({multiplier:2,description:"4 Elves Trained",enabled:Ae.milestones[3].earned})),C(()=>({multiplier:2,description:"Carry logs in boxes",enabled:Xe.upgrades.logsUpgrade.bought})),C(()=>({multiplier:()=>a.div(Xe.buyables.logBoxesBuyable.amount.value,2).add(1),description:"Carry more logs",enabled:Xe.upgrades.logsUpgrade.bought})),C(()=>({multiplier:10,description:"Felt-Gripped Axe",enabled:tt.treesUpgrades.treesUpgrade4.bought})),C(()=>({multiplier:v(()=>a.add(De.value,1).log10().plus(1)),description:"Is Blue Dye just Water?",enabled:qe.upgrades.blueDyeUpg.bought})),C(()=>({multiplier:v(()=>a.add(De.value,1).log10().plus(1)),description:"Holly Level 1",enabled:Hl.elfTraining.cutterElfTraining.milestones[0].earned})),Fn(()=>({exponent:1.2,description:"100% Foundation Completed",enabled:Bt.milestones.logGainMilestone3.earned}))]),Ge=Ce(0),It=jt(()=>({direction:Be.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>a.div(Ge.value,Pe.value)})),$=xt(()=>({display:{title:"Cut trees",description:E(()=>i(B,null,[d("Cut down up to "),Z(a.floor(Re.value))," ",d("tree"),a.eq(Re.value,1)?"":"s",d(" at once!"),i("br",null,null),le(It)]))},style:{minHeight:"80px"},canClick:()=>a.gte(r.value,1)&&a.gte(Ge.value,Pe.value),onClick(){if(a.lt(Ge.value,Pe.value))return;const V=a.floor(a.min(r.value,a.times(Re.value,a.div(Ge.value,Pe.value).floor())));n.value=a.add(n.value,a.times(pt.apply(1),V)),o.value=a.add(o.value,V),Ge.value=0}})),K=Ce(0),oe=jt(()=>({direction:Be.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>a.div(K.value,he.value)})),Le=xt(()=>({display:{title:"Plant trees",description:E(()=>i(B,null,[d("Plant up to "),Z(a.floor(we.value))," ",d("tree"),a.eq(we.value,1)?"":"s",d(" at once!"),i("br",null,null),le(oe)]))},style:{minHeight:"80px"},canClick:()=>a.gte(o.value,1)&&a.gte(K.value,he.value),onClick(){if(a.lt(K.value,he.value))return;const V=a.floor(a.min(o.value,a.times(we.value,a.div(K.value,he.value).floor())));o.value=a.sub(o.value,V),K.value=0}})),[pe,mt]=ll(()=>[{title:"Logs per Tree",modifier:pt,base:1,visible:g.bought},{title:"Manual Cutting Amount",modifier:be,base:1,visible:m.bought,unit:"/click"},{title:"Manual Cutting Cooldown",modifier:Me,base:1,visible:m.bought,unit:"s"},{title:"Manual Planting Amount",modifier:z,base:1,visible:y.bought,unit:"/click"},{title:"Manual Planting Cooldown",modifier:_e,base:1,visible:y.bought,unit:"s"},{title:"Auto Cutting Amount",modifier:Fe,base:0,visible:h.bought,unit:"/s"},{title:"Auto Planting Amount",modifier:Oe,base:0,visible:b.bought,unit:"/s"},{title:"Forest Size",modifier:c,base:10,visible:k.bought}]),Ze=j(!1),$e=E(()=>i(bt,{modelValue:Ze.value,"onUpdate:modelValue":V=>Ze.value=V},{header:()=>i("h2",null,[e,d(" Modifiers")]),body:pe}));He.on("update",V=>{if(a.lt(Y.day.value,on))return;a.gte(Ge.value,Pe.value)?Ge.value=Pe.value:(Ge.value=a.add(Ge.value,V),$.isHolding.value&&$.onClick()),a.gte(K.value,he.value)?K.value=he.value:(K.value=a.add(K.value,V),Le.isHolding.value&&Le.onClick());const Mt=a.min(r.value,a.times(De.value,V)),Jt=a.mul(pt.apply(1),Mt),rt=a.div(Jt,V);s.value=a.mul(rt,sn).add(a.mul(s.value,a.dOne.sub(sn))),n.value=a.add(n.value,Jt),o.value=a.add(o.value,Mt);const ie=a.min(o.value,a.times(Te.value,V));o.value=a.sub(o.value,ie)});const gt=v(()=>a.sub(De.value,Te.value)),U=v(()=>a.sub(Te.value,De.value)),it=xl(()=>({key:"c",description:'Press the "Cut trees" button.',onPress:()=>{$.canClick.value&&$.onClick()}})),Ve=xl(()=>({key:"p",description:'Press the "Plant trees" button.',onPress:()=>{Le.canClick.value&&Le.onClick()}})),{total:lt,trackerDisplay:ee}=rl({resource:n,goal:1e4,name:e,day:on,color:l,modal:{show:Ze,display:$e}});return{name:e,color:t,logs:n,totalLogs:lt,trees:r,saplings:o,cutTree:$,plantTree:Le,cutTreeHK:it,plantTreeHK:Ve,row1Upgrades:_,row2Upgrades:P,row1Buyables:Ee,manualCutProgress:Ge,manualPlantProgress:K,generalTabCollapsed:mt,computedAutoCuttingAmount:De,minWidth:700,display:E(()=>i(B,null,[le(ee),i(fe,null,null),i(Nt,{resource:n,color:t,style:"margin-bottom: 0",productionDisplay:a.gt(De.value,0)?`+${H(s.value)}/s average
equilibrium: +${bn([[De.value,"cutting speed"],[Te.value,"planting speed"],[a.mul(p.value,20),"forest cap"]],"/s",pt.apply(1))}`:void 0},null),i(Nt,{resource:o,color:l,style:"margin-bottom: 0",productionDisplay:na(gt.value)},null),i(Nt,{resource:r,color:l,style:"margin-bottom: 0",productionDisplay:na(U.value)},null),i(fe,null,null),je($,Le),i("div",null,[d("Tip: You can hold down on actions to perform them automatically")]),i(fe,null,null),El(_,P),i(fe,null,null),je(...Ee)]))}});var Gn="./assets/tree.35808197.png",$n="./assets/sws.714ad454.png",Qn="data:image/png;base64,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",qn="./assets/elf.9fbfa563.png",Vn="./assets/paperStacks.4c96ec8c.png",Hn="data:image/png;base64,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",Ln="./assets/metal.7407f5d1.png",jn="./assets/cloth.7bcd7f37.png",Wn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAFxGAABcRgEUlENBAAAAG3RFWHRTb2Z0d2FyZQBDZWxzeXMgU3R1ZGlvIFRvb2zBp+F8AAAE/ElEQVR42u3dW3baMBRAURhzO4x2zO5P25WPPAhIuq99JhAsayNwbHG/rusm6f3ugEiASIBIgEiASIBIgEiASIBIgNQ+mPv9/8Fc13V3ejUeyFsUnwWMRgF5FAYoGgXkWRiQqD2QFThAUUsgq3FAIkAgESCQCJDtQCARIJAIEEAECCQCJArISSQfHRekgIxG4h4yQCBZdAyQADLi+0jlGyw/e+2dAY+7mzdqgr76ek9OQjeENgBSDUl2IO51awjkJJRXTnTWd2T/WxoCJDOSla9r1UQ7faGjMpKWmzZk+riQCUgEjOpIWu9qsmNCfOckZ3nAKxpGZSRjtv2JeCePXj0ywQBkEJZHTnLk6pERBiDDsHx1oqOAZMZREYmdFZ+YYBlXkAowABmAJuqd/LO/WwkHIDqGoxoM30F0DEhFHIBoO5CqMADRFiBwAALIA5MKDkCWTbTIk7Hj41V1HIAknmCnT06HyQxHUiDVd0+EoxeOVEA6PKMASC8caYBkmFjVn7WAoymQrBPr7ZfjTvdBwVEISPVbJcDojQMQwQGI4ABEcAAiMAARMIAAAgwggKg8FEAECSACBBBB0gsIJIAAAogAgUS+gwAiQCARHAmBQAIIIJCoGKCU+2JBAgwgkKgAFiuIQPElXZAUBgKGsiJxq4kgyQgEDFVAEgIEDlVBchwIHAIEDDVBcgQIHAIEDgEChwABRJDsBgKHAIFDgAAiQOAQIIAIEEAECCASIBIgUk4cgAgQQAQHIAKkBhBI1AXHNiCgqAOO7UAgUWUcR4DAooowQoAAo0o4woFAoqwwrCACAxCBURQIHMoMIxQIHLKCAKIGWGxeLVCyAIFD1ZAAIlAyAInG8dXgwgvJWCDfHVRYIDkKJGLCrRhEUABpB2T14EEyG0mr50F2DRokgJQHsn13C0hGImnxyO2RgSoI5N+4dMUNSLblNvlEm3a1rjSQbjiyT6iJV+0ASQYk8yRaOQ5VoACSEMjfY/t1u91+JJknv6/r+ukNoRCQDpd2AckNBRBAUgHJhgWQpDgSvpseBxI9FuVvNekOJNEqEooj4ryXv5u3+8crQOLmQYvnQSasHoCcnxdtth4FpAaQj85T0EWPK9O5BaTPl/WngDzyujPvVQVIkZMXDGT56gELIIC88NonQgFkKBBImgLJdoICkSy5gvXs658Cpdw/CgFZC+TVY+gOpRSQlJsbNwACCSDdgGz5ByEkh4DsmDhZT0AnIJAcBLJyAmUf+AAkKYF0RAIIIJBEApmwbAPSF0nqnz+oMsiAAHJ08CsO7uG7e0ts1NABSaqfga48oAeBbH8GZOWKWB1JKJBOdQEy5fI8IH2/h5RaQcp/MgAEkN3HAYhOfsyyggACSCcglZEAAggggAACCCCAAAIIIDV3cwdEp5AAAgggnYC4zKt2QFYiAUQtgaxA4l4stQbyChK3u2sEkGeRAKIxQL4DxTPpikSS5kdz3sNiVxMB8g4UG8cJkInnEhBABAggAgQQAQIIIIAAAgggkAACCCCAACJAABEggAgQAQKIAAFEgAAiQACBBBBAAAEEEEAAESCACBBABAggRqEeEEgAAQQQQAABBBBAAAFEp4FAAggggAACCCCAAAIJIAIEECXCAQgggEACCCCAAAIIIIAoAggkgAACCCBwAAIIIJAAAggggCgZEEgAgQMQQACBBBBAAAEEDkgK9wfV+oLa+LwMvQAAAABJRU5ErkJggg==",Kn="./assets/plastic.b8ac74ff.png",zn="data:image/png;base64,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",Pr="./assets/elfManagement.436c8744.png";const Y=Tt("main",function(){const e=Ce(1),t=v(()=>(+new Date(new Date().getFullYear(),11,e.value)-te.time)/1e3),l=j(!1),n=j(-1),o=j(""),s=j();function c(m){const y=Ce(!1),h=Ce(!1);return St(()=>{const b=m(),g=yt(b.shouldNotify),_=yt(()=>u(g)||u(h));return{...b,opened:y,shouldNotify:_,recentlyUpdated:h,[zt]:ss,[tl]:function(){const{day:S,layer:x,symbol:W,opened:M,shouldNotify:k,story:P,completedStory:ne,recentlyUpdated:re}=this;return{day:S,symbol:W,layer:x,opened:M,recentlyUpdated:re,shouldNotify:k,onOpenLore(){var be,Re;const L=Y.day.value>S;n.value=L?S-1:-1;const Ee=u((Re=(be=_t[x!=null?x:"trees"])==null?void 0:be.name)!=null?Re:"");o.value=L?`${Ee} - Completed!`:Ee,s.value=L?`${P}
${ne}`:P,l.value=!0},onOpenLayer(){if(re.value=!1,window.matchMedia("(min-width: 1468px)").matches)if(te.tabs.includes(x!=null?x:"trees")){const L=te.tabs.lastIndexOf(x!=null?x:"trees");te.tabs.splice(L,1)}else te.tabs.push(x!=null?x:"trees"),Y.minimized.value=!0;else te.tabs.splice(1,1/0,x!=null?x:"trees")},onUnlockLayer(){x&&(M.value=!0,setTimeout(()=>{var L,Ee;n.value=-1,o.value=u((Ee=(L=_t[x!=null?x:"trees"])==null?void 0:L.name)!=null?Ee:""),s.value=P,te.devSpeed=null,l.value=!0},1e3))}}}}})}const r=[c(()=>({day:1,shouldNotify:!1,layer:"trees",symbol:Gn,story:"Oh no! Santa forgot about Christmas and it's only 25 days away! He's asked for your help due to your history getting large quantities of things in short amounts of time. Unfortunately you're really starting from scratch here - let's start with getting wood, which you'll need for everything from building workshops to wrapping paper to many of the toys themselves!",completedStory:"Santa looks at all the wood you've gathered and tells you you've done well! He says you should take the rest of the day off so you're refreshed for tomorrow's work. Good Job!"})),c(()=>({day:2,shouldNotify:!1,layer:"workshop",symbol:$n,story:"Santa looked over your tree farm and was impressed with how much you could accomplish in just one day. Today's goal is to get a workshop built up for the elves to work in - and apparently, they need quite a lot of space to work!",completedStory:"The workshop complete, Santa once again dismisses you for the day. With a strong foundation, this workshop should suffice for supporting future work toward this impossible mission. Good Job!"})),c(()=>({day:3,shouldNotify:!1,layer:"coal",symbol:Qn,story:"Santa tells you that unfortunately there are quite a few naughty children out there this year, and he's going to need you to gather as much coal as you can for him to give out.",completedStory:"Santa looks at all the coal you've gathered and tells you you've done well! He says you should take the rest of the day off so you're refreshed for tomorrow's work. Good Job!"})),c(()=>({day:4,shouldNotify:!1,layer:"elves",symbol:qn,story:"Alright, it seems you finally have enough things set up to start bringing in the elves! Unfortunately, it seems they'll need to be retrained on how to help, since they've stopped practicing for 11 months!",completedStory:"The workshop now hums with the bustling elves working on everything. They can take it from here - you deserve a break after such a long day! Good Job!"})),c(()=>({day:5,shouldNotify:!1,layer:"paper",symbol:Vn,story:"With the elves trained, we're almost ready to start working on these presents! Just a couple more pre-reqs first, starting with turning all this wood into wood pulp and finally into paper, which will be required for wrapping paper later on but in the meantime can be used to help write guides which will help these elves continue their education!",completedStory:"You look upon your rivers of book pulp as you hand out stacks of papers to elves to read through. You've continued getting closer and closer to preparing for Christmas, and can go to bed satisfied with your progress. Good Job!"})),c(()=>({day:6,shouldNotify:!1,layer:"boxes",symbol:Hn,story:"You watch all these elves carrying incredibly large loads just in their open elf-sized hands, and realize there's probably a better way. You need to put the toys in boxes anyways, so why don't we get started working on those so the workers can take advantage as well?",completedStory:"Wow, those boxes are really convenient! The workshop feels more and more proper with every day. You tick another requirement on your list and start looking towards tomorrow. Good Job!"})),c(()=>({day:7,shouldNotify:!1,layer:"metal",symbol:Ln,story:"You woke up ready to make some toys, before realizing most toys these days are made out of more than just wood! You're sure you're close to really getting to work, but there's a few more materials you're going to need - like metal! Lots of things need metal!",completedStory:"The sounds of drills and metal clanging join the already loud din as yet another piece of the puzzle fits into place. You're making solid progress, Good Job!"})),c(()=>({day:8,shouldNotify:!1,layer:"cloth",symbol:jn,story:"Another resource you're going to need for gifts is cloth! Fortunately you think this should be pretty easy to prepare using a sheep farm - and as you've already proven with the tree farm, that's something you can handle!",completedStory:"You fall into a pile of wool, sighing contentedly as you look at all the progress you've made today. Good Job!"})),c(()=>({day:9,shouldNotify:!1,layer:"oil",symbol:Wn,story:"Looks like you just need one more thing before the toy factory can start running: plastic! Every toy nowadays is made with plastic! But wait, how are you going to get plastic? What can make plastic? Wait that's right, oil! You figured out you might as well repurpose your coal and ore drills into something that can get you oil, but unfortunately you'll need to mine much deeper that you're currently doing, so let's get to work!",completedStory:"It took a while, but you finally got enough oil for the next step! You deserve a good rest after all this digging work - tomorrow will be a busy day! Good Job!"})),c(()=>({day:10,shouldNotify:!1,layer:"plastic",symbol:Kn,story:"Now that plenty of oil has been prepared, it's time to start refining it into plastic! This should be incredibly useful not only for toys, but making tools and other items!",completedStory:"You've started refining massive amounts of oil into slightly less massive amounts of plastic. You have a slight pang of regret thinking of the environmental impact, but ultimately decide Christmas is worth it. Good Job!"})),c(()=>({day:11,shouldNotify:!1,layer:"dyes",symbol:zn,story:"To make toys, we're going to need some color to make them look nice and enticing! We can't just give kids clear toys after all! To add some color to our toys, we'll need some dyes!",completedStory:"After all that effort, you finally have a rainbow of dyes to choose from! Now the children won't be able to resist the toys you have to offer, once you get them made of course..."})),c(()=>({day:12,shouldNotify:!1,layer:"management",symbol:Pr,story:"You watch as the elves work, and you realize that they could probably be trained to help out better. Just then, Santa comes over to check on your progress. You reply that you're doing fine, except that the elves may need a bit of behavior management. Santa offers to help, saying that he doesn't want to leave you to do everything. Unfortunately for you, the behavior problems won't fix themselves, so let's get to work!",completedStory:""})),c(()=>({day:13,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:14,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:15,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:16,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:17,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:18,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:19,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:20,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:21,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:22,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:23,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),c(()=>({day:24,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""}))];function p(){n.value=e.value-1,o.value="Day Complete!",s.value=r[e.value-1].completedStory,l.value=!0,e.value++,Y.minimized.value=!1,te.devSpeed=0}return{name:"Calendar",days:r,day:e,timeUntilNewDay:t,loreScene:n,loreTitle:o,loreBody:s,showLoreModal:l,completeDay:p,minWidth:700,display:E(()=>i(B,null,[te.devSpeed===0?i("div",null,[d("Game Paused")]):null,te.devSpeed&&te.devSpeed!==1?i("div",null,[d("Dev Speed: "),H(te.devSpeed),d("x")]):null,te.offlineTime?i("div",null,[d("Offline Time: "),da(te.offlineTime)]):null,i(fe,null,null),i("div",{class:"advent"},[r.reduce((m,y)=>(m[m.length-1].length===4&&m.push([]),m[m.length-1].push(y),m),[[]]).map(m=>je(...m))])]))}}),Tr=e=>[Y,de,Bt,R,Ae,J,Xe,at,tt,Je,Ue,qe,Hl],$a=v(()=>!1);function Fr(e,t){t.offlineProd=!1}var Ur=Object.freeze(Object.defineProperty({__proto__:null,main:Y,getInitialLayers:Tr,hasWon:$a,fixOldSave:Fr},Symbol.toStringTag,{value:"Module"}));const Rr={class:"scene"},Or=["src"],Gr=["src"],$r=["src"],Qr=["src"],qr=["src"],Vr=["src"],Hr=["src"],Lr={key:7,class:"scene-bubble",style:{left:"50%",bottom:"38%"}},jr=["src"],Wr=["src"],Kr=["src"],zr=["src"],Jr=ce({__name:"Scene",props:{day:null},setup(e){return(t,l)=>(w(),D("div",Rr,[e.day>=7?(w(),D("img",{key:0,src:u(jn),class:"scene-item",style:{left:"4%",bottom:"3%",width:"40px",height:"40px"}},null,8,Or)):O("",!0),e.day>=0?(w(),D("img",{key:1,src:u(Gn),class:"scene-item",style:{left:"10%",bottom:"10%"}},null,8,Gr)):O("",!0),e.day>=1?(w(),D("img",{key:2,src:u($n),class:"scene-item",style:{left:"40%",bottom:"12%"}},null,8,$r)):O("",!0),e.day>=2?(w(),D("img",{key:3,src:u(Qn),class:"scene-item",style:{left:"65%",bottom:"12%",width:"40px",height:"40px"}},null,8,Qr)):O("",!0),e.day>=6?(w(),D("img",{key:4,src:u(Ln),class:"scene-item",style:{left:"72%",bottom:"8%",width:"40px",height:"40px"}},null,8,qr)):O("",!0),e.day>=8?(w(),D("img",{key:5,src:u(Wn),class:"scene-item",style:{left:"80%",bottom:"6%"}},null,8,Vr)):O("",!0),e.day>=3?(w(),D("img",{key:6,src:u(qn),class:"scene-item",style:{left:"52%",bottom:"12%"}},null,8,Hr)):O("",!0),e.day>=4?(w(),D("div",Lr,[e.day>=4?(w(),D("img",{key:0,src:u(Vn),class:"scene-item"},null,8,jr)):O("",!0),e.day>=5?(w(),D("img",{key:1,src:u(Hn),class:"scene-item"},null,8,Wr)):O("",!0),e.day>=9?(w(),D("img",{key:2,src:u(Kn),class:"scene-item"},null,8,Kr)):O("",!0),e.day>=10?(w(),D("img",{key:3,src:u(zn),class:"scene-item"},null,8,zr)):O("",!0)])):O("",!0)]))}});var Xr=xe(Jr,[["__scopeId","data-v-47b4d886"]]);const Yr=ce({components:{Context:Cn},props:{index:{type:Number,required:!0},tab:{type:Function,required:!0},display:{type:q(Object,String,Function),required:!0},minimized:{type:Object,required:!0},minWidth:{type:q(Number,String),required:!0},name:{type:q(String),required:!0},color:q(String),minimizable:q(Boolean),nodes:{type:Object,required:!0}},setup(e){const{display:t,index:l,minimized:n,minWidth:o,tab:s}=ct(e),c=Tl(t),r=v(()=>Qe.allowGoBack&&l.value>0&&!n.value);function p(){te.tabs.splice(u(e.index),1)}Sl(()=>y(n.value,u(o.value))),Wt([n,qi(o)],([h,b])=>y(h,b));function m(h){e.nodes.value=h}function y(h,b){const g=typeof b=="number"||Number.isNaN(parseInt(b))?b+"px":b,_=s.value();_!=null&&(h?(_.style.flexGrow="0",_.style.flexShrink="0",_.style.width="60px",_.style.minWidth=_.style.flexBasis="",_.style.margin="0"):(_.style.flexGrow="",_.style.flexShrink="",_.style.width="",_.style.minWidth=_.style.flexBasis=g,_.style.margin=""))}return{component:c,showGoBack:r,updateNodes:m,unref:u,goBack:p}}});function Zr(e,t,l,n,o,s){const c=el("Context");return w(),D("div",{class:"layer-container",style:nt({"--layer-color":e.unref(e.color)})},[e.showGoBack?(w(),D("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...r)=>e.goBack&&e.goBack(...r))},"\u274C")):O("",!0),e.minimized.value?(w(),D("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=r=>e.minimized.value=!1)},[f("div",null,ke(e.unref(e.name)),1)])):(w(),D("div",{key:2,class:Ye(["layer-tab",{showGoBack:e.showGoBack}])},[i(c,{onUpdateNodes:e.updateNodes},{default:ue(()=>[(w(),ae(Ke(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(w(),D("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=r=>e.minimized.value=!0)}," \u25BC ")):O("",!0)],4)}var eu=xe(Yr,[["render",Zr],["__scopeId","data-v-0158bec3"]]);const Jn=e=>(il("data-v-4b4bda40"),e=e(),sl(),e),tu=Jn(()=>f("h2",null,"Changelog",-1)),lu=Jn(()=>f("details",{open:""},[f("summary",null,[d("v0.0 Initial Commit - "),f("time",null,"2021-09-04")]),d(" This is the first release :D "),f("ul",null,[f("li",{class:"feature"},"Did everything"),f("li",{class:"fix"},"Had some fun"),f("li",{class:"breaking"},"Removed everything"),f("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),au=ce({__name:"Changelog",setup(e,{expose:t}){const l=j(!1);return t({open(){l.value=!0}}),(n,o)=>(w(),ae(bt,{modelValue:l.value,"onUpdate:modelValue":o[0]||(o[0]=s=>l.value=s)},{header:ue(()=>[tu]),body:ue(()=>[lu]),_:1},8,["modelValue"]))}});var nu=xe(au,[["__scopeId","data-v-4b4bda40"]]),ou=ce({props:{element:Object,display:{type:q(Object,String,Function),required:!0},style:q(Object,String,Array),classes:q(Object),direction:q(String),xoffset:q(String),yoffset:q(String),pinned:Object},setup(e){const{element:t,display:l,pinned:n}=ct(e),o=j(!1),s=v(()=>(ot(n)||o.value)&&c.value),c=hl(l),r=Ut(Ie(E(()=>{const y=ot(t);return y==null?"":Lt(y)})));function p(y){const h=n;y.shiftKey&&h&&(h.value=!h.value,y.stopPropagation(),y.preventDefault())}const m=v(()=>ot(n)&&Bl[et.theme].showPin);return{Direction:Be,isHovered:o,isShown:s,comp:c,elementComp:r,unref:u,togglePinned:p,showPin:m}}});const iu={key:0,class:"material-icons pinned"};function su(e,t,l,n,o,s){return w(),D("div",{class:Ye(["tooltip-container",{shown:e.isShown}]),onMouseenter:t[0]||(t[0]=c=>e.isHovered=!0),onMouseleave:t[1]||(t[1]=c=>e.isHovered=!1),onClickCapture:t[2]||(t[2]=(...c)=>e.togglePinned&&e.togglePinned(...c))},[Vt(e.$slots,"default",{},void 0,!0),e.elementComp?(w(),ae(Ke(e.elementComp),{key:0})):O("",!0),i(ra,{name:"fade"},{default:ue(()=>{var c;return[e.isShown?(w(),D("div",{key:0,class:Ye(["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:nt([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(c=e.unref(e.style))!=null?c:{}])},[e.showPin?(w(),D("span",iu,"push_pin")):O("",!0),e.comp?(w(),ae(Ke(e.comp),{key:1})):O("",!0)],6)):O("",!0)]}),_:1})],34)}var vt=xe(ou,[["render",su],["__scopeId","data-v-6102fa3a"]]);const ru={class:"info-modal-header"},uu=["src","alt"],du={class:"info-modal-title"},cu={key:0},pu=d(" - "),mu={key:0},gu={key:0},vu=f("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1),fu=f("br",null,null,-1),hu=f("br",null,null,-1),yu=["href"],bu=f("span",{class:"material-icons info-modal-discord"},"discord",-1),wu=f("div",null,[f("a",{href:"https://discord.gg/WzejVAx",class:"info-modal-discord-link",target:"_blank"},[f("span",{class:"material-icons info-modal-discord"},"discord"),d(" The Paper Pilot Community ")])],-1),Au=f("div",null,[f("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link",target:"_blank"},[f("span",{class:"material-icons info-modal-discord"},"discord"),d(" The Modding Tree ")])],-1),Cu=f("br",null,null,-1);var ku=ce({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const l=e,{title:n,logo:o,author:s,discordName:c,discordLink:r,versionNumber:p,versionTitle:m}=Qe,y=ct(l),h=j(!1),b=v(()=>da(te.timePlayed)),g=v(()=>Ie(E(()=>i(B,null,[Dn.map(le)]))));t({open(){h.value=!0}});function _(){var S;(S=u(y.changelog))==null||S.open()}return(S,x)=>(w(),ae(bt,{class:"info-modal",modelValue:h.value,"onUpdate:modelValue":x[0]||(x[0]=W=>h.value=W)},{header:ue(()=>[f("div",ru,[u(o)?(w(),D("img",{key:0,class:"info-modal-logo",src:u(o),alt:u(n)},null,8,uu)):O("",!0),f("div",du,[f("h2",null,"- "+ke(u(n))+" -",1),f("h4",null,[d(" - v"+ke(u(p)),1),u(m)?(w(),D("span",cu,": "+ke(u(m)),1)):O("",!0),pu])])])]),body:ue(({shown:W})=>[W?(w(),D("div",mu,[u(s)?(w(),D("div",gu,"By "+ke(u(s)),1)):O("",!0),vu,fu,f("div",{class:"link",onClick:_},"Changelog"),hu,f("div",null,[u(r)?(w(),D("a",{key:0,href:u(r),class:"info-modal-discord-link",target:"_blank"},[bu,d(" "+ke(u(c)),1)],8,yu)):O("",!0)]),wu,Au,Cu,f("div",null,"Time Played: "+ke(u(b)),1),(w(),ae(Ke(u(g))))])):O("",!0)]),_:1},8,["modelValue"]))}});const Xn=e=>(il("data-v-0d685451"),e=e(),sl(),e),_u=Xn(()=>f("h2",null,"Options",-1)),Su=Xn(()=>f("hr",null,null,-1));var Eu=ce({__name:"Options",setup(e,{expose:t}){const l=j(!1);t({open(){l.value=!0}});const n=Object.keys(Bl).map(g=>({label:wn(g),value:g})),o=v(()=>Ie(E(()=>i(B,null,[Mn.map(le)])))),{showTPS:s,theme:c}=ct(et),{autosave:r,usingLog:p}=ct(te),m=v({get(){return te.devSpeed===0},set(g){te.devSpeed=g?0:null}}),y=E(()=>i("span",null,[d("Autosave"),i(vt,{display:"Save-specific"},{default:()=>[d("*")]})])),h=E(()=>i("span",null,[d("Pause game"),i(vt,{display:"Save-specific"},{default:()=>[d("*")]})])),b=E(()=>i("span",null,[d("Use log for progress bar"),i(vt,{display:"Save-specific"},{default:()=>[d("*")]})]));return(g,_)=>(w(),ae(bt,{modelValue:l.value,"onUpdate:modelValue":_[5]||(_[5]=S=>l.value=S)},{header:ue(()=>[_u]),body:ue(()=>[i(Ga,{title:"Theme",options:u(n),modelValue:u(c),"onUpdate:modelValue":_[0]||(_[0]=S=>ft(c)?c.value=S:null)},null,8,["options","modelValue"]),(w(),ae(Ke(u(o)))),i(ol,{title:"Show TPS",modelValue:u(s),"onUpdate:modelValue":_[1]||(_[1]=S=>ft(s)?s.value=S:null)},null,8,["modelValue"]),Su,i(ol,{title:u(y),modelValue:u(r),"onUpdate:modelValue":_[2]||(_[2]=S=>ft(r)?r.value=S:null)},null,8,["title","modelValue"]),u(Qe).enablePausing?(w(),ae(ol,{key:0,title:u(h),modelValue:u(m),"onUpdate:modelValue":_[3]||(_[3]=S=>ft(m)?m.value=S:null)},null,8,["title","modelValue"])):O("",!0),i(ol,{title:u(b),modelValue:u(p),"onUpdate:modelValue":_[4]||(_[4]=S=>ft(p)?p.value=S:null)},null,8,["title","modelValue"])]),_:1},8,["modelValue"]))}});var Bu=xe(Eu,[["__scopeId","data-v-0d685451"]]);const Nu=["onSubmit"],Iu={class:"field"},Mu={key:0,class:"field-title"},Du=["placeholder"],xu=ce({__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 l=e,n=hl(Kt(l,"title"),"span"),o=Ut(null);ia(()=>{var p;(p=o.value)==null||p.focus()});const s=v({get(){return u(l.modelValue)||""},set(p){t("update:modelValue",p)}});function c(){t("submit")}function r(){l.submitOnBlur!==!1?t("submit"):t("cancel")}return(p,m)=>(w(),D("form",{onSubmit:Gl(c,["prevent"])},[f("div",Iu,[u(n)?(w(),D("span",Mu,[(w(),ae(Ke(u(n))))])):O("",!0),e.textArea?(w(),ae(u(ho),{key:1,modelValue:u(s),"onUpdate:modelValue":m[0]||(m[0]=y=>ft(s)?s.value=y:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:r,ref_key:"field",ref:o},null,8,["modelValue","placeholder","maxHeight"])):sa((w(),D("input",{key:2,type:"text","onUpdate:modelValue":m[1]||(m[1]=y=>ft(s)?s.value=y:null),placeholder:e.placeholder,class:Ye({fullWidth:!e.title}),onBlur:r,ref_key:"field",ref:o},null,42,Du)),[[co,u(s)]])])],40,Nu))}});var Yn=xe(xu,[["__scopeId","data-v-67b44a54"]]);const Pu={key:0},Tu=["onClick","disabled"],Fu={key:0},Uu=["onClick"],Ru=ce({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const n=ct(e),o=j(!1);Wt(o,r=>{t("confirmingChanged",r)});function s(){if(u(n.skipConfirm)){t("click");return}o.value&&t("click"),o.value=!o.value}function c(){o.value=!1}return(r,p)=>(w(),D("span",{class:Ye(["container",{confirming:o.value}])},[o.value?(w(),D("span",Pu,"Are you sure?")):O("",!0),f("button",{onClick:Gl(s,["stop"]),class:"button danger",disabled:e.disabled},[o.value?(w(),D("span",Fu,"Yes")):Vt(r.$slots,"default",{key:1},void 0,!0)],8,Tu),o.value?(w(),D("button",{key:1,class:"button",onClick:Gl(c,["stop"])},"No",8,Uu)):O("",!0)],2))}});var Ou=xe(Ru,[["__scopeId","data-v-2f8ef34c"]]);const Gu=["onClick"],$u=ce({__name:"FeedbackButton",props:{left:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const l=j(!1),n=j(null);function o(){t("click"),n.value&&clearTimeout(n.value),l.value=!1,Sl(()=>{l.value=!0,n.value=setTimeout(()=>l.value=!1,500)})}return(s,c)=>(w(),D("button",{onClick:Gl(o,["stop"]),class:Ye(["feedback",{activated:l.value,left:e.left}])},[Vt(s.$slots,"default",{},void 0,!0)],10,Gu))}});var Qu=xe($u,[["__scopeId","data-v-01a1b95c"]]);const ul=e=>(il("data-v-5285ac49"),e=e(),sl(),e),qu=ul(()=>f("div",{class:"handle material-icons"},"drag_handle",-1)),Vu={key:0,class:"actions"},Hu=ul(()=>f("span",{class:"material-icons"},"content_paste",-1)),Lu=ul(()=>f("span",{class:"material-icons"},"content_copy",-1)),ju=ul(()=>f("span",{class:"material-icons"},"edit",-1)),Wu=ul(()=>f("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),Ku={key:1,class:"actions"},zu=ul(()=>f("span",{class:"material-icons"},"check",-1)),Ju=ul(()=>f("span",{class:"material-icons"},"close",-1)),Xu={key:2,class:"details"},Yu={class:"save-version"},Zu=ul(()=>f("br",null,null,-1)),ed={key:0},td={key:1},ld={key:3,class:"details"},ad={key:4,class:"details error"},nd=ul(()=>f("br",null,null,-1)),od=ce({__name:"Save",props:{save:null},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const l=e,{save:n}=ct(l),o=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),s=j(!1),c=j(!1),r=j("");Wt(s,()=>r.value=n.value.name||"");const p=v(()=>n.value&&n.value.id===te.id),m=v(()=>p.value?te.time:n.value&&n.value.time||0),y=Tl(v(()=>{var b,g,_,S;return`Day ${(S=(_=(g=(b=n.value)==null?void 0:b.layers)==null?void 0:g.main)==null?void 0:_.day)!=null?S:1}`}));function h(){t("editName",r.value),s.value=!1}return(b,g)=>(w(),D("div",{class:Ye(["save",{active:u(p)}])},[qu,s.value?(w(),D("div",Ku,[f("button",{onClick:h,class:"button"},[i(vt,{display:"Save",direction:u(Be).Left,class:"info"},{default:ue(()=>[zu]),_:1},8,["direction"])]),f("button",{onClick:g[5]||(g[5]=_=>s.value=!s.value),class:"button"},[i(vt,{display:"Cancel",direction:u(Be).Left,class:"info"},{default:ue(()=>[Ju]),_:1},8,["direction"])])])):(w(),D("div",Vu,[u(n).error==null&&!c.value?(w(),ae(Qu,{key:0,onClick:g[0]||(g[0]=_=>t("export")),class:"button",left:""},{default:ue(()=>[i(vt,{display:"Export",direction:u(Be).Left,class:"info"},{default:ue(()=>[Hu]),_:1},8,["direction"])]),_:1})):O("",!0),u(n).error==null&&!c.value?(w(),D("button",{key:1,onClick:g[1]||(g[1]=_=>t("duplicate")),class:"button"},[i(vt,{display:"Duplicate",direction:u(Be).Left,class:"info"},{default:ue(()=>[Lu]),_:1},8,["direction"])])):O("",!0),u(n).error==null&&!c.value?(w(),D("button",{key:2,onClick:g[2]||(g[2]=_=>s.value=!s.value),class:"button"},[i(vt,{display:"Edit Name",direction:u(Be).Left,class:"info"},{default:ue(()=>[ju]),_:1},8,["direction"])])):O("",!0),i(Ou,{disabled:u(p),onClick:g[3]||(g[3]=_=>t("delete")),onConfirmingChanged:g[4]||(g[4]=_=>c.value=_)},{default:ue(()=>[i(vt,{display:"Delete",direction:u(Be).Left,class:"info"},{default:ue(()=>[Wu]),_:1},8,["direction"])]),_:1},8,["disabled"])])),u(n).error==null&&!s.value?(w(),D("div",Xu,[f("button",{class:"button open",onClick:g[6]||(g[6]=_=>t("open"))},[f("h3",null,ke(u(n).name),1)]),f("span",Yu,"v"+ke(u(n).modVersion),1),Zu,u(m)?(w(),D("div",ed,"Last played "+ke(u(o).format(u(m))),1)):O("",!0),u(y)?(w(),D("div",td,[(w(),ae(Ke(u(y))))])):O("",!0)])):u(n).error==null&&s.value?(w(),D("div",ld,[i(Yn,{modelValue:r.value,"onUpdate:modelValue":g[7]||(g[7]=_=>r.value=_),class:"editname",onSubmit:h},null,8,["modelValue"])])):(w(),D("div",ad,[d(" Error: Failed to load save with id "+ke(u(n).id),1),nd,d(ke(u(n).error),1)]))],2))}});var id=xe(od,[["__scopeId","data-v-5285ac49"]]);const Qa=e=>(il("data-v-3b9991aa"),e=e(),sl(),e),sd=Qa(()=>f("h2",null,"Saves Manager",-1)),rd={class:"modal-footer"},ud={class:"field"},dd=Qa(()=>f("span",{class:"field-title"},"Create Save",-1)),cd={class:"field-buttons"},pd={class:"footer"},md=Qa(()=>f("div",{style:{"flex-grow":"1"}},null,-1)),gd=ce({__name:"SavesManager",setup(e,{expose:t}){const l=j(!1),n=j(null);t({open(){l.value=!0}});const o=j(!1),s=j(""),c=j(null);Wt(s,M=>{M?Sl(()=>{try{if(M[0]!=="{")if(M[0]==="e")M=decodeURIComponent(escape(atob(M)));else if(M[0]==="\u1BE1")M=ml.decompressFromUTF16(M);else{console.warn("Unable to determine preset encoding",M),o.value=!0;return}const k=JSON.parse(M);if(typeof k!="object"){o.value=!0;return}const P=ea();k.id=P,Qt(k),s.value="",o.value=!1,et.saves.push(P)}catch{o.value=!0}}):o.value=!1});let r={},p=j(Object.keys(r).reduce((M,k)=>(M.push({label:k.split("/").slice(-1)[0].slice(0,-4),value:r[k]}),M),[]));const m=ua({});function y(M){if(m[M]==null){let k=localStorage.getItem(M);if(k==null)m[M]={error:"Save doesn't exist in localStorage",id:M};else if(k==="dW5kZWZpbmVk")m[M]={error:"Save is undefined",id:M};else try{if(k[0]!=="{")if(k[0]==="e")k=decodeURIComponent(escape(atob(k)));else if(k[0]==="\u1BE1")k=ml.decompressFromUTF16(k);else return console.warn("Unable to determine preset encoding",k),o.value=!0,m[M]={error:"Unable to determine preset encoding",id:M},m[M];m[M]={...JSON.parse(k),id:M}}catch(P){m[M]={error:P,id:M},console.warn(`SavesManager: Failed to load info about save with id ${M}: +${P} +${k}`)}}return m[M]}Wt(l,M=>{M&&Object.keys(m).forEach(k=>delete m[k])});const h=v(()=>et.saves.reduce((M,k)=>(M[k]=y(k),M),{}));function b(M){let k;switch(te.id===M?k=Bn(te[st]):k=JSON.stringify(h.value[M]),Qe.exportEncoding){default:console.warn(`Unknown save encoding: ${Qe.exportEncoding}. Defaulting to lz`);case"lz":k=ml.compressToUTF16(k);break;case"base64":k=btoa(unescape(encodeURIComponent(k)));break;case"plain":break}const P=document.createElement("textarea");P.value=k,document.body.appendChild(P),P.select(),P.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(P)}function g(M){te.id===M&&Qt();const k={...h.value[M],id:ea()};Qt(k),et.saves.push(k.id)}function _(M){et.saves=et.saves.filter(k=>k!==M),localStorage.removeItem(M),m[M]=void 0}function S(M){h.value[te.id].time=te.time,Qt(),m[te.id]=void 0,_l(h.value[M]),m[M]=void 0}function x(M){if(c.value=M,Sl(()=>{c.value=null}),M[0]!=="{")if(M[0]==="e")M=decodeURIComponent(escape(atob(M)));else if(M[0]==="\u1BE1")M=ml.decompressFromUTF16(M);else{console.warn("Unable to determine preset encoding",M);return}const k=JSON.parse(M);k.id=ea(),Qt(k),et.saves.push(k.id),S(k.id)}function W(M,k){const P=h.value[M];P&&(P.name=k,te.id===M?(te.name=k,Qt()):(Qt(P),m[M]=void 0))}return(M,k)=>(w(),ae(bt,{modelValue:l.value,"onUpdate:modelValue":k[4]||(k[4]=P=>l.value=P),ref_key:"modal",ref:n},{header:ue(()=>[sd]),body:ue(({shown:P})=>[P?(w(),ae(u(fo),{key:0,list:u(et).saves,handle:".handle",itemKey:ne=>ne},{item:ue(({element:ne})=>[i(id,{save:u(h)[ne],onOpen:re=>S(ne),onExport:re=>b(ne),onEditName:re=>W(ne,re),onDuplicate:re=>g(ne),onDelete:re=>_(ne)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):O("",!0)]),footer:ue(()=>[f("div",rd,[i(Yn,{modelValue:s.value,"onUpdate:modelValue":k[0]||(k[0]=P=>s.value=P),title:"Import Save",placeholder:"Paste your save here!",class:Ye({importingFailed:o.value})},null,8,["modelValue","class"]),f("div",ud,[dd,f("div",cd,[f("button",{class:"button",onClick:k[1]||(k[1]=P=>S(u(Dl)().id))},"New Game"),Object.keys(u(p)).length>0?(w(),ae(Ga,{key:0,options:u(p),modelValue:c.value,"onUpdate:modelValue":k[2]||(k[2]=P=>x(P)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):O("",!0)])]),f("div",pd,[md,f("button",{class:"button modal-default-button",onClick:k[3]||(k[3]=P=>l.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var Zn=xe(gd,[["__scopeId","data-v-3b9991aa"]]);const Rt=e=>(il("data-v-8495e562"),e=e(),sl(),e),vd=["src","alt"],fd={key:1,class:"title"},hd=Rt(()=>f("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),yd={class:"discord"},bd={class:"discord-links"},wd={key:0},Ad=["href"],Cd=Rt(()=>f("li",null,[f("a",{href:"https://discord.gg/WzejVAx",target:"_blank"},"The Paper Pilot Community")],-1)),kd=Rt(()=>f("li",null,[f("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),_d={href:"https://forums.moddingtree.com/",target:"_blank"},Sd=Rt(()=>f("span",{class:"material-icons"},"forum",-1)),Ed=Rt(()=>f("span",{class:"material-icons"},"info",-1)),Bd=Rt(()=>f("span",{class:"material-icons"},"library_books",-1)),Nd=Rt(()=>f("span",{class:"material-icons"},"settings",-1)),Id=Rt(()=>f("span",{class:"material-icons"},"library_books",-1)),Md=Rt(()=>f("span",{class:"material-icons"},"settings",-1)),Dd=Rt(()=>f("span",{class:"material-icons"},"info",-1)),xd={href:"https://forums.moddingtree.com/",target:"_blank"},Pd=Rt(()=>f("span",{class:"material-icons"},"forum",-1)),Td={class:"discord"},Fd={class:"discord-links"},Ud={key:0},Rd=["href"],Od=Rt(()=>f("li",null,[f("a",{href:"https://discord.gg/WzejVAx",target:"_blank"},"The Paper Pilot Community")],-1)),Gd=Rt(()=>f("li",null,[f("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),$d=ce({__name:"Nav",setup(e){const t=j(null),l=j(null),n=j(null),o=j(null),{useHeader:s,banner:c,title:r,discordName:p,discordLink:m,versionNumber:y}=Qe;function h(){window.open(m,"mywindow")}return(b,g)=>(w(),D(B,null,[u(s)?(w(),D("div",fl({key:0,class:"nav"},b.$attrs),[u(c)?(w(),D("img",{key:0,src:u(c),class:"banner",alt:u(r)},null,8,vd)):(w(),D("div",fd,ke(u(r)),1)),f("div",{onClick:g[0]||(g[0]=_=>{var S;return(S=o.value)==null?void 0:S.open()}),class:"version-container"},[i(vt,{display:"Changelog",direction:u(Be).Down,class:"version"},{default:ue(()=>[f("span",null,"v"+ke(u(y)),1)]),_:1},8,["direction"])]),hd,f("div",yd,[f("span",{onClick:h,class:"material-icons"},"discord"),f("ul",bd,[u(m)?(w(),D("li",wd,[f("a",{href:u(m),target:"_blank"},ke(u(p)),9,Ad)])):O("",!0),Cd,kd])]),f("div",null,[f("a",_d,[i(vt,{display:"Forums",direction:u(Be).Down,yoffset:"5px"},{default:ue(()=>[Sd]),_:1},8,["direction"])])]),f("div",{onClick:g[1]||(g[1]=_=>{var S;return(S=t.value)==null?void 0:S.open()})},[i(vt,{display:"Info",direction:u(Be).Down,class:"info"},{default:ue(()=>[Ed]),_:1},8,["direction"])]),f("div",{onClick:g[2]||(g[2]=_=>{var S;return(S=l.value)==null?void 0:S.open()})},[i(vt,{display:"Saves",direction:u(Be).Down,xoffset:"-20px"},{default:ue(()=>[Bd]),_:1},8,["direction"])]),f("div",{onClick:g[3]||(g[3]=_=>{var S;return(S=n.value)==null?void 0:S.open()})},[i(vt,{display:"Options",direction:u(Be).Down,xoffset:"-66px"},{default:ue(()=>[Nd]),_:1},8,["direction"])])],16)):(w(),D("div",fl({key:1,class:"overlay-nav"},b.$attrs),[f("div",{onClick:g[4]||(g[4]=_=>{var S;return(S=o.value)==null?void 0:S.open()}),class:"version-container"},[i(vt,{display:"Changelog",direction:u(Be).Right,xoffset:"25%",class:"version"},{default:ue(()=>[f("span",null,"v"+ke(u(y)),1)]),_:1},8,["direction"])]),f("div",{onClick:g[5]||(g[5]=_=>{var S;return(S=l.value)==null?void 0:S.open()})},[i(vt,{display:"Saves",direction:u(Be).Right},{default:ue(()=>[Id]),_:1},8,["direction"])]),f("div",{onClick:g[6]||(g[6]=_=>{var S;return(S=n.value)==null?void 0:S.open()})},[i(vt,{display:"Options",direction:u(Be).Right},{default:ue(()=>[Md]),_:1},8,["direction"])]),f("div",{onClick:g[7]||(g[7]=_=>{var S;return(S=t.value)==null?void 0:S.open()})},[i(vt,{display:"Info",direction:u(Be).Right},{default:ue(()=>[Dd]),_:1},8,["direction"])]),f("div",null,[f("a",xd,[i(vt,{display:"Forums",direction:u(Be).Right,xoffset:"7px"},{default:ue(()=>[Pd]),_:1},8,["direction"])])]),f("div",Td,[f("span",{onClick:h,class:"material-icons"},"discord"),f("ul",Fd,[u(m)?(w(),D("li",Ud,[f("a",{href:u(m),target:"_blank"},ke(u(p)),9,Rd)])):O("",!0),Od,Gd])])],16)),i(ku,{ref_key:"info",ref:t,changelog:o.value},null,8,["changelog"]),i(Zn,{ref_key:"savesManager",ref:l},null,512),i(Bu,{ref_key:"options",ref:n},null,512),i(nu,{ref_key:"changelog",ref:o},null,512)],64))}});var eo=xe($d,[["__scopeId","data-v-8495e562"]]);const qa=e=>(il("data-v-248e2ebb"),e=e(),sl(),e),Qd={class:"inner-tab"},qd={key:1},Vd=qa(()=>f("br",null,null,-1)),Hd=d(" You can help continue the "),Ld=qa(()=>f("i",null,"advent",-1)),jd=d("ure at: "),Wd=qa(()=>f("a",{href:"https://discord.gg/WzejVAx",class:"info-modal-discord-link",target:"_blank"},[f("span",{class:"material-icons info-modal-discord"},"discord"),d(" The Paper Pilot Community ")],-1)),Kd=ce({__name:"Game",setup(e){const t=Kt(te,"tabs"),l=v(()=>Object.keys(_t)),n=Qe.useHeader,o=hl(Y.loreBody);function s(c){const{display:r,minimized:p,minWidth:m,name:y,color:h,minimizable:b,nodes:g}=c;return{display:r,minimized:p,minWidth:m,name:y,color:h,minimizable:b,nodes:g}}return(c,r)=>(w(),D("div",{class:Ye(["tabs-container",{useHeader:u(n)}])},[(w(!0),D(B,null,Ea(u(t),(p,m)=>{var y,h;return w(),D("div",{key:m,class:Ye(["tab",u((y=u(_t)[p])==null?void 0:y.classes)]),ref_for:!0,ref:`tab-${m}`,style:nt(u((h=u(_t)[p])==null?void 0:h.style))},[m===0&&!u(n)?(w(),ae(eo,{key:0})):O("",!0),f("div",Qd,[u(l).includes(p)?(w(),ae(eu,fl({key:0},s(u(_t)[p]),{index:m,tab:()=>{var b;return(b=c.$refs[`tab-${m}`])==null?void 0:b[0]}}),null,16,["index","tab"])):(w(),ae(Ke(p),{key:1,index:m},null,8,["index"]))])],6)}),128)),i(bt,{modelValue:u(Y).showLoreModal.value,"onUpdate:modelValue":r[0]||(r[0]=p=>u(Y).showLoreModal.value=p)},{header:ue(()=>[f("h2",null,ke(u(Y).loreTitle.value),1)]),body:ue(()=>[u(o)?(w(),ae(Ke(u(o)),{key:0})):O("",!0),u(Y).loreScene.value!==-1?(w(),D("div",qd,[i(Xr,{day:u(Y).loreScene.value},null,8,["day"]),Vd,Hd,Ld,jd,Wd])):O("",!0)]),_:1},8,["modelValue"])],2))}});var zd=xe(Kd,[["__scopeId","data-v-248e2ebb"]]);const Kl=e=>(il("data-v-4a50ce42"),e=e(),sl(),e),Jd={class:"game-over-modal-header"},Xd=["src","alt"],Yd={class:"game-over-modal-title"},Zd=Kl(()=>f("h2",null,"Congratulations!",-1)),ec={key:0},tc=Kl(()=>f("br",null,null,-1)),lc=Kl(()=>f("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),ac=Kl(()=>f("br",null,null,-1)),nc=["href"],oc=Kl(()=>f("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),ic=ce({__name:"GameOverScreen",setup(e){const{title:t,logo:l,discordName:n,discordLink:o,versionNumber:s,versionTitle:c}=Qe,r=v(()=>da(te.timePlayed)),p=v(()=>$a.value&&!te.keepGoing),m=Kt(te,"autosave");function y(){te.keepGoing=!0}function h(){_l(Dl())}return(b,g)=>(w(),ae(bt,{"model-value":u(p)},{header:ue(()=>[f("div",Jd,[u(l)?(w(),D("img",{key:0,class:"game-over-modal-logo",src:u(l),alt:u(t)},null,8,Xd)):O("",!0),f("div",Yd,[Zd,f("h4",null,"You've beaten "+ke(u(t))+" v"+ke(u(s))+": "+ke(u(c)),1)])])]),body:ue(({shown:_})=>[_?(w(),D("div",ec,[f("div",null,"It took you "+ke(u(r))+" to beat the game.",1),tc,lc,ac,f("div",null,[f("a",{href:u(o),class:"game-over-modal-discord-link"},[oc,d(" "+ke(u(n)),1)],8,nc)]),i(ol,{title:"Autosave",modelValue:u(m),"onUpdate:modelValue":g[0]||(g[0]=S=>ft(m)?m.value=S:null)},null,8,["modelValue"])])):O("",!0)]),footer:ue(()=>[f("div",{class:"game-over-footer"},[f("button",{onClick:y,class:"button"},"Keep Going"),f("button",{onClick:h,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var sc=xe(ic,[["__scopeId","data-v-4a50ce42"]]);const ga=e=>(il("data-v-3de07c06"),e=e(),sl(),e),rc=ga(()=>f("div",{class:"nan-modal-header"},[f("h2",null,"NaN value detected!")],-1)),uc={key:0},dc=ga(()=>f("br",null,null,-1)),cc=["href"],pc=ga(()=>f("span",{class:"material-icons nan-modal-discord"},"discord",-1)),mc=ga(()=>f("br",null,null,-1)),gc={class:"nan-footer"},vc=ce({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:l}=Qe,n=Kt(te,"autosave"),o=Kt(ut,"hasNaN"),s=j(null),c=v(()=>{var g;return(g=ut.NaNPath)==null?void 0:g.join(".")}),r=v(()=>{var g;return(g=ut.NaNPath)==null?void 0:g.slice(-1)[0]}),p=v(()=>ut.NaNReceiver&&r.value?ut.NaNReceiver[r.value]:null),m=v({get(){return te.devSpeed===0},set(g){te.devSpeed=g?null:0}});function y(){ut.NaNReceiver&&r.value&&(ut.NaNReceiver[r.value]=new a(0),ut.hasNaN=!1)}function h(){ut.NaNReceiver&&r.value&&(ut.NaNReceiver[r.value]=new a(1),ut.hasNaN=!1)}function b(){ut.NaNReceiver&&r.value&&(ut.NaNReceiver[r.value]=new a(NaN),ut.hasNaN=!1)}return(g,_)=>(w(),D(B,null,[i(bt,fl({modelValue:u(o),"onUpdate:modelValue":_[4]||(_[4]=S=>ft(o)?o.value=S:null)},g.$attrs),{header:ue(()=>[rc]),body:ue(()=>[f("div",null,[d(' Attempted to assign "'+ke(u(c))+'" to NaN',1),u(p)?(w(),D("span",uc,ke(" ")+"(previously "+ke(u(H)(u(p)))+")",1)):O("",!0),d(". Auto-saving has been "+ke(u(n)?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),dc,f("div",null,[f("a",{href:u(l),class:"nan-modal-discord-link"},[pc,d(" "+ke(u(t)),1)],8,cc)]),mc,i(ol,{title:"Autosave",modelValue:u(n),"onUpdate:modelValue":_[0]||(_[0]=S=>ft(n)?n.value=S:null)},null,8,["modelValue"]),u(Qe).enablePausing?(w(),ae(ol,{key:0,title:"Pause game",modelValue:u(m),"onUpdate:modelValue":_[1]||(_[1]=S=>ft(m)?m.value=S:null)},null,8,["modelValue"])):O("",!0)]),footer:ue(()=>[f("div",gc,[f("button",{onClick:_[2]||(_[2]=S=>{var x;return(x=s.value)==null?void 0:x.open()}),class:"button"},"Open Saves Manager"),f("button",{onClick:y,class:"button"},"Set to 0"),f("button",{onClick:h,class:"button"},"Set to 1"),u(p)&&u(a).neq(u(p),0)&&u(a).neq(u(p),1)?(w(),D("button",{key:0,onClick:_[3]||(_[3]=S=>o.value=!1),class:"button"}," Set to previous ")):O("",!0),f("button",{onClick:b,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),i(Zn,{ref_key:"savesManager",ref:s},null,512)],64))}});var fc=xe(vc,[["__scopeId","data-v-3de07c06"]]);const hc={key:0,class:"tpsDisplay"},yc={key:0,class:"low"},bc=ce({__name:"TPS",setup(e){const t=v(()=>a.div(ut.lastTenTicks.length,ut.lastTenTicks.reduce((s,c)=>s+c,0))),l=j([]);Pt(()=>{l.value.push(Math.round(t.value.toNumber())),l.value.length>10&&(l.value=l.value.slice(1))});const n=v(()=>l.value.reduce((s,c)=>a.max(s,c),0)),o=v(()=>a.sub(t.value,n.value).gt(1));return(s,c)=>u(t).isNan()?O("",!0):(w(),D("div",hc,[d(" TPS: "+ke(u(Z)(u(t)))+" ",1),i(ra,{name:"fade"},{default:ue(()=>[u(o)?(w(),D("span",yc,ke(u(Z)(u(n))),1)):O("",!0)]),_:1})]))}});var wc=xe(bc,[["__scopeId","data-v-46a3ed5b"]]);var Ac=ce({__name:"App",setup(e){const t=Qe.useHeader,l=v(()=>Bl[et.theme].variables),n=Kt(et,"showTPS"),o=v(()=>Ie(E(()=>i(B,null,[Ri.map(le)]))));return(s,c)=>(w(),D(B,null,[f("div",{id:"modal-root",style:nt(u(l))},null,4),f("div",{class:Ye(["app",{useHeader:u(t)}]),style:nt(u(l))},[u(t)?(w(),ae(eo,{key:0})):O("",!0),i(zd),u(u(n))?(w(),ae(wc,{key:1})):O("",!0),i(sc),i(fc),(w(),ae(Ke(u(o))))],6)],64))}});var Cc=xe(Ac,[["__scopeId","data-v-580927bb"]]);function kc(e={}){const{immediate:t=!1,onNeedRefresh:l,onOfflineReady:n,onRegistered:o,onRegisterError:s}=e;let c,r;const p=async(m=!0)=>{m&&(c==null||c.addEventListener("controlling",y=>{y.isUpdate&&window.location.reload()})),r&&r.waiting&&await bo(r.waiting,{type:"SKIP_WAITING"})};if("serviceWorker"in navigator){c=new yo("./sw.js",{scope:"./",type:"classic"}),c.addEventListener("activated",m=>{m.isUpdate||n==null||n()});{const m=()=>{l==null||l()};c.addEventListener("waiting",m),c.addEventListener("externalwaiting",m)}c.register({immediate:t}).then(m=>{r=m,o==null||o(m)}).catch(m=>{s==null||s(m)})}return p}function _c(e={}){const{immediate:t=!0,onNeedRefresh:l,onOfflineReady:n,onRegistered:o,onRegisterError:s}=e,c=j(!1),r=j(!1);return{updateServiceWorker:kc({immediate:t,onNeedRefresh(){c.value=!0,l==null||l()},onOfflineReady(){r.value=!0,n==null||n()},onRegistered:o,onRegisterError:s}),offlineReady:r,needRefresh:c}}document.title=Qe.title;window.projInfo=Qe;if(Qe.id==="")throw"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 xi();const{globalBus:e}=await la(()=>Promise.resolve().then(function(){return vi}),void 0),{startGameLoop:t}=await la(()=>import("./gameLoop.af7f9c40.js"),["assets/gameLoop.af7f9c40.js","assets/@fontsource.c175eac8.css","assets/vue.92681fcb.js","assets/lz-string.731cedc5.js","assets/@vue.4ce677c2.js","assets/nanoevents.1080beb7.js","assets/is-plain-object.906d88e8.js","assets/vue-next-select.a2bfab1d.js","assets/vue-next-select.9e6f4164.css","assets/vue-toastification.6f567382.js","assets/vue-toastification.4b5f8ac8.css","assets/vuedraggable.7949458c.js","assets/sortablejs.29100d8a.js","assets/vue-textarea-autosize.35804eaf.js","assets/workbox-window.8d14e8b7.js"]),l=window.vue=po(Cc);e.emit("setupVue",l),l.mount("#app"),Sl(()=>{const n=cn(),{updateServiceWorker:o}=_c({onNeedRefresh(){n.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(){o()}})},onOfflineReady(){n.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(s){s&&setInterval(()=>s.update(),60*60*1e3)}})}),t()});export{a as D,la as _,ut as a,Qe as b,Ur as c,He as g,Ta as l,te as p,et as s}; diff --git a/index.html b/index.html index 63e9506..f4eeba6 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ Advent Incremental - + @@ -27,7 +27,7 @@ - + diff --git a/sw.js b/sw.js index 7665460..f79a31d 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 t={};const o=e=>i(e,r),u={module:{uri:r},exports:t,require:o};s[r]=Promise.all(n.map((e=>u[e]||o(e)))).then((e=>(l(...e),t)))}}define(["./workbox-958fa2bd"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"assets/@fontsource.c175eac8.css",revision:null},{url:"assets/@vue.4ce677c2.js",revision:null},{url:"assets/gameLoop.75f55d3b.js",revision:null},{url:"assets/index.110d8017.css",revision:null},{url:"assets/index.d358461b.js",revision:null},{url:"assets/is-plain-object.906d88e8.js",revision:null},{url:"assets/lz-string.731cedc5.js",revision:null},{url:"assets/nanoevents.1080beb7.js",revision:null},{url:"assets/sortablejs.29100d8a.js",revision:null},{url:"assets/vue-next-select.9e6f4164.css",revision:null},{url:"assets/vue-next-select.a2bfab1d.js",revision:null},{url:"assets/vue-textarea-autosize.35804eaf.js",revision:null},{url:"assets/vue-toastification.4b5f8ac8.css",revision:null},{url:"assets/vue-toastification.6f567382.js",revision:null},{url:"assets/vue.92681fcb.js",revision:null},{url:"assets/vuedraggable.7949458c.js",revision:null},{url:"assets/workbox-window.8d14e8b7.js",revision:null},{url:"index.html",revision:"d7bc35e20766b4bd0ceb697b9a39d53e"},{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:"5f32ad2a77eb001e1b6a588835dc1efc"}],{}),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 t={};const o=e=>i(e,r),u={module:{uri:r},exports:t,require:o};s[r]=Promise.all(n.map((e=>u[e]||o(e)))).then((e=>(l(...e),t)))}}define(["./workbox-958fa2bd"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"assets/@fontsource.c175eac8.css",revision:null},{url:"assets/@vue.4ce677c2.js",revision:null},{url:"assets/gameLoop.af7f9c40.js",revision:null},{url:"assets/index.734848bb.css",revision:null},{url:"assets/index.e090fffb.js",revision:null},{url:"assets/is-plain-object.906d88e8.js",revision:null},{url:"assets/lz-string.731cedc5.js",revision:null},{url:"assets/nanoevents.1080beb7.js",revision:null},{url:"assets/sortablejs.29100d8a.js",revision:null},{url:"assets/vue-next-select.9e6f4164.css",revision:null},{url:"assets/vue-next-select.a2bfab1d.js",revision:null},{url:"assets/vue-textarea-autosize.35804eaf.js",revision:null},{url:"assets/vue-toastification.4b5f8ac8.css",revision:null},{url:"assets/vue-toastification.6f567382.js",revision:null},{url:"assets/vue.92681fcb.js",revision:null},{url:"assets/vuedraggable.7949458c.js",revision:null},{url:"assets/workbox-window.8d14e8b7.js",revision:null},{url:"index.html",revision:"abeefdf8f3fab12b59faba43b1f0d71d"},{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:"5f32ad2a77eb001e1b6a588835dc1efc"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))}));