Advent-Incremental/assets/index.52ec71cb.js

34 lines
494 KiB
JavaScript
Raw Normal View History

/* empty css */import"./vue.92681fcb.js";import{Z as b,l as Mi,aa as xe,t as se,ay as On,ar as Dl,aE as C,a0 as R,aK as Zl,a1 as V,O,aG as Vn,A as Li,_ as ge,a8 as t,b6 as Ce,b8 as Yn,bs as Cs,C as m,aq as _l,bu as dn,bb as Nn,T as vt,a7 as o,u as Xn,j as jt,bv as Qn,q as Zn,b1 as yl,G as fi,aC as ws,w as nl,b2 as Di,ao as Jt,I as vi,aN as pi,$ as ee,J as Le,aH as Rl,aF as Hl,z as hl,al as jn,aL as Sl,H as ft,aJ as gs,bn as Ct,br as wt,be as gt}from"./@vue.4ce677c2.js";import{c as Os}from"./nanoevents.1080beb7.js";import{L as Gl}from"./lz-string.731cedc5.js";import{i as Ot}from"./is-plain-object.906d88e8.js";import{Y as Yt}from"./vue-next-select.a2bfab1d.js";import{s as Nt,u as Ys}from"./vue-toastification.6f567382.js";import{D as Xt}from"./vuedraggable.7949458c.js";import{p as Mt}from"./vue-textarea-autosize.35804eaf.js";import{v as xt,n as Gt}from"./workbox-window.8d14e8b7.js";import"./sortablejs.29100d8a.js";const Ft=function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))s(a);new MutationObserver(a=>{for(const I of a)if(I.type==="childList")for(const r of I.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&s(r)}).observe(document,{childList:!0,subtree:!0});function n(a){const I={};return a.integrity&&(I.integrity=a.integrity),a.referrerpolicy&&(I.referrerPolicy=a.referrerpolicy),a.crossorigin==="use-credentials"?I.credentials="include":a.crossorigin==="anonymous"?I.credentials="omit":I.credentials="same-origin",I}function s(a){if(a.ep)return;a.ep=!0;const I=n(a);fetch(a.href,I)}};Ft();const kt="modulepreload",Is={},zt="./",Jn=function(l,n){return!n||n.length===0?l():Promise.all(n.map(s=>{if(s=`${zt}${s}`,s in Is)return;Is[s]=!0;const a=s.endsWith(".css"),I=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${I}`))return;const r=document.createElement("link");if(r.rel=a?"stylesheet":kt,a||(r.as="script",r.crossOrigin=""),r.href=s,document.head.appendChild(r),a)return new Promise((d,u)=>{r.addEventListener("load",d),r.addEventListener("error",()=>u(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>l())},St="./projInfo-schema.json",Rt="Advent Incremental",Ht="An incremental game you play a day at a time, leading up to Christmas!",Lt="advent-incremental",Qt="thepaperpilot and friends",Tt="",Ut="",Et="0.5",At="Initial Commit",Bt=!0,Dt=!1,_t=2,Pt=!0,qt=null,$t="",Kt=["main"],ea=3600,ia=0,la=!0,na="base64";var ni={$schema:St,title:Rt,description:Ht,id:Lt,author:Qt,discordName:Tt,discordLink:Ut,versionNumber:Et,versionTitle:At,allowGoBack:Bt,defaultShowSmall:Dt,defaultDecimalsShown:_t,useHeader:Pt,banner:qt,logo:$t,initialTabs:Kt,maxTickLength:ea,offlineLimit:ia,enablePausing:la,exportEncoding:na};const kn=17,sa=9e15,ta=Math.log10(9e15),aa=1/9e15,oa=308,ma=-324,rs=5,Ia=function(){const e=[];for(let n=ma+1;n<=oa;n++)e.push(Number("1e"+n));const l=323;return function(n){return e[n+l]}}(),El=[2,Math.E,3,4,5,6,7,8,9,10],ra=[[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.167090535697
Stack: ${cl}
Trying to pop ${n.id}`;return cl.pop(),de(n,"color"),de(n,"display"),de(n,"name"),Ri(n,"name",n.id),de(n,"minWidth"),Ri(n,"minWidth",600),de(n,"minimizable"),Ri(n,"minimizable",!0),de(n,"minimizedDisplay"),n})}function Ls(e,l){if(console.info("Adding layer",e.id),zi[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,zi[e.id]);return}Ri(l,"layers",{}),l.layers[e.id]==null&&(l.layers[e.id]={}),zi[e.id]=e,ui.emit("addLayer",e,l.layers[e.id])}function Ha(e){return zi[e]}function Qs(e){console.info("Removing layer",e.id),ui.emit("removeLayer",e),zi[e.id]=void 0}function La(e){Qs(e),Ls(e,Je)}function Qa(e){const l=se(!1);return{openModal:()=>l.value=!0,modal:f(()=>t(xi,{modelValue:l.value,"onUpdate:modelValue":n=>l.value=n},{header:()=>t("h2",null,[m(e.name)]),body:m(e.display)}))}}ui.on("update",function(l){Object.values(zi).forEach(n=>{n==null||n.emit("preUpdate",l)}),Object.values(zi).forEach(n=>{n==null||n.emit("update",l)}),Object.values(zi).forEach(n=>{n==null||n.emit("postUpdate",l)})});var Ta=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:Bn,UnregisterNodeInjectionKey:Dn,NodesInjectionKey:_n,BoundsInjectionKey:Pn,layers:zi,persistentRefs:$l,addingLayers:cl,createLayer:Ai,addLayer:Ls,getLayer:Ha,removeLayer:Qs,reloadLayer:La,setupLayerModal:Qa},Symbol.toStringTag,{value:"Module"}));const qn=Symbol("PersistentState"),kl=Symbol("DefaultValue"),wn=Symbol("StackTrace"),Ts=Symbol("Deleted"),cn=Symbol("NonPersistent"),rn=Symbol("SaveDataPath");function Ua(){var e;return((e=new Error().stack)==null?void 0:e.split(`
`).slice(3,5).map(l=>l.trim()).join(`
`))||""}function Se(e){const l=Mi(e)?e:se(e);l[qn]=l,l[kl]=Mi(e)?e.value:e,l[wn]=Ua(),l[Ts]=!1;const n=b({get(){return l.value},set(s){l.value=s}});return n[kl]=l[kl],l[cn]=n,l[rn]=void 0,cl.length===0?console.warn("Creating a persistent ref outside of a layer. This is not officially supported",l,`
Created at:
`+l[wn]):$l[cl[cl.length-1]].add(l),l}function Ea(e){return e&&typeof e=="object"&&qn in e}function Q(e){return e[cn]}ui.on("addLayer",(e,l)=>{const n=[],s=(a,I=[])=>{let r=!1;return Object.keys(a).forEach(d=>{let u=a[d];if(u&&typeof u=="object")if(Ci in u&&(u=u[Ci]),Ea(u)){if(r=!0,u[Ts]){console.warn("Deleted persistent ref present in returned object. Ignoring...",u,`
Created at:
`+u[wn]);return}$l[e.id].delete(u);const c=[e.id,...I,d];u[rn]!=null&&JSON.stringify(c)!==JSON.stringify(u[rn])&&console.error(`Persistent ref is being saved to \`${c.join(".")}\` when it's already present at \`${u[rn].join(".")}\`. This can cause unexpected behavior when loading saves between updates.`,u),u[rn]=c;const j=I.reduce((v,y)=>(y in v||(v[y]={}),v[y]),l),h=j[d];j[d]=u[qn],jt(j)?h!=null?j[d]=h:j[d]=u[kl]:h!=null?j[d].value=h:j[d].value=u[kl]}else!(u instanceof i)&&!Mi(u)&&!n.includes(u)&&(typeof u.type=="symbol"&&n.push(u),s(u,[...I,d])&&(Qn(u)&&!Qn(a)?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.",Ci in a?a[Ci]:a,d):r=!0))}),r};s(e[Ci]),$l[e.id].forEach(a=>{console.error(`Created persistent ref in ${e.id} without registering it to the layer! Make sure to include everything persistent in the returned object`,a,`
Created at:
`+a[wn])}),$l[e.id].clear()});const Ci=Symbol("ProxyState"),ql=Symbol("ProxyPath");function _i(e,l={}){const n=l;let s=!1;function a(){return s||(Object.assign(n,e(n)),s=!0),n}return new Proxy(n,{get(I,r){if(r===Ci)return a();const d=a()[r];return d&&typeof d=="object"&&cn in d?d[cn]:d},set(I,r,d){return a()[r]=d,!0},has(I,r){return r===Ci?!0:Reflect.has(a(),r)},ownKeys(){return Reflect.ownKeys(a())},getOwnPropertyDescriptor(I,r){return s||(Object.assign(n,e(n)),s=!0),Object.getOwnPropertyDescriptor(I,r)}})}var Ni=window.state=Xn({lastTenTicks:[],hasNaN:!1,NaNPath:[]});const Us=Zn({id:"",devSpeed:null,name:"",tabs:[],time:-1,autosave:!0,offlineProd:!0,offlineTime:null,timePlayed:0,keepGoing:!1,modID:"",modVersion:"",layers:{},autoPause:!0});function Es(e){return JSON.stringify(e,(l,n)=>m(n))}const As={get(e,l){var s;if(l===Ci||l===ql)return e[l];const n=e[Ci][l];if(l!=="value"&&(Ot(n)||Array.isArray(n))){if(n!==((s=e[l])==null?void 0:s[Ci])){const a=[...e[ql],l];e[l]=new Proxy({[Ci]:n,[ql]:a},As)}return e[l]}return n},set(e,l,n,s){if(!Ni.hasNaN&&(typeof n=="number"&&isNaN(n)||n instanceof i&&(isNaN(n.sign)||isNaN(n.layer)||isNaN(n.mag)))){const a=e[Ci][l];if(!(typeof a=="number"&&isNaN(a)||a instanceof i&&(isNaN(a.sign)||isNaN(a.layer)||isNaN(a.mag))))throw Us.autosave=!1,Ni.hasNaN=!0,Ni.NaNPath=[...e[ql],l],Ni.NaNReceiver=s,console.error("Attempted to set NaN value",[...e[ql],l],e[Ci]),"Attempted to set NaN value. See above for details"}return e[Ci][l]=n,!0},ownKeys(e){return Reflect.ownKeys(e[Ci])},has(e,l){return Reflect.has(e[Ci],l)},getOwnPropertyDescriptor(e,l){return Object.getOwnPropertyDescriptor(e[Ci],l)}};var Je=window.player=new Proxy({[Ci]:Us,[ql]:["player"]},As);function Bs(e={}){return Object.assign({id:`${ni.id}-0`,name:"Default Save",tabs:ni.initialTabs.slice(),time:Date.now(),autosave:!0,offlineProd:!0,offlineTime:0,timePlayed:0,keepGoing:!1,modID:ni.id,modVersion:ni.versionNumber,layers:{}},e)}function Ki(e){const l=Gl.compressToUTF16(Es(e!=null?e:Je[Ci]));return localStorage.setItem((e!=null?e:Je[Ci]).id,l),l}async function Aa(){Da();try{let e=localStorage.getItem(bi.active);if(e==null){await Bl(Kl());return}if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Gl.decompressFromUTF16(e);else throw"Unable to determine save encoding";const l=JSON.parse(e);if(l.modID!==ni.id){await Bl(Kl());return}l.id=bi.active,await Bl(l)}catch(e){console.error(`Failed to load save. Falling back to new save.
`,e),await Bl(Kl())}}function Kl(){const e=vn(),l=Bs({id:e});return Ki(l),bi.saves.push(e),l}function vn(){let e,l=0;do e=`${ni.id}-${l++}`;while(localStorage.getItem(e));return e}const $n=se(!1);async function Bl(e){console.info("Loading save",e),$n.value=!0;const{layers:l,removeLayer:n,addLayer:s}=await Jn(()=>Promise.resolve().then(function(){return Ta}),void 0),{fixOldSave:a,getInitialLayers:I}=await Jn(()=>Promise.resolve().then(function(){return Em}),void 0);for(const r in l){const d=l[r];d&&n(d)}I(e).forEach(r=>s(r,e)),e=Bs(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,ni.offlineLimit*3600)),e.time=Date.now(),e.modVersion!==ni.versionNumber&&(a(e.modVersion,e),e.modVersion=ni.versionNumber),Object.assign(Je,e),bi.active=Je.id,ui.emit("onLoad")}setInterval(()=>{Je.autosave&&Ki()},1e3);window.onbeforeunload=()=>{Je.autosave&&Ki()};window.save=Ki;const Ba=window.hardReset=async()=>{await Bl(Kl())},bn=Zn({active:"",saves:[],showTPS:!0,theme:An.Nordic,unthrottled:!1,usingLog:!1,alignUnits:!1});yl(bn,e=>{const l=Gl.compressToUTF16(JSON.stringify(e));localStorage.setItem(ni.id,l)},{deep:!0});var bi=window.settings=bn;window.hardResetSettings=()=>{const e={active:"",saves:[],showTPS:!0,theme:An.Nordic,usingLog:!1,alignUnits:!1};ui.emit("loadSettings",e),Object.assign(bn,e),Ba()};function Da(){try{let e=localStorage.getItem(ni.id);if(e!=null&&e!==""){if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Gl.decompressFromUTF16(e);else{console.warn("Unable to determine settings encoding",e);return}const l=JSON.parse(e);typeof l=="object"&&Object.assign(bn,l)}ui.emit("loadSettings",bn)}catch{}}const Ds=Zn([]);function _a(e){Ds.push(e)}const _s=Zn([]);function Pa(e){_s.push(e)}const qa=Zn([]),$a={class:"table"},Bi=xe({__name:"Column",setup(e){const l=b(()=>an[bi.theme].mergeAdjacent);return(n,s)=>(C(),R("div",$a,[V("div",{class:fi(["col",{mergeAdjacent:m(l)}])},[Zl(n.$slots,"default")],2)]))}}),Ka={class:"table"},nn=xe({__name:"Row",setup(e){const l=b(()=>an[bi.theme].mergeAdjacent);return(n,s)=>(C(),R("div",Ka,[V("div",{class:fi(["row",{mergeAdjacent:m(l)}])},[Zl(n.$slots,"default")],2)]))}});function Kn(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Jt(e)}function ii(e,l="span"){return typeof e=="function"?xe({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${l}>${e}</${l}>`),xe({template:e})):xe({render:()=>({})}):e}function We(e){if(Yl(e))return typeof e=="function"?e():ii(e);const l=e[Ll];return t(l,e[Ql](),null)}function ai(...e){let l;return t(nn,null,Kn(l=e.map(We))?l:{default:()=>[l]})}function sl(...e){let l;return t(Bi,null,Kn(l=e.map(We))?l:{default:()=>[l]})}function zl(...e){return t("div",{class:"table-grid"},[e.map(l=>t("div",{class:{["row-grid"]:!0,mergeAdjacent:an[bi.theme].mergeAdjacent}},[l.map(We)]))])}function pl(e){if(Yl(e))return typeof e=="function"?e():typeof e=="string"?t(O,null,[e]):t(e,null,null);const l=e[Ll];return t(l,e[Ql](),null)}function eo(...e){let l;return t(Bi,null,Kn(l=e.map(pl))?l:{default:()=>[l]})}function Yl(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[un]===!0}function Ps(e,l,n){const s=se(null),a=se(void 0);function I(u){s.value||(s.value=setInterval(d,250)),a.value=u,n&&(n.value=!0)}function r(){s.value&&(clearInterval(s.value),s.value=null),n&&(n.value=!1)}function d(){l&&l.value?l.value():e&&e.value&&e.value(a.value)}return ws(r),{start:I,stop:r,handleHolding:d}}function io(e,l){const n=b(()=>e.filter(s=>m(s.visibility)===ji.Visible&&l(s)));return{firstFeature:b(()=>n.value[0]),collapsedContent:f(()=>sl(...n.value.slice(1))),hasCollapsedContent:b(()=>n.value.length>1)}}function gn(e,l="div"){const n=nl();return Di(()=>{n.value=ii(Si(e),l)}),n}function Nl(e,l="div"){const n=nl(null);return Di(()=>{const s=Si(e);n.value=s==null?null:ii(s,l)}),n}function lo(e){return b(()=>Si(e))}function Si(e){return m(m(e))
x${q(m(a.christmas1))} to wood production
`)}]}),rainbow:n({name:"Rainbow Wrapping Paper",id:"rainbow",ratio:{red:{base:Cl,exponent:gl+.2},green:{base:wl,exponent:Ol+.1},blue:{base:Cl,exponent:gl+.2},yellow:{base:Cl,exponent:gl+.2},purple:{base:wl,exponent:Ol+.1},orange:{base:wl,exponent:Ol+.1}},background:"linear-gradient(135deg, rgba(255,0,0,1) 0%, rgba(255,0,0,1) 2%, rgba(255,155,0,1) 14%, rgba(255,155,0,1) 18%, rgba(255,254,0,1) 31%, rgba(255,254,0,1) 35%, rgba(100,244,61,1) 48%, rgba(100,244,61,1) 52%, rgba(70,218,234,1) 64%, rgba(70,218,234,1) 68%, rgba(205,0,210,1) 81%, rgba(205,0,210,1) 85%, rgba(255,0,0,1) 98%, rgba(255,0,0,1) 100%)",listedBoosts:[{desc:b(()=>`
/${q(m(a.rainbow1))} to coal buyable cost
`)}]}),jazzy:n({name:"Jazzy Wrapping Paper",id:"jazzy",ratio:{purple:{base:wl*3,exponent:Ol},orange:{base:wl*3,exponent:Ol}},background:"linear-gradient(90deg, rgba(255,177,0,1) 10.8%, rgba(189,69,255,1) 11.1%, rgba(189,69,255,1) 21.9%, rgba(255,177,0,1) 22.2%, rgba(255,177,0,1) 33.0%, rgba(189,69,255,1) 33.3%, rgba(189,69,255,1) 44.1%, rgba(255,177,0,1) 44.4%, rgba(255,177,0,1) 55.2%, rgba(189,69,255,1) 55.5%, rgba(189,69,255,1) 66.3%, rgba(255,177,0,1) 66.6%, rgba(255,177,0,1) 77.4%, rgba(189,69,255,1) 77.7%, rgba(189,69,255,1) 88.5%, rgba(255,177,0,1) 88.8%)",listedBoosts:[{desc:b(()=>`
-${q(m(a.jazzy1))} to elf cost scaling
`)}]}),sunshine:n({name:"Sunshine Wrapping Paper",id:"sunshine",ratio:{red:{base:Cl*2,exponent:gl+.1},yellow:{base:Cl*2,exponent:gl+.1},orange:{base:wl*2,exponent:Ol+.05}},background:"radial-gradient(circle, rgba(238,250,0,1) 16%, rgba(250,157,0,1) 50%, rgba(255,76,76,1) 83%)",listedBoosts:[{desc:b(()=>`
x${q(m(a.sunshine1))} to paper production
`)}]}),ocean:n({name:"Ocean Wrapping Paper",id:"ocean",ratio:{blue:{base:Cl*2,exponent:gl+.1},green:{base:wl*2,exponent:Ol+.05},purple:{base:wl*2,exponent:Ol+.05}},background:"linear-gradient(20deg, rgba(0,183,250,0.6) 8%, rgba(0,223,62,0.6) 12%, rgba(0,183,250,0.6) 17%, rgba(0,183,250,0.6) 27%, rgba(124,109,230,0.6) 38%, rgba(0,183,250,0.6) 46%, rgba(0,183,250,0.6) 50%, rgba(0,223,62,0.6) 53%, rgba(0,183,250,0.6) 60%, rgba(124,109,230,0.6) 67%, rgba(0,183,250,0.6) 73%, rgba(0,183,250,0.6) 84%, rgba(0,223,62,0.6) 88%, rgba(0,183,250,0.6) 91%), linear-gradient(340deg, rgba(0,183,250,0.6) 8%, rgba(0,223,62,0.6) 12%, rgba(0,183,250,0.6) 17%, rgba(0,183,250,0.6) 27%, rgba(124,109,230,0.6) 38%, rgba(0,183,250,0.6) 46%, rgba(0,183,250,0.6) 50%, rgba(0,223,62,0.6) 53%, rgba(0,183,250,0.6) 60%, rgba(124,109,230,0.6) 67%, rgba(0,183,250,0.6) 73%, rgba(0,183,250,0.6) 84%, rgba(0,223,62,0.6) 88%, rgba(0,183,250,0.6) 91%)",listedBoosts:[{desc:b(()=>`
/${q(m(a.ocean1))} to box buyable cost
`)}]}),beach:n({name:"Beach Wrapping Paper",id:"beach",ratio:{yellow:{base:Cl*3,exponent:gl},blue:{base:Cl*3,exponent:gl}},background:"radial-gradient(circle at 80% 10%, rgba(255,255,76,1) 8%, rgba(0,0,0,0) 21%), linear-gradient(180deg, rgba(0,255,246,1) 60%, rgba(0,255,246,0) 61%), linear-gradient(215deg, rgba(0,93,255,0) 0%, rgba(0,93,255,0) 66%, rgba(255,255,76,1) 68%), linear-gradient(180deg, rgba(0,0,0,0) 68%, rgba(0,93,255,1) 70%), linear-gradient(205deg, rgba(0,255,246,1) 0%, rgba(0,255,246,1) 100%)",listedBoosts:[{desc:b(()=>`
/${q(m(a.beach1))} to workshop cost
`)}]})},a={christmas1:b(()=>i.add(s.christmas.buyable.amount.value,1)),rainbow1:b(()=>i.pow(2,s.rainbow.buyable.amount.value)),jazzy1:b(()=>i.ln(i.add(i.ln(i.add(s.jazzy.buyable.amount.value,1)),1))),sunshine1:b(()=>i.add(s.sunshine.buyable.amount.value,1)),ocean1:b(()=>i.pow(1.5,s.ocean.buyable.amount.value)),beach1:b(()=>i.add(s.beach.buyable.amount.value,1))},I=Ji(b(()=>Object.values(s).map(E=>E.buyable.amount.value).reduce(i.add,0)),"Total Wrapping Paper"),r=se(!1),d=f(()=>t(xi,{modelValue:r.value,"onUpdate:modelValue":E=>r.value=E},{header:()=>t("h2",null,[e,o(" Modifiers")]),body:u})),[u,c]=al(()=>[]),{total:j,trackerDisplay:h}=Jl({resource:I,goal:1e20,name:e,day:Om,color:l,textColor:"var(--feature-foreground)",modal:{show:r,display:d},ignoreTotal:!0}),v=[6,12,18,24,30,36],y=X(()=>({display:{requirement:v[0]+" Total Wrapping Paper",effectDisplay:"Double primary colour dye gain"},shouldEarn:()=>i.gte(j.value,v[0]),visibility:()=>p(!0)})),N=X(()=>({display:{requirement:v[1]+" Total Wrapping Paper",effectDisplay:"Double secondary colour dye gain"},shouldEarn:()=>i.gte(j.value,v[1]),visibility:()=>p(y.earned.value)})),x=X(()=>({display:{requirement:v[2]+" Total Wrapping Paper",effectDisplay:"Buy maximum primary colour dyes"},shouldEarn:()=>i.gte(j.value,v[2]),visibility:()=>p(N.earned.value)})),M=X(()=>({display:{requirement:v[3]+" Total Wrapping Paper",effectDisplay:"Secondary colour dyes don't spend primary colour dyes"},shouldEarn:()=>i.gte(j.value,v[3]),visibility:()=>p(x.earned.value)})),ne=X(()=>({display:{requirement:v[4]+" Total Wrapping Paper",effectDisplay:"Buy maximum secondary colour dyes"},shouldEarn:()=>i.gte(j.value,v[4]),visibility:()=>p(M.earned.value)})),Y=X(()=>({display:{requirement:v[5]+" Total Wrapping Paper",effectDisplay:"Unlock a new elf to help with dyes"},shouldEarn:()=>i.gte(j.value,v[5]),visibility:()=>p(ne.earned.value)})),g={primaryBoost:y,secondaryBoost:N,buyMaxPrimary:x,secondaryNoReset:M,buyMaxSecondary:ne,unlockDyeElf:Y},{collapseMilestones:G,display:_}=sn(g);return{name:e,display:f(()=>t("div",{style:"width: 620px"},[We(h),t(Hi,{resource:I},null),ai(s.christmas.display,s.rainbow.display,s.jazzy.display),ai(s.christmas.buyable,s.rainbow.buyable,s.jazzy.buyable),t(we,null,null),ai(s.sunshine.display,s.ocean.display,s.beach.display),ai(s.sunshine.buyable,s.ocean.buyable,s.beach.buyable),t(we,null,null),o("button goes here"),t(we,null,null),_()])),wrappingPaper:s,totalWrappingPaper:j,generalTabCollapsed:c,boosts:a,milestones:g,collapseMilestones:G}}),Ym="paper",Rn=5,F=Ai(Ym,function(){const e="Paper",l="#E8DCB8",n=Ji(0,"paper"),s=Ji(b(()=>i.min(i.div(ye.logs.value,1e9),i.div(P.ash.value,Oe.value))),"pulp"),a=Ks(()=>({scaling:es(1,1.2),baseResource:s,gainResource:Q(n),roundUpCost:!0,spend(ae,A){ye.logs.value=i.sub(ye.logs.value,i.times(A,1e9)),P.ash.value=i.sub(P.ash.value,i.times(A,Oe.value))},gainModifier:$})),I=Ei(()=>({display:f(()=>{const ae=i.gte(a.actualGain.value,1)?a.currentAt.value:a.nextAt.value;return t(O,null,[t("span",{style:"font-size: large"},[o("Create "),me(a.currentGain.value),o(" "),n.displayName]),t("br",null,null),t("span",{style:"font-size: large"},[o("Cost: "),yn(ye.logs,ae),o(" "),s.displayName,o(" ("),me(i.times(ae,1e9)),o(" "),ye.logs.displayName,o(";")," ",me(i.times(ae,Oe.value))," ",P.ash.displayName,o(")")])])}),canClick:()=>i.gte(a.actualGain.value,1),onClick(){!m(this.canClick)||a.convert()},style:"width: 600px; min-height: unset"}));function r(ae){const A=He(()=>({...ae,display:{title:ae.name,description:`Print a copy of "${ae.name}", which ${ae.elfName} will use to improve their skills! Each copy printed will reduce the "${ae.buyableName}" price scaling by 0.95x and make ${ae.elfName} purchase +10% faster!`,effectDisplay:f(()=>t(O,null,[En(i.pow(.95,A.totalAmount.value)),o("x price scaling,")," ",q(i.div(A.totalAmount.value,10).add(1)),o("x auto-purchase speed")])),showAmount:!1},resource:Q(n),cost(){let B=A.amount.value;ae.elfName==="Star"&&i.gte(B,10)&&(B=i.pow(10,i.div(B,10))),(ae.elfName==="Star"||ae.elfName==="Bell")&&(B=i.p
<br/>
<br/>
Cost: 50 ${n.displayName}<br/>${Xe(1e11)} ${P.coal.displayName}`}})),U=T(()=>({resource:Q(n),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:()=>p(te.depthMilestones[4].earned.value)})),Ie=He(()=>({resource:Q(n),cost(){let A=new i(this.amount.value);A=i.pow(.95,F.books.metalBook.totalAmount.value).times(A);let B=i.pow(1.15,A).times(10);return W.elfTraining.clothElfTraining.milestones[4].earned.value&&(B=i.div(B,i.add(te.depth.value,1).sqrt())),W.elfTraining.metalElfTraining.milestones[3].earned.value&&(B=i.div(B,10)),B},inverseCost(A){W.elfTraining.metalElfTraining.milestones[3].earned.value&&(A=i.mul(A,10)),W.elfTraining.clothElfTraining.milestones[4].earned.value&&(A=i.mul(A,i.add(te.depth.value,1).sqrt()));let B=i.div(A,10).log(1.15);return B=B.div(i.pow(.95,F.books.metalBook.totalAmount.value)),i.isNaN(B)?i.dZero:B.floor().max(0)},display:{title:"Metal Drill",description:"An automated machine to help you mine more ore, faster",effectDisplay:f(()=>t(O,null,[o("Mine 2.5x faster. Increase ore mining amount by")," ",Me(Ie.amount.value),o(" ore per operation")]))},visibility:()=>p(i.gte(Ie.amount.value,1)||i.div(I.value,d.value).plus(s.value).gte(10)),style:{width:"200px"}})),$=He(()=>({resource:Q(n),cost(){let A=new i(this.amount.value);A=i.pow(.95,F.books.metalBook.totalAmount.value).times(A);let B=i.pow(1.15,i.times(A,10)).times(10);return W.elfTraining.clothElfTraining.milestones[4].earned.value&&(B=i.div(B,i.add(te.depth.value,1).sqrt())),W.elfTraining.metalElfTraining.milestones[3].earned.value&&(B=i.div(B,10)),B},inverseCost(A){W.elfTraining.metalElfTraining.milestones[3].earned.value&&(A=i.mul(A,10)),W.elfTraining.clothElfTraining.milestones[4].earned.value&&(A=i.mul(A,i.add(te.depth.value,1).sqrt()));let B=i.div(A,10).log(1.15).div(10);return B=B.div(i.pow(.95,F.books.metalBook.totalAmount.value)),i.isNaN(B)?i.dZero:B.floor().max(0)},display:{title:"Industrial Crucible",description:"A giant automated crucible furnace, letting you smelt ore faster",effectDisplay:f(()=>t(O,null,[o("Automatically smelts")," ",Me(i.times($.amount.value,10)),o(" ore per second")]))},visibility:()=>p(i.gte($.amount.value,1)||i.gte(Ie.amount.value,4)||i.gte(I.value,50)),style:{width:"200px"}})),ke=Se(!0),Oe=He(()=>({resource:P.coal,cost(){let A=new i(this.amount.value);A=i.pow(.95,F.books.metalBook.totalAmount.value).times(A);let B=i.pow(10,A).times(1e12);return W.elfTraining.clothElfTraining.milestones[4].earned.value&&(B=i.div(B,i.add(te.depth.value,1).sqrt())),W.elfTraining.metalElfTraining.milestones[3].earned.value&&(B=i.div(B,10)),B},inverseCost(A){W.elfTraining.metalElfTraining.milestones[3].earned.value&&(A=i.mul(A,10)),W.elfTraining.clothElfTraining.milestones[4].earned.value&&(A=i.mul(A,i.add(te.depth.value,1).sqrt()));let B=i.div(A,1e12).log(10);return B=B.div(i.pow(.95,F.books.metalBook.totalAmount.value)),i.isNaN(B)?i.dZero:B.floor().max(0)},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:f(()=>t(O,null,[o("Gain "),Me(i.times(gi.value,100)),o("% more metal per ore")]))},visibility:()=>p(i.gte(Oe.amount.value,1)||je.bought.value),style:{width:"200px"}})),gi=b(()=>i.times(Oe.amount.value,.25));ui.on("update",A=>{G.value=i.times(A,g.value).plus(G.value);const B=G.value.trunc();G.value=G.value.minus(B),a.value=i.add(a.value,i.times(B,ne.value)),ke.value&&x(i.min(y.value,i.times(c.value,A)),h.value)});const[Pe,qe]=al(()=>[{title:"Auto Smelt Speed",modifier:u,base:0,unit:"/s",visible(){return i.gt($.amount.value,0)}},{title:"Auto Smelt Multiplier",modifier:j,base:1,visible(){return i.gt(h.value,1)}},{title:"Metal per Ore",modifier:r,base:.1},{title:"Ore per Mining Operation",modifier:M,base:1},{title:"Mining Speed",modifier:Y,base:.1,unit:"/s"}]),fe=se(!1),yi=f(()=>t(xi,{modelValue:fe.value,"onUpdate:modelValue":A=>fe.value=A},{header:()=>t("h2",null,[e,o(" Modifiers")]),body:Pe})),{total:Ee,trackerD
margin: 10px 0;"/>${_}`:G,n.value=!0},onOpenLayer(){if(E.value=!1,window.matchMedia("(min-width: 1468px)").matches)if(Je.tabs.includes(M!=null?M:"trees")){const D=Je.tabs.lastIndexOf(M!=null?M:"trees");Je.tabs.splice(D,1)}else Je.tabs.push(M!=null?M:"trees"),L.minimized.value=!0;else Je.tabs.splice(1,1/0,M!=null?M:"trees");zi[M!=null?M:"trees"].minimized.value=!1},onUnlockLayer(){M&&(Y.value=!0,setTimeout(()=>{var D,Ze;s.value=-1,a.value=m((Ze=(D=zi[M!=null?M:"trees"])==null?void 0:D.name)!=null?Ze:""),I.value=G,Je.autoPause&&(Je.devSpeed=null),n.value=!0},1e3))}}}}})}const d=[r(()=>({day:1,shouldNotify:!1,layer:"trees",symbol:dt,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!"})),r(()=>({day:2,shouldNotify:!1,layer:"workshop",symbol:rt,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!"})),r(()=>({day:3,shouldNotify:!1,layer:"coal",symbol:lt,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!"})),r(()=>({day:4,shouldNotify:!1,layer:"elves",symbol:st,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!"})),r(()=>({day:5,shouldNotify:!1,layer:"paper",symbol:mt,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!"})),r(()=>({day:6,shouldNotify:!1,layer:"boxes",symbol:et,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!"})),r(()=>({day:7,shouldNotify:!1,layer:"metal",symbol:at,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! Lo
`,"./../../saves/Day 08 Complete.txt":"eyJpZCI6ImFkdmVudC1pbmNyZW1lbnRhbC0yIiwiZGV2U3BlZWQiOjAsIm5hbWUiOiJEZWZhdWx0IFNhdmUiLCJ0YWJzIjpbIm1haW4iLCJjbG90aCJdLCJ0aW1lIjoxNjcwOTY2MDM5MjIwLCJhdXRvc2F2ZSI6dHJ1ZSwib2ZmbGluZVByb2QiOnRydWUsIm9mZmxpbmVUaW1lIjowLCJ0aW1lUGxheWVkIjoxNDQ4MS43NzkwMDAwMDAxMzMsImtlZXBHb2luZyI6ZmFsc2UsIm1vZElEIjoiYWR2ZW50LWluY3JlbWVudGFsIiwibW9kVmVyc2lvbiI6IjAuNSIsImxheWVycyI6eyJtYWluIjp7Im1pbmltaXplZCI6ZmFsc2UsImRheXMiOnsiMCI6eyJvcGVuZWQiOnRydWUsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIxIjp7Im9wZW5lZCI6dHJ1ZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjIiOnsib3BlbmVkIjp0cnVlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiMyI6eyJvcGVuZWQiOnRydWUsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCI0Ijp7Im9wZW5lZCI6dHJ1ZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjUiOnsib3BlbmVkIjp0cnVlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiNiI6eyJvcGVuZWQiOnRydWUsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCI3Ijp7Im9wZW5lZCI6dHJ1ZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjgiOnsib3BlbmVkIjpmYWxzZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjkiOnsib3BlbmVkIjpmYWxzZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjEwIjp7Im9wZW5lZCI6ZmFsc2UsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIxMSI6eyJvcGVuZWQiOmZhbHNlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiMTIiOnsib3BlbmVkIjpmYWxzZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjEzIjp7Im9wZW5lZCI6ZmFsc2UsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIxNCI6eyJvcGVuZWQiOmZhbHNlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiMTUiOnsib3BlbmVkIjpmYWxzZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjE2Ijp7Im9wZW5lZCI6ZmFsc2UsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIxNyI6eyJvcGVuZWQiOmZhbHNlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiMTgiOnsib3BlbmVkIjpmYWxzZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjE5Ijp7Im9wZW5lZCI6ZmFsc2UsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIyMCI6eyJvcGVuZWQiOmZhbHNlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiMjEiOnsib3BlbmVkIjpmYWxzZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjIyIjp7Im9wZW5lZCI6ZmFsc2UsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIyMyI6eyJvcGVuZWQiOmZhbHNlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfX0sImRheSI6OX0sInRyZWVzIjp7Im1pbmltaXplZCI6ZmFsc2UsImxvZ3MiOiI0ODgzNDc2OTk4ODg1ODc3IiwidG90YWxMb2dzIjoiOS41NjEyMjI0Njc5Nzk0NTNlMTUiLCJzYXBsaW5ncyI6IjI0OTIzODIuNzIiLCJyb3cxVXBncmFkZXMiOnsiMCI6eyJib3VnaHQiOnRydWV9LCIxIjp7ImJvdWdodCI6dHJ1ZX0sIjIiOnsiYm91Z2h0Ijp0cnVlfSwiMyI6eyJib3VnaHQiOnRydWV9LCI0Ijp7ImJvdWdodCI6dHJ1ZX19LCJyb3cyVXBncmFkZXMiOnsiMCI6eyJib3VnaHQiOnRydWV9LCIxIjp7ImJvdWdodCI6dHJ1ZX0sIjIiOnsiYm91Z2h0Ijp0cnVlfSwiMyI6eyJib3VnaHQiOnRydWV9LCI0Ijp7ImJvdWdodCI6dHJ1ZX19LCJyb3cxQnV5YWJsZXMiOnsiMCI6eyJhbW91bnQiOiI4ODI2In0sIjEiOnsiYW1vdW50IjoiODgyNiJ9LCIyIjp7ImFtb3VudCI6IjI4ODA4In19LCJtYW51YWxDdXRQcm9ncmVzcyI6IjAuMDAwOTc2NTYyNDk5OTk5OTk4OCIsIm1hbnVhbFBsYW50UHJvZ3Jlc3MiOiIwLjAwMDk3NjU2MjQ5OTk5OTk5ODgiLCJnZW5lcmFsVGFiQ29sbGFwc2VkIjp7fX0sIndvcmtzaG9wIjp7Im1pbmltaXplZCI6ZmFsc2UsImZvdW5kYXRpb25Qcm9ncmVzcyI6MTAwLCJtaWxlc3RvbmVzIjp7ImxvZ0dhaW5NaWxlc3RvbmUxIjp7ImVhcm5lZCI6dHJ1ZX0sImF1dG9DdXRNaWxlc3RvbmUxIjp7ImVhcm5lZCI6dHJ1ZX0sImF1dG9QbGFudE1pbGVzdG9uZTEiOnsiZWFybmVkIjp0cnVlfSwiYXV0b0N1dE1pbGVzdG9uZTIiOnsiZWFybmVkIjp0cnVlfSwiYXV0b1BsYW50TWlsZXN0b25lMiI6eyJlYXJuZWQiOnRydWV9LCJsb2dHYWluTWlsZXN0b25lMiI6eyJlYXJuZWQiOnRydWV9LCJtb3JlUGxhbnRzTWlsZXN0b25lMSI6eyJlYXJuZWQiOnRydWV9LCJsb2dHYWluTWlsZXN0b25lMyI6eyJlYXJuZWQiOnRydWV9LCJleHRyYUV4cGFuc2lvbk1pbGVzdG9uZTEiOnsiZWFybmVkIjpmYWxzZX0sImV4dHJhRXhwYW5zaW9uTWlsZXN0b25lMiI6eyJlYXJuZWQiOmZhbHNlfSwiZXh0cmFFeHBhbnNpb25NaWxlc3RvbmUzIjp7ImVhcm5lZCI6ZmFsc2V9LCJleHRyYUV4cGFuc2lvbk1pbGVzdG9uZTQiOnsiZWFybmVkIjpmYWxzZX0sImV4dHJhRXhwYW5zaW9uTWlsZXN0b25lNSI6eyJlYXJuZWQiOmZhbHNlfX0sImNvbGxhcHNlTWlsZXN0b25lcyI6dHJ1ZX0sImNvYWwiOnsibWluaW1pemVkIjpmYWxzZSwiY29hbCI6IjkuOTk3NzQ2MDU0MTkwNjMyZTE2IiwidG90YWxDb2FsIjoiMS4wMTA5ODA0NjcwMjIxMDY1ZTE3IiwiYXNoIjoiMjQyMjgyNzQ3NjAuMTEzOTk1IiwiYWN0aXZlRmlyZXMiOiIwLjg2NzA0MzA3MDcwNjE5NzEiLCJidWlsZEZpcmUiOnsiYW1vdW50IjoiMC44NjcwNDMwNzA3MDYxOTcxIn0sImFjdGl2ZUJvbmZpcmVzIjoiMTQ4MiIsImJ1aWxkQm9uZmlyZSI6eyJhbW91bnQiOiIxNDgyIn0sImFjdGl2ZUtpbG5zIjoiMTc4IiwiYnVpbGRLaWxuIjp7ImFtb3VudCI6IjE3OCJ9LCJhY3RpdmVEcmlsbHMiOiIzNyIsImJ1aWxkRHJpbGwiOnsiYW1vdW50IjoiMzcifSwid2FybWVyQ3V0dGVycyI6eyJib3VnaHQiOnRydWV9LCJ3YXJtZXJQbGFudGVycyI6eyJib3VnaHQiOnRydWV9LCJiYXNpY0ZlcnRpbGl6ZXIiOnsiYm91Z2h0Ijp0cnVlfSwidW5sb2NrQm9uZmlyZSI6eyJib3VnaHQiOnRydWV9LCJk
`,"./../../saves/Day 11 Complete.txt":"eyJpZCI6ImFkdmVudC1pbmNyZW1lbnRhbC0xIiwiZGV2U3BlZWQiOjAsIm5hbWUiOiJEZWZhdWx0IFNhdmUiLCJ0YWJzIjpbIm1haW4iLCJjb2FsIiwibWV0YWwiLCJvaWwiLCJkeWVzIiwiZWx2ZXMiLCJ0cmVlcyIsImJveGVzIiwicGFwZXIiXSwidGltZSI6MTY3MDg4ODc1Mzk5MywiYXV0b3NhdmUiOnRydWUsIm9mZmxpbmVQcm9kIjpmYWxzZSwib2ZmbGluZVRpbWUiOm51bGwsInRpbWVQbGF5ZWQiOjYzMzg4LjE2NjUxOTM0MjE4LCJrZWVwR29pbmciOmZhbHNlLCJtb2RJRCI6ImFkdmVudC1pbmNyZW1lbnRhbCIsIm1vZFZlcnNpb24iOiIwLjAiLCJsYXllcnMiOnsibWFpbiI6eyJtaW5pbWl6ZWQiOnRydWUsImRheXMiOnsiMCI6eyJvcGVuZWQiOnRydWUsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIxIjp7Im9wZW5lZCI6dHJ1ZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjIiOnsib3BlbmVkIjp0cnVlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiMyI6eyJvcGVuZWQiOnRydWUsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCI0Ijp7Im9wZW5lZCI6dHJ1ZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjUiOnsib3BlbmVkIjp0cnVlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiNiI6eyJvcGVuZWQiOnRydWUsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCI3Ijp7Im9wZW5lZCI6dHJ1ZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjgiOnsib3BlbmVkIjp0cnVlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiOSI6eyJvcGVuZWQiOnRydWUsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIxMCI6eyJvcGVuZWQiOnRydWUsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIxMSI6eyJvcGVuZWQiOmZhbHNlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiMTIiOnsib3BlbmVkIjpmYWxzZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjEzIjp7Im9wZW5lZCI6ZmFsc2UsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIxNCI6eyJvcGVuZWQiOmZhbHNlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiMTUiOnsib3BlbmVkIjpmYWxzZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjE2Ijp7Im9wZW5lZCI6ZmFsc2UsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIxNyI6eyJvcGVuZWQiOmZhbHNlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiMTgiOnsib3BlbmVkIjpmYWxzZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjE5Ijp7Im9wZW5lZCI6ZmFsc2UsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIyMCI6eyJvcGVuZWQiOmZhbHNlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfSwiMjEiOnsib3BlbmVkIjpmYWxzZSwicmVjZW50bHlVcGRhdGVkIjpmYWxzZX0sIjIyIjp7Im9wZW5lZCI6ZmFsc2UsInJlY2VudGx5VXBkYXRlZCI6ZmFsc2V9LCIyMyI6eyJvcGVuZWQiOmZhbHNlLCJyZWNlbnRseVVwZGF0ZWQiOmZhbHNlfX0sImRheSI6MTJ9LCJ0cmVlcyI6eyJtaW5pbWl6ZWQiOmZhbHNlLCJsb2dzIjoiMS41NDM4MDY5MDQxMjI1ODA2ZTE5IiwidG90YWxMb2dzIjoiMS44MDIxODcyNjAwNzAxOThlMjIiLCJ0cmVlcyI6IjEwIiwic2FwbGluZ3MiOiIwIiwicm93MVVwZ3JhZGVzIjp7IjAiOnsicmVzb3VyY2UiOiIxMDI4NDM2MDY2MTA4LjY1OTQiLCJib3VnaHQiOnRydWV9LCIxIjp7InJlc291cmNlIjoiMTAyODQzNjA2NjEwOC42NTk0IiwiYm91Z2h0Ijp0cnVlfSwiMiI6eyJyZXNvdXJjZSI6IjEwMjg0MzYwNjYxMDguNjU5NCIsImJvdWdodCI6dHJ1ZX0sIjMiOnsicmVzb3VyY2UiOiIxMDI4NDM2MDY2MTA4LjY1OTQiLCJib3VnaHQiOnRydWV9LCI0Ijp7InJlc291cmNlIjoiMTAyODQzNjA2NjEwOC42NTk0IiwiYm91Z2h0Ijp0cnVlfX0sInJvdzJVcGdyYWRlcyI6eyIwIjp7InJlc291cmNlIjoiMTAyODQzNjA2NjEwOC42NTk0IiwiYm91Z2h0Ijp0cnVlfSwiMSI6eyJyZXNvdXJjZSI6IjEwMjg0MzYwNjYxMDguNjU5NCIsImJvdWdodCI6dHJ1ZX0sIjIiOnsicmVzb3VyY2UiOiIxMDI4NDM2MDY2MTA4LjY1OTQiLCJib3VnaHQiOnRydWV9LCIzIjp7InJlc291cmNlIjoiMTAyODQzNjA2NjEwOC42NTk0IiwiYm91Z2h0Ijp0cnVlfSwiNCI6eyJyZXNvdXJjZSI6IjEwMjg0MzYwNjYxMDguNjU5NCIsImJvdWdodCI6dHJ1ZX19LCJyb3cxQnV5YWJsZXMiOnsiMCI6eyJyZXNvdXJjZSI6IjEwMjg0MzYwNjYxMDguNjU5NCIsImFtb3VudCI6IjUyNzk3In0sIjEiOnsicmVzb3VyY2UiOiIxMDI4NDM2MDY2MTA4LjY1OTQiLCJhbW91bnQiOiI1Mjc5NyJ9LCIyIjp7InJlc291cmNlIjoiMTAyODQzNjA2NjEwOC42NTk0IiwiYW1vdW50IjoiMzQ3MjMzIn19LCJtYW51YWxDdXRQcm9ncmVzcyI6IjAuMDAwMTIyMDcwMzEyNTAwMDAwMyIsIm1hbnVhbFBsYW50UHJvZ3Jlc3MiOiIwLjAwMDEyMjA3MDMxMjUwMDAwMDMiLCJnZW5lcmFsVGFiQ29sbGFwc2VkIjp7fX0sIndvcmtzaG9wIjp7Im1pbmltaXplZCI6ZmFsc2UsImZvdW5kYXRpb25Qcm9ncmVzcyI6MTAwLCJmb3VuZGF0aW9uQ29udmVyc2lvbiI6eyJiYXNlUmVzb3VyY2UiOiIxMDI4NDM2MDY2MTA4LjY1OTQiLCJnYWluUmVzb3VyY2UiOiIxMDAifSwibWlsZXN0b25lcyI6eyJsb2dHYWluTWlsZXN0b25lMSI6eyJlYXJuZWQiOnRydWV9LCJhdXRvQ3V0TWlsZXN0b25lMSI6eyJlYXJuZWQiOnRydWV9LCJhdXRvUGxhbnRNaWxlc3RvbmUxIjp7ImVhcm5lZCI6dHJ1ZX0sImF1dG9DdXRNaWxlc3RvbmUyIjp7ImVhcm5lZCI6dHJ1ZX0sImF1dG9QbGFudE1pbGVzdG9uZTIiOnsiZWFybmVkIjp0cnVlfSwibG9nR2Fpbk1pbGVzdG9uZTIiOnsiZWFybmVkIjp0cnVlfSwibW9yZVBsYW50c01pbGVzdG9uZTEiOnsiZWFybmVkIjp0cnVlfSwibG9nR2Fpbk1pbGVzdG9uZTMiOnsiZWFybmVkIjp0cnVlfX0sImNvbGxhcHNlTWlsZXN0b25lcyI6dHJ1ZX0sImNvYWwiOnsibWluaW1pemVkIjpmYWxzZSwiY29hbCI6IjEuMTk4OTU3MzM0NjIxNDA0NmUzMiIsInRvdGFsQ29hbCI6IjEuMjUxNTEwMDAxODAxODUzNWUzMyIsImFzaCI6IjcuMDYxODA2ODk2OTU1NDQ3NWUxNiIsImFjdGl2ZUZpcmVzIjoiMCIsImJ1
${G}
${g}`)}}return c[Y]}yl(n,Y=>{Y&&Object.keys(c).forEach(g=>delete c[g])});const h=b(()=>bi.saves.reduce((Y,g)=>(Y[g]=j(g),Y),{}));function v(Y){let g;switch(Je.id===Y?g=Es(Je[Ci]):g=JSON.stringify(h.value[Y]),ni.exportEncoding){default:console.warn(`Unknown save encoding: ${ni.exportEncoding}. Defaulting to lz`);case"lz":g=Gl.compressToUTF16(g);break;case"base64":g=btoa(unescape(encodeURIComponent(g)));break;case"plain":break}const G=document.createElement("textarea");G.value=g,document.body.appendChild(G),G.select(),G.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(G)}function y(Y){Je.id===Y&&Ki();const g={...h.value[Y],id:vn()};Ki(g),bi.saves.push(g.id)}function N(Y){bi.saves=bi.saves.filter(g=>g!==Y),localStorage.removeItem(Y),c[Y]=void 0}function x(Y){h.value[Je.id].time=Je.time,Ki(),c[Je.id]=void 0,Bl(h.value[Y]),c[Y]=void 0}function M(Y){if(r.value=Y,Dl(()=>{r.value=null}),Y[0]!=="{")if(Y[0]==="e")Y=decodeURIComponent(escape(atob(Y)));else if(Y[0]==="\u1BE1")Y=Gl.decompressFromUTF16(Y);else{console.warn("Unable to determine preset encoding",Y);return}const g=JSON.parse(Y);g.id=vn(),Ki(g),bi.saves.push(g.id),x(g.id)}function ne(Y,g){const G=h.value[Y];G&&(G.name=g,Je.id===Y?(Je.name=g,Ki()):(Ki(G),c[Y]=void 0))}return(Y,g)=>(C(),ge(xi,{modelValue:n.value,"onUpdate:modelValue":g[4]||(g[4]=G=>n.value=G),ref_key:"modal",ref:s},{header:Ce(()=>[pr]),body:Ce(({shown:G})=>[G?(C(),ge(m(Xt),{key:0,list:m(bi).saves,handle:".handle",itemKey:_=>_},{item:Ce(({element:_})=>[t(Zr,{save:m(h)[_],onOpen:E=>x(_),onExport:E=>v(_),onEditName:E=>ne(_,E),onDuplicate:E=>y(_),onDelete:E=>N(_)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):ee("",!0)]),footer:Ce(()=>[V("div",yr,[t(Zt,{modelValue:I.value,"onUpdate:modelValue":g[0]||(g[0]=G=>I.value=G),title:"Import Save",placeholder:"Paste your save here!",class:fi({importingFailed:a.value})},null,8,["modelValue","class"]),V("div",hr,[Vr,V("div",Wr,[V("button",{class:"button",onClick:g[1]||(g[1]=G=>x(m(Kl)().id))},"New Game"),Object.keys(m(u)).length>0?(C(),ge(ls,{key:0,options:m(u),modelValue:r.value,"onUpdate:modelValue":g[2]||(g[2]=G=>M(G)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):ee("",!0)])]),V("div",vr,[jr,V("button",{class:"button modal-default-button",onClick:g[3]||(g[3]=G=>n.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var pt=oi(Jr,[["__scopeId","data-v-3b9991aa"]]);const el=e=>(Rl("data-v-8495e562"),e=e(),Hl(),e),fr=["src","alt"],Cr={key:1,class:"title"},wr=el(()=>V("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),gr={class:"discord"},Or={class:"discord-links"},Yr={key:0},Nr=["href"],Xr=el(()=>V("li",null,[V("a",{href:"https://discord.gg/WzejVAx",target:"_blank"},"The Paper Pilot Community")],-1)),Mr=el(()=>V("li",null,[V("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),xr={href:"https://forums.moddingtree.com/",target:"_blank"},Gr=el(()=>V("span",{class:"material-icons"},"forum",-1)),Fr=el(()=>V("span",{class:"material-icons"},"info",-1)),kr=el(()=>V("span",{class:"material-icons"},"library_books",-1)),zr=el(()=>V("span",{class:"material-icons"},"settings",-1)),Sr=el(()=>V("span",{class:"material-icons"},"library_books",-1)),Rr=el(()=>V("span",{class:"material-icons"},"settings",-1)),Hr=el(()=>V("span",{class:"material-icons"},"info",-1)),Lr={href:"https://forums.moddingtree.com/",target:"_blank"},Qr=el(()=>V("span",{class:"material-icons"},"forum",-1)),Tr={class:"discord"},Ur={class:"discord-links"},Er={key:0},Ar=["href"],Br=el(()=>V("li",null,[V("a",{href:"https://discord.gg/WzejVAx",target:"_blank"},"The Paper Pilot Community")],-1)),Dr=el(()=>V("li",null,[V("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),_r=xe({__name:"Nav",setup(e){const l=se(null),n=se(null),s=se(null),a=se(null),{useHeader:I,banner:r,title:d,discordName:u,discordLink:c,versionNumber:j}=ni;function h(){window.open(c,"mywindow")}return(v,y)=>(C(),R(O,null,[m(I)?(C(),R("div",_l({key:
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 Aa();const{globalBus:e}=await Jn(()=>Promise.resolve().then(function(){return Ya}),void 0),{startGameLoop:l}=await Jn(()=>import("./gameLoop.a00b76ae.js"),["assets/gameLoop.a00b76ae.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"]),n=window.vue=gt(Xd);e.emit("setupVue",n),n.mount("#app"),Dl(()=>{const s=Ys(),{updateServiceWorker:a}=xd({onNeedRefresh(){s.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(){a()}})},onOfflineReady(){s.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(I){I&&setInterval(()=>I.update(),60*60*1e3)}})}),l()});export{i as D,Jn as _,Ni as a,ni as b,Em as c,ui as g,$n as l,Je as p,bi as s};